Megosztás:


App Center Analytics (Android)

Fontos

A Visual Studio App Center 2025. március 31-én megszűnt, kivéve az Elemzési és diagnosztikai funkciókat, amelyek 2026. június 30-ig továbbra is támogatottak lesznek. Tudj meg többet.

Az App Center Analytics segít megérteni a felhasználói viselkedést és az ügyfelek bevonását az alkalmazás fejlesztéséhez. Az SDK automatikusan rögzíti a munkamenetek számát és az eszköz tulajdonságait, például a modellt, az operációs rendszer verzióját stb. Saját egyéni eseményeket is meghatározhat, hogy felmérje az Ön számára fontos dolgokat. Minden rögzített információ elérhető az App Center portálon az adatok elemzéséhez.

Ha még nem állította be az SDK-t az alkalmazásban, kövesse az SDK Első lépések szakaszát.

Munkamenet- és eszközinformációk

Miután hozzáadta az App Center Analyticset az alkalmazáshoz, és elindítja az SDK-t, automatikusan nyomon követi a munkameneteket és az eszköz tulajdonságait, például az operációs rendszer verzióját, modelljét stb. anélkül, hogy további kódot ír.

Országkód

Az SDK automatikusan jelenti a felhasználó országkódját, ha az eszközre mobiladat-modem és SIM-kártya van telepítve. A csak wi-fi rendszerű eszközök alapértelmezés szerint nem jelentenek országkódot. A felhasználók országkódjának beállításához saját maga kell lekérnie a felhasználó helyét, és az SDK-ban használnia kell a setCountryCode: metódust:

AppCenter.setCountryCode("en");
AppCenter.setCountryCode("en")

Megjegyzés:

Ahhoz, hogy az országkód megjelenjen az Analytics-munkamenetekben, AppCenter.setCountryCode a hívás AppCenter.startelőtt meg kell hívni.

Egyéni események

A felhasználók és az alkalmazás közötti interakció megértéséhez akár 20 tulajdonsággal is nyomon követheti saját egyéni eseményeit.

Miután elindította az SDK-t, a trackEvent() metódussal tulajdonságokkal követheti nyomon az eseményeket. Legfeljebb 200 különböző eseménynevet küldhet el. Emellett maximális karakterkorlátok is vannak:

  • 256 karakter per event name.
  • 125 karakter per 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)

Az események tulajdonságai teljesen opcionálisak – ha csak nyomon szeretne követni egy eseményt, használja inkább ezt a mintát:

Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")

Esemény prioritása és megőrzése

Nyomon követheti az üzletileg kritikus eseményeket, amelyek nagyobb jelentőséggel bírnak, mint más események.

  • A fejlesztők az események prioritását normálként (Flags.NORMAL az API-ban) vagy kritikusként (Flags.CRITICAL az API-ban) állíthatják be.
  • A kritikusként beállított prioritású eseményeket a rendszer először lekéri a tárolóból, és a normál események előtt küldi el.
  • Ha a helyi tároló megtelt, és új eseményeket kell tárolni, a rendszer először a legalacsonyabb prioritású legrégebbi eseményeket törli.
  • Ha a tároló tele van kritikus prioritású naplókkal, akkor a Normál prioritású események nyomon követése meghiúsul, mivel az SDK ebben az esetben nem tud helyet biztosítani.
  • Ha az Összeomlások szolgáltatást is használja, az összeomlási naplók kritikusként vannak beállítva, és ugyanazt a tárterületet használják, mint az események.
  • Az átviteli időköz csak normál eseményekre vonatkozik, a kritikus események 3 másodperc után lesznek elküldve.

Az alábbi API-val kritikusként követheti nyomon az eseményeket:

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.

Naplók küldésének szüneteltetése és folytatása

Az eseményátvitel szüneteltetése olyan helyzetekben lehet hasznos, amikor az alkalmazásnak a hálózati sávszélességet kell szabályoznia az üzleti szempontból kritikusabb igények kielégítéséhez. Szüneteltetheti a naplók App Center-háttérrendszerbe való küldését. A szüneteltetéskor az események továbbra is nyomon követhetők és menthetők, de nem küldhetők el azonnal. Az alkalmazás által követett eseményeket, amelyek szünetelnek, csak akkor küldi el, miután a resume hívás megtörtént.

Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()

Az App Center Analytics engedélyezése vagy letiltása futásidőben

Az App Center Analytics futásidőben engedélyezhető és letiltható. Ha letiltja, az SDK nem gyűjt további elemzési adatokat az alkalmazáshoz.

Analytics.setEnabled(false);
Analytics.setEnabled(false)

Az App Center Analytics ismételt engedélyezéséhez használja ugyanazt az API-t, de adja át true paraméterként.

Analytics.setEnabled(true);
Analytics.setEnabled(true)

Az állapot megmarad az eszköz tárolójában az alkalmazásindítások során.

Ez az API aszinkron, erről az App Center Aszinkron API-k útmutatójában olvashat bővebben.

Megjegyzés:

Ezt a módszert csak akkor szabad használni, ha a Analytics már elindult.

Ellenőrizze, hogy engedélyezve van-e az App Center Analytics

Azt is ellenőrizheti, hogy az App Center Analytics engedélyezve van-e.

Analytics.isEnabled();
Analytics.isEnabled()

Ez az API aszinkron, erről az App Center Aszinkron API-k útmutatójában olvashat bővebben.

Megjegyzés:

Ezt a metódust csak akkor szabad használni, ha a Analytics már elindult. Mindig visszaad false a kezdés előtt.

Indítási munkamenet kezelése

Alapértelmezés szerint a munkamenet-azonosító az alkalmazás életciklusától függ. Ha manuálisan szeretné szabályozni az új munkamenet kezdetét, kövesse a következő lépéseket:

Megjegyzés:

Figyelje meg, hogy az Analytics.StartSession() API minden egyes hívása új munkamenetet hoz létre. Ha manuális munkamenet-követő módban ez az API nem lesz meghívva, akkor az összes küldő napló null munkamenet-értékkel fog rendelkezni.

Megjegyzés:

Ügyeljen arra, hogy egy új alkalmazás elindítása után a munkamenet-azonosító újra létre lesz hozva.

  • Az SDK indítása előtt hívja meg a következő metódust:
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
  • Ezután használhatja az API-t a startSessionAppCenter.startkövetkező után:
Analytics.startSession();
Analytics.startSession()

Helyi tárterület mérete

Alapértelmezés szerint az SDK az összes eseménynaplót legfeljebb 10 MB-ig tárolja. A fejlesztők api-val növelhetik a tárterület méretét , és az SDK a tárterület megteltéig tárolja a naplókat.

Nincs internet-hozzáférés

Ha nincs hálózati kapcsolat, az SDK legfeljebb 10 MB naplót ment a helyi tárolóba. Miután megtelt a tárterület, az SDK elkezdi elvetni a régi naplókat, hogy helyet biztosítsunk az új naplóknak. A hálózati kapcsolat visszatérése után az SDK 50 vagy 6 másodpercenként küld naplókat (alapértelmezés szerint).

Megjegyzés:

A háttérrendszer nem fogadja el a 25 napnál régebbi naplókat.

Eseménynaplók kötegelése

Az App Center SDK egy 50-ből álló kötegben tölti fel a naplókat, és ha az SDK-nak nincs 50 elküldendő naplója, akkor is 6 másodperc után (alapértelmezés szerint) elküldi a naplókat. Egyszerre legfeljebb három köteg küldhető el. Az átviteli időköz módosítható:

// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)

Az átviteli időköz értékének 6 másodperc és 86400 másodperc (egy nap) között kell lennie, és ezt a metódust a szolgáltatás elindítása előtt kell meghívni.

Újrapróbálkozási és visszalépési logika

Az App Center SDK támogatja a helyreállítható hálózati hibák visszalépési újrapróbálkozását. Az alábbiakban az újrapróbálkozás logikája látható:

  • Kérésenként legfeljebb 3 próbálkozás.
  • Minden kérelemnek megvan a saját újrapróbálkozási állapotgépe.
  • Az összes átviteli csatorna le van tiltva (a következő alkalmazásfolyamatig), miután egy kérés kimeríti az összes újrapróbálkozást.

Visszalépési mechanizmus

  • 50% véletlenszerűség, először próbálkozzon újra 5 és 10 másodperc között, majd próbálkozzon 2,5 és 5 perc között, utolsó próbálkozás 10 és 20 perc között.
  • Ha a hálózat kikapcsolt állapotból bekapcsolt állapotba vált (vagy wi-fi-ról mobilra), az újrapróbálkozási állapotok alaphelyzetbe állítódnak, és a kérések azonnal újra megkísérelnek.