Rozsyłanie – pakiet SDK do Androida w wersji 2 (starsza wersja)

Z tego dokumentu dowiesz się, jak zarządzać przesyłaniem danych do Google Analytics za pomocą pakietu SDK Google Analytics na Androida w wersji 2.

Przegląd

W pakiecie SDK Google Analytics na Androida 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 odstępie czasu, który określisz automatycznie lub w pliku analytics.xml.
  • 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 wersji 2 pakietu SDK oba typy wysyłania są realizowane poza głównym wątkiem interfejsu użytkownika.

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 30 minut. Możesz podać własny przedział w sekundach, używając parametru ga_dispatchPeriod w pliku analytics.xml lub wywołując setDispatchPeriod(int dispatchPeriodInSeconds) jak w tym przykładzie:

W pliku analytics.xml:

<integer name="ga_dispatchPeriod">60</integer>

Automatycznie:

GAServiceManager.getInstance().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 za pomocą instancji GAServiceManager:

GAServiceManager.getInstance().dispatch();