App Center Analytics (Android)
Důležité
31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, existuje několik doporučených alternativ, na které můžete zvážit migraci.
Přečtěte si další informace o časových osách a alternativách podpory.
App Center Analytics vám pomůže porozumět chování uživatelů a zapojení zákazníků, aby se vaše aplikace zlepšila. Sada SDK automaticky zaznamenává počet relací a vlastnosti zařízení, jako je model, verze operačního systému atd. Můžete definovat vlastní události a měřit věci, na kterých vám záleží. Všechny zachycené informace jsou k dispozici na portálu App Center, kde můžete analyzovat data.
Pokud jste ještě sadu SDK ve své aplikaci nenastavili, postupujte podle části Začínáme se sadou SDK .
Informace o relacích a zařízeních
Jakmile do aplikace přidáte App Center Analytics a spustíte sadu SDK, bude automaticky sledovat relace a vlastnosti zařízení, jako je verze operačního systému, model atd., bez nutnosti psát další kód.
Kód země
Sada SDK automaticky hlásí kód země uživatele, pokud má zařízení nainstalovaný mobilní datový modem a SIM kartu. Zařízení, která mají jenom Wi-Fi, ve výchozím nastavení neoznamují kód země. Pokud chcete nastavit kód země těchto uživatelů, musíte načíst polohu uživatele sami a použít metodu setCountryCode:
v sadě SDK:
AppCenter.setCountryCode("en");
AppCenter.setCountryCode("en")
Poznámka
Aby se kód země zobrazoval v relacích Analytics, AppCenter.setCountryCode
musí být volána před voláním AppCenter.start
.
Vlastní události
Můžete sledovat vlastní události s až 20 vlastnostmi , abyste porozuměli interakci mezi uživateli a aplikací.
Po spuštění sady SDK použijte metodu trackEvent()
ke sledování událostí pomocí vlastností. Můžete odeslat až 200 jedinečných názvů událostí. Platí také omezení maximálního počtu znaků:
- 256 znaků na
event name
. - 125 znaků na
event property name
&event property value
.
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");
Analytics.trackEvent("Video clicked", properties);
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties)
Vlastnosti událostí jsou zcela volitelné – pokud chcete jenom sledovat událost, použijte místo toho tuto ukázku:
Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")
Priorita a trvalost událostí
Můžete sledovat důležité obchodní události, které mají vyšší důležitost než jiné události.
- Vývojáři můžou nastavit prioritu událostí jako Normální (
Flags.NORMAL
v rozhraní API) nebo Kritické (Flags.CRITICAL
v rozhraní API). - Události s prioritou nastavenou jako Kritická se nejprve načtou z úložiště a odešlou se před normálními událostmi.
- Když je místní úložiště plné a je potřeba uložit nové události, nejstarší události s nejnižší prioritou se nejprve odstraní.
- Pokud je úložiště plné protokolů s kritickou prioritou, sledování události s normální prioritou selže, protože sada SDK v takovém případě nemůže uvolnit místo.
- Pokud používáte také službu Crashes, protokoly chyb jsou nastavené jako Kritické a sdílejí stejné úložiště jako události.
- Přenosový interval se použije pouze u normálních událostí, kritické události se odešlou po 3 sekundách.
Ke sledování události jako kritické můžete použít následující rozhraní API:
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");
Analytics.trackEvent("eventName", properties, Flags.CRITICAL);
// If you're using name only, you can pass null as properties.
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties, Flags.CRITICAL)
// If you're using name only, you can pass null as properties.
Pozastavení a obnovení odesílání protokolů
Pozastavení přenosu událostí může být užitečné ve scénářích, kdy aplikace potřebuje řídit šířku pásma sítě pro důležitější obchodní potřeby. Odesílání protokolů do back-endu App Center můžete pozastavit. Když jsou události pozastavené, můžou se dál sledovat a ukládat, ale neodesílají se hned. Všechny události, které aplikace sleduje, když je pozastavená, se odešlou jenom po zavolání resume
.
Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()
Povolení nebo zakázání App Center Analytics za běhu
App Center Analytics můžete povolit a zakázat za běhu. Pokud ho zakážete, sada SDK nebude pro aplikaci shromažďovat žádné další analytické informace.
Analytics.setEnabled(false);
Analytics.setEnabled(false)
Pokud chcete znovu povolit App Center Analytics, použijte stejné rozhraní API, ale předejte true
ho jako parametr.
Analytics.setEnabled(true);
Analytics.setEnabled(true)
Stav se v úložišti zařízení během spouštění aplikací udržuje.
Toto rozhraní API je asynchronní. Další informace si o tom můžete přečíst v naší příručce k asynchronním rozhraním API app center .
Poznámka
Tuto metodu je možné použít pouze po Analytics
spuštění.
Kontrola, jestli je služba App Center Analytics povolená
Můžete také zkontrolovat, jestli je služba App Center Analytics povolená nebo ne.
Analytics.isEnabled();
Analytics.isEnabled()
Toto rozhraní API je asynchronní. Další informace si o tom můžete přečíst v naší příručce k asynchronním rozhraním API app center .
Poznámka
Tuto metodu je možné použít pouze po Analytics
spuštění, vždy se vrátí false
před spuštěním.
Správa úvodní relace
ID relace ve výchozím nastavení závisí na životním cyklu aplikace. Pokud chcete řídit zahájení nové relace ručně, postupujte podle následujících kroků:
Poznámka
Věnujte pozornost tomu, že každé volání rozhraní API Analytics.StartSession() vygeneruje novou relaci. Pokud se v režimu ručního sledování relací nebude toto rozhraní API volat, budou mít všechny odesílající protokoly hodnotu relace null.
Poznámka
Věnujte pozornost tomu, že po spuštění nové aplikace se ID relace znovu vygeneruje.
- Před spuštěním sady SDK zavolejte následující metodu:
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
- Pak můžete rozhraní API použít
startSession
po :AppCenter.start
Analytics.startSession();
Analytics.startSession()
Velikost místního úložiště
Ve výchozím nastavení sada SDK ukládá všechny protokoly událostí až do 10 MB. Vývojáři můžou pomocí rozhraní API zvětšit velikost úložiště a sada SDK bude dál ukládat protokoly, dokud nebude úložiště plné.
Bez přístupu k internetu
Pokud není připojení k síti, sada SDK uloží do místního úložiště až 10 MB protokolů. Po zaplnění úložiště začne sada SDK zahazovat staré protokoly, aby uvolnila místo pro nové protokoly. Jakmile se připojení k síti vrátí, sada SDK odesílá protokoly v dávce 50 nebo po každých 6 sekundách (ve výchozím nastavení).
Poznámka
Back-end nepřijímá protokoly starší než 25 dnů.
Dávkové protokoly událostí
Sada App Center SDK nahraje protokoly v dávce 50, a pokud sada SDK nemá 50 protokolů k odeslání, bude protokoly odesílat i po 6 sekundách (ve výchozím nastavení). Paralelně se můžou odesílat maximálně tři dávky. Interval přenosu lze změnit:
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)
Hodnota přenosového intervalu musí být v rozmezí od 6 sekund do 86400 sekund (jeden den) a tato metoda musí být volána před spuštěním služby.
Logika opakování a zpětného vypnutí
Sada App Center SDK podporuje opakované pokusy o obnovení v síti. Níže je logika opakování:
- 3 pokusy o maximální počet pokusů na žádost.
- Každý požadavek má svůj vlastní počítač se stavem opakování.
- Všechny přenosové kanály jsou zakázány (až do dalšího procesu aplikace) poté, co jeden požadavek vyčerpá všechny své opakování.
Logika zálohování
- 50% náhodnost, první opakování mezi 5 a 10 sekund, další pokus mezi 2,5 a 5 minut, poslední pokus mezi 10 a 20 minut.
- Pokud se síť přepne z vypnuté na zapnuto (nebo z wi-fi na mobilní), stavy opakování se resetují a žádosti se okamžitě opakují.