Sesje – pakiet SDK do Androida w wersji 2 (starsza wersja)

Ten dokument zawiera ogólny przegląd sesji w Analytics dla aplikacji mobilnych Google i w pakiecie SDK Google Analytics na Androida w wersji 2 oraz zawiera opis różnych metod zarządzania sesjami w aplikacji.

Przegląd

Sesja reprezentuje jeden okres interakcji użytkownika z aplikacją. Sesje stanowią przydatne kontenery mierzonych działań, które obejmują wyświetlenia ekranu, zdarzenia i transakcje e-commerce.

Domyślnie Google Analytics grupuje działania odebrane w ciągu 30 minut w ramach tej samej sesji. Wielu deweloperów może jednak chcieć wdrożyć dodatkową warstwę zarządzania sesjami, która uwzględnia stan aplikacji, np. czas pracy aplikacji w tle i czas jej trwania.

W dalszej części tego dokumentu znajdziesz opis metod dostępnych do wdrożenia tej logiki. Masz do wyboru różne opcje: od w pełni zautomatyzowanego zarządzania sesjami przez EasyTracker po ręczne utworzenie własnej logiki zarządzania sesjami lub połączenie obu tych metod.

Zarządzanie sesjami

W sekcji poniżej opisujemy dostępne metody zarządzania sesjami w aplikacji.

Zautomatyzowane zarządzanie sesjami za pomocą EasyTracker

EasyTracker umożliwia automatyczne zarządzanie sesjami, które może obsłużyć za Ciebie uruchamianie nowych sesji. Oto omówienie działania automatycznego zarządzania sesjami:

  • W implementacji domyślnej limit czasu sesji wynosi 30 sekund. Limit czasu możesz zmienić, modyfikując parametr ga_sessionTimeout w pliku analytics.xml:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • Jeśli aplikacja pozostaje w tle dłużej, niż wynosi limit czasu sesji, EasyTracker oznaczy potrzebę utworzenia nowej sesji, a następne działanie stanie się częścią nowej sesji.

Ręczne zarządzanie sesjami

Nawet jeśli korzystasz z automatycznego zarządzania sesjami w EasyTracker, warto ręcznie uruchamiać nowe sesje w kluczowych zdarzeniach cyklu życia aplikacji.

Dobrym przykładem może być ręczne rozpoczęcie nowej sesji za każdym razem, gdy użytkownik zaloguje się w Twojej aplikacji. Ponieważ intencje użytkownika dotyczące korzystania z aplikacji mogły się zmienić lub może to być inny użytkownik, rozpoczęcie nowej sesji po zalogowaniu się pozwoli oddzielić dane o korzystaniu i sprawić, że będą bardziej czytelne w raportach.

Aby rozpocząć nową sesję, zadzwoń pod numer setStartSession(true) . Spowoduje to dodanie do następnego wysłanego działania parametru wskazującego, że powinno ono rozpocząć nową sesję.

W poniższym przykładzie zakładamy, że funkcja onSignIn() jest wywoływana za każdym razem, gdy użytkownik zaloguje się w Twojej aplikacji:

// Called after a user successfully signs in to your app.
private void onSignIn() {
  ... // The rest of your onSignIn() code.
  myTracker.setStartSession(true); // Where myTracker is an instance of Tracker.
  myTracker.sendEvent("app_flow", "sign_in", "", null); // First activity of new session.
}