Sesje – pakiet SDK na iOS

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.

}