Ten dokument zawiera ogólny przegląd sesji w Analytics dla aplikacji mobilnych Google i pakiecie SDK Google Analytics na iOS w wersji 2 oraz opisuje różne metody 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.
Automatyczne zarządzanie sesjami
Pakiet SDK Google Analytics na iOS 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.
Czas oczekiwania możesz zmienić, wywołując
setSessionTimeout:(NSTimeInterval)
:[tracker setSessionTimeout:60];
- Jeśli aplikacja pozostaje w tle dłużej niż wynosi limit czasu sesji, następne działanie będzie częścią nowej sesji.
Ręczne zarządzanie sesjami
Przydatne może być ręczne uruchamianie nowych sesji w kluczowych zdarzeniach w 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ę, ustaw sessionStart
na YES
.
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. - (void)onSignIn { ... // The rest of your onSignIn code. tracker.sessionStart = YES; [tracker sendEventWithCategory:@"app_flow" withAction:@"sign_in" withLabel:nil withValue:nil]; // First activity of new session. }