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 plikuanalytics.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. }