Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.
Usługa App Center Analytics pomaga zrozumieć zachowanie użytkowników i zaangażowanie klientów w celu ulepszenia aplikacji. Zestaw SDK automatycznie przechwytuje liczbę sesji i właściwości urządzenia, takie jak model, wersja systemu operacyjnego itp. Możesz zdefiniować własne zdarzenia niestandardowe, aby mierzyć istotne elementy. Wszystkie przechwycone informacje są dostępne w portalu App Center, aby umożliwić analizę danych.
Postępuj zgodnie z sekcją Wprowadzenie do zestawu SDK , jeśli zestaw SDK nie został jeszcze skonfigurowany w aplikacji.
Informacje o sesji i urządzeniu
Po dodaniu usługi App Center Analytics do aplikacji i uruchomieniu zestawu SDK automatycznie będzie śledzić sesje i właściwości urządzenia, takie jak wersja systemu operacyjnego, model itp. bez konieczności pisania dodatkowego kodu.
Kod kraju
Zestaw SDK automatycznie zgłasza kod kraju użytkownika, jeśli urządzenie ma zainstalowany modem danych mobilnych i kartę SIM. Urządzenia tylko z siecią Wi-Fi nie będą domyślnie zgłaszać kodu kraju. Aby ustawić kod kraju tych użytkowników, musisz samodzielnie pobrać lokalizację użytkownika i użyć setCountryCode: metody w zestawie SDK:
AppCenter.setCountryCode("en");
AppCenter.setCountryCode("en")
Uwaga / Notatka
Aby kod kraju był wyświetlany w sesjach analizy, AppCenter.setCountryCode należy wywołać przed wywołaniem metody AppCenter.start.
Zdarzenia niestandardowe
Możesz śledzić własne zdarzenia niestandardowe z maksymalnie 20 właściwościami , aby zrozumieć interakcję między użytkownikami a aplikacją.
Po uruchomieniu zestawu SDK użyj metody trackEvent() do śledzenia swoich zdarzeń wraz z właściwościami. Możesz wysłać do 200 odrębnych nazw zdarzeń. Ponadto istnieją maksymalne limity znaków:
- 256 znaków na
event name. - 125 znaków na
event property nameievent 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)
Właściwości zdarzeń są całkowicie opcjonalne — jeśli chcesz śledzić zdarzenie, użyj tego przykładu:
Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")
Priorytet zdarzenia i trwałość
Możesz śledzić zdarzenia krytyczne dla działania firmy, które mają większe znaczenie niż inne zdarzenia.
- Deweloperzy mogą ustawiać priorytet zdarzeń jako Normalny (
Flags.NORMALw interfejsie API) lub Krytyczny (Flags.CRITICALw interfejsie API). - Zdarzenia z priorytetem ustawionym jako Krytyczne zostaną pobrane z magazynu najpierw i wysłane przed zdarzeniami normalnymi .
- Gdy magazyn lokalny jest pełny, a nowe zdarzenia muszą być przechowywane, najstarsze zdarzenia o najniższym priorytecie są najpierw usuwane.
- Jeśli pamięć jest pełna logów z priorytetem krytycznym, śledzenie zdarzenia z priorytetem normalnym zakończy się niepowodzeniem, ponieważ zestaw SDK nie może zrobić miejsca w tej sytuacji.
- Jeśli używasz również usługi Awarie , dzienniki awarii są ustawione jako Krytyczne i współużytkują ten sam magazyn co zdarzenia.
- Interwał transmisji jest stosowany tylko do zdarzeń normalnych . Zdarzenia krytyczne będą wysyłane po 3 sekundach.
Do śledzenia zdarzenia jako krytycznego można użyć następującego interfejsu 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.
Wstrzymywanie i wznawianie wysyłania dzienników
Wstrzymanie transmisji zdarzeń może być przydatne w scenariuszach, gdy aplikacja musi kontrolować przepustowość sieci w celu uzyskania bardziej krytycznych potrzeb biznesowych. Możesz wstrzymać wysyłanie dzienników do zaplecza Centrum aplikacji. Po wstrzymaniu zdarzenia mogą być nadal śledzone i zapisywane, ale nie są wysyłane od razu. Wszystkie zdarzenia śledzone przez aplikację podczas wstrzymania będą wysyłane tylko po wywołaniu metody resume.
Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()
Włączanie lub wyłączanie analizy usługi App Center w czasie wykonywania
Możesz włączyć i wyłączyć analizę usługi App Center w czasie wykonywania. Jeśli go wyłączysz, zestaw SDK nie będzie zbierał żadnych dodatkowych informacji analitycznych dla aplikacji.
Analytics.setEnabled(false);
Analytics.setEnabled(false)
Aby ponownie włączyć usługę App Center Analytics, użyj tego samego interfejsu API, ale przekaż true jako parametr.
Analytics.setEnabled(true);
Analytics.setEnabled(true)
Stan jest utrwalany w magazynie urządzenia w ramach uruchamiania aplikacji.
Ten interfejs API jest asynchroniczny. Więcej informacji na ten temat można przeczytać w naszym przewodniku asynchronicznych interfejsów API centrum aplikacji .
Uwaga / Notatka
Ta metoda musi być używana tylko po uruchomieniu Analytics.
Sprawdzanie, czy usługa App Center Analytics jest włączona
Możesz również sprawdzić, czy usługa App Center Analytics jest włączona, czy nie.
Analytics.isEnabled();
Analytics.isEnabled()
Ten interfejs API jest asynchroniczny. Więcej informacji na ten temat można przeczytać w naszym przewodniku asynchronicznych interfejsów API centrum aplikacji .
Uwaga / Notatka
Ta metoda musi być używana tylko po uruchomieniu Analytics. Zawsze zwróci false przed rozpoczęciem.
Zarządzanie sesją początkową
Domyślnie identyfikator sesji zależy od cyklu życia aplikacji. Jeśli chcesz ręcznie kontrolować rozpoczęcie nowej sesji, wykonaj następujące kroki:
Uwaga / Notatka
Zwróć uwagę, że każde wywołanie interfejsu API Analytics.StartSession() spowoduje wygenerowanie nowej sesji. Jeśli w trybie ręcznego śledzenia sesji ten interfejs API nie zostanie wywołany, wszystkie dzienniki wysyłające będą miały wartość sesji o wartości null.
Uwaga / Notatka
Zwróć uwagę, że po uruchomieniu nowej aplikacji identyfikator sesji zostanie ponownie wygenerowany.
- Wywołaj następującą metodę przed uruchomieniem zestawu SDK:
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
- Następnie możesz użyć interfejsu API po wykonaniu
startSessionpoleceniaAppCenter.start:
Analytics.startSession();
Analytics.startSession()
Rozmiar magazynu lokalnego
Domyślnie zestaw SDK przechowuje wszystkie dzienniki zdarzeń do 10 MB. Deweloperzy mogą używać API do zwiększenia przestrzeni magazynowej, a zestaw SDK będzie przechowywać dzienniki aż do całkowitego zapełnienia.
Brak dostępu do Internetu
Jeśli brak jest łączności sieciowej, zestaw SDK może zapisywać maksymalnie 10 MB dzienników w lokalnej pamięci. Po zapełnieniu magazynu zestaw SDK zacznie odrzucać stare dzienniki, aby zapewnić miejsce na nowe dzienniki. Po przywróceniu łączności sieciowej zestaw SDK wysyła dzienniki w partiach po 50 lub co 6 sekund (domyślnie).
Uwaga / Notatka
Logi starsze niż 25 dni nie zostaną zaakceptowane przez backend.
Grupowanie logów zdarzeń
Zestaw SDK centrum aplikacji przekazuje dzienniki w partii 50, a jeśli zestaw SDK nie ma 50 dzienników do wysłania, nadal będzie wysyłać dzienniki po 6 sekundach (domyślnie). Można wysłać maksymalnie trzy partie równolegle. Interwał transmisji można zmienić:
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)
Wartość interwału transmisji musi należeć do zakresu od 6 sekund do 86400 sekund (jeden dzień), a ta metoda musi być wywoływana przed uruchomieniem usługi.
Logika ponawiania i wycofywania
Zestaw SDK usługi App Center obsługuje ponawianie prób w przypadku możliwych do odzyskania błędów sieci. Poniżej znajduje się logika ponawiania prób:
- Maksymalnie 3 próby na każde żądanie.
- Każde żądanie ma własny mechanizm stanu ponawiania.
- Wszystkie kanały transmisji są wyłączone (do następnego procesu aplikacji) po wyczerpaniu wszystkich ponownych prób przez jedno żądanie.
Logika odwlekania
- 50% losowania, najpierw spróbuj ponownie z zakresu od 5 do 10 sekund, następnie spróbuj od 2,5 do 5 minut, spróbuj ostatnio z zakresu od 10 do 20 minut.
- Jeśli sieć zmienia się z wyłączonej na włączoną (lub z wi-fi na mobilną), stany ponawiania są restartowane i żądania są ponawiane natychmiast.