W tym dokumencie opisujemy, jak zarządzać wysyłaniem danych do Google Analytics za pomocą pakietu SDK Google Analytics na iOS w wersji 2.
Przegląd
W pakiecie SDK Google Analytics na iOS zebrane dane, takie jak wyświetlenia ekranu czy zdarzenia, są przechowywane lokalnie w kolejce przed wysłaniem na serwery Google Analytics. Proces wysyłania tych danych (nazywanych tutaj „działaniami”) z pakietu SDK do Google Analytics nazywa się wysyłaniem.
Funkcja wysyłania jest dostępna tylko w bibliotekach kolekcji mobilnych i ma na celu łagodzenie problemów związanych z niestabilnym dostępem do sieci i ograniczonym czasem pracy na baterii.
Istnieją 2 rodzaje wysyłki:
- Wysyłka okresowa – automatycznie wysyła działania w cyklicznym, określonym przez Ciebie przedziale czasu.
- Wysyłanie ręczne – ręcznie wysyłaj działania, aby wysyłać dane, gdy jest to dogodne dla Ciebie, na przykład gdy masz połączenie HTTP.
W dalszej części tego dokumentu znajdziesz bardziej szczegółowe informacje o poszczególnych typach wysyłania i sposobach ich wdrażania w aplikacji.
Okresowa dostawa
Gdy aplikacja zbiera dane Google Analytics, są one dodawane do kolejki i okresowo wysyłane do Google Analytics. Okresowe wysyłanie aplikacji może odbywać się wtedy, gdy aplikacja działa na pierwszym planie lub w tle.
Domyślny okres wysyłki to 2 minuty.
Własny interwał w sekundach możesz określić, wywołując setDispatchPeriod:(NSTimeInterval)
jak w tym przykładzie:
[[GAI sharedInstance] setDispatchPeriod:60];
Ustawienie wartości ujemnej spowoduje wyłączenie okresowej wysyłki, co będzie wymagało wysyłki ręcznej, jeśli chcesz wysyłać dane do Google Analytics. Z drugiej strony ustawienie wartości 0
spowoduje, że każde działanie będzie wysyłane natychmiast, jeśli będzie dostępne połączenie sieciowe.
Po wysłaniu wszystkich trafień okresowa komunikacja przechodzi w tryb oszczędzania energii i wyłącza ją do czasu nawiązania kolejnego wywołania.
Jeśli użytkownik utraci dostęp do sieci lub zamknie aplikację, gdy są jeszcze działania oczekujące na wysłanie, te działania zostaną zachowane w pamięci lokalnej. Zostaną one wysłane przy następnym uruchomieniu aplikacji i wywołaniu metody wysyłania.
Wysyłka ręczna
Oprócz polegania na co jakiś czas może się zdarzyć, że zechcesz wysyłać działania ręcznie. Możesz na przykład połączyć swoje dyspozycje z innymi żądaniami HTTP wysyłanymi przez Twoją aplikację, aby zmniejszyć koszty.
Działania można wysyłać ręcznie, wywołując dispatch
, jak pokazano poniżej:
[[GAI sharedTracker] dispatch];