Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Viktigt!
Visual Studio App Center drogs tillbaka den 31 mars 2025, förutom analys- och diagnostikfunktionerna, som fortsätter att stödjas fram till den 30 juni 2026. Läs mer.
App Center Analytics hjälper dig att förstå användarbeteende och kundengagemang för att förbättra din app. SDK samlar automatiskt in sessionsantal och enhetsegenskaper som modell, operativsystemversion osv. Du kan definiera dina egna anpassade händelser för att mäta saker som är viktiga för dig. All information som samlas in är tillgänglig i App Center-portalen så att du kan analysera data.
Följ avsnittet Komma igång med SDK om du inte har konfigurerat SDK:t i ditt program ännu.
Information om sessioner och enheter
När du har lagt till App Center Analytics i din app och startat SDK:n spårar den automatiskt sessioner och enhetsegenskaper som os-version, modell osv. utan att skriva någon ytterligare kod.
Landskod
SDK rapporterar automatiskt en användares landskod om enheten har ett mobilt datamodem och ett SIM-kort installerat. WiFi-enheter rapporterar inte någon landskod som standard. Om du vill ange landskoden för dessa användare måste du hämta användarens plats själv och använda setCountryCode: metoden i SDK:
AppCenter.setCountryCode("en");
AppCenter.setCountryCode("en")
Anmärkning
För att landskoden ska visas på Analytics-sessioner AppCenter.setCountryCode måste anropas innan du anropar AppCenter.start.
Anpassade händelser
Du kan spåra dina egna anpassade händelser med upp till 20 egenskaper för att förstå interaktionen mellan dina användare och appen.
När du har startat SDK använder du trackEvent() metoden för att spåra händelser med egenskaper. Du kan skicka upp till 200 distinkta händelsenamn. Dessutom finns det maximala teckengränser:
- 256 tecken per
event name. - 125 tecken 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)
Egenskaper för händelser är helt valfria – om du bara vill spåra en händelse använder du det här exemplet i stället:
Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")
Händelseprioritet och beständighet
Du kan spåra affärskritiska händelser som har högre prioritet än andra händelser.
- Utvecklare kan ange prioriteten för händelser som Normal (
Flags.NORMALi API:et) eller Kritisk (Flags.CRITICALi API:et). - Händelser med prioritet som Kritisk hämtas först från lagringen och skickas före normala händelser.
- När den lokala lagringen är full och nya händelser måste lagras tas de äldsta händelserna med lägst prioritet bort först.
- Om lagringen är full av loggar med kritisk prioritet misslyckas spårningen av en händelse med normal prioritet eftersom SDK:t inte kan göra plats i det fallet.
- Om du också använder tjänsten Crashs anges kraschloggar som Kritiska och delar samma lagring som händelser.
- Överföringsintervallet tillämpas endast på normala händelser. Kritiska händelser skickas efter 3 sekunder.
Du kan använda följande API för att spåra en händelse som kritisk:
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.
Pausa och återuppta sändning av loggar
Att pausa händelseöverföringen kan vara användbart i scenarier när appen behöver styra nätverksbandbredden för mer affärskritiska behov. Du kan pausa sändningsloggarna till App Center-serverdelen. När du har pausat kan händelser fortfarande spåras och sparas, men de skickas inte direkt. Händelser som appen spårar när den är pausad skickas bara när du anropar resume.
Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()
Aktivera eller inaktivera App Center Analytics vid körning
Du kan aktivera och inaktivera App Center Analytics under körning. Om du inaktiverar det samlar SDK inte in mer analysinformation för appen.
Analytics.setEnabled(false);
Analytics.setEnabled(false)
Om du vill aktivera App Center Analytics igen använder du samma API men skickar true som en parameter.
Analytics.setEnabled(true);
Analytics.setEnabled(true)
Tillståndet sparas i enhetens lagring mellan programstarter.
Det här API:et är asynkront, du kan läsa mer om det i vår Asynkrona API:er för App Center .
Anmärkning
Den här metoden får endast användas efter att Analytics har startats.
Kontrollera om App Center Analytics är aktiverat
Du kan också kontrollera om App Center Analytics är aktiverat eller inte.
Analytics.isEnabled();
Analytics.isEnabled()
Det här API:et är asynkront, du kan läsa mer om det i vår Asynkrona API:er för App Center .
Anmärkning
Den här metoden får endast användas efter att Analytics har startats; den kommer alltid att returnera false före start.
Hantera startsessionen
Som standard beror sessions-ID:t på programmets livscykel. Om du vill styra starten av en ny session manuellt följer du nästa steg:
Anmärkning
Var uppmärksam på att varje anrop av Analytics.StartSession() API genererar en ny session. Om det här API:et inte anropas i läget för manuell sessionsspårare har alla sändande loggar ett null-sessionsvärde.
Anmärkning
Var uppmärksam på att sessions-ID:t kommer att återskapas när ett nytt program startas.
- Anropa följande metod innan SDK:et startar:
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
- Sedan kan du använda
startSessionAPI:et efterAppCenter.start.
Analytics.startSession();
Analytics.startSession()
Lokal lagringsstorlek
Som standard lagrar SDK:et alla händelseloggar upp till 10 MB. Utvecklare kan använda ett API för att öka lagringsstorleken och SDK:n fortsätter att lagra loggar tills lagringen är full.
Ingen internetåtkomst
När det inte finns någon nätverksanslutning sparar SDK upp till 10 MB loggar i den lokala lagringen. När lagringen är full börjar SDK:n ta bort gamla loggar för att göra plats för de nya loggarna. När nätverksanslutningen är återställd skickar SDK:n loggar i batchar om 50 eller var sjätte sekund (som standard).
Anmärkning
Loggar som är äldre än 25 dagar accepteras inte av serverdelen.
Batchbearbetning av händelseloggar
App Center SDK laddar upp loggar i en batch på 50 och om SDK:t inte har 50 loggar att skicka skickas loggarna fortfarande efter 6 sekunder (som standard). Det kan finnas högst tre batchar som skickas parallellt. Överföringsintervallet kan ändras:
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)
Överföringsintervallvärdet måste vara mellan 6 sekunder och 8 6400 sekunder (en dag) och den här metoden måste anropas innan tjänsten startas.
Logik för återförsök och avstigning
App Center SDK stöder back-off-återförsök vid återställningsbara nätverksfel. Nedan visas logiken för återförsök:
- 3 försök maximalt per begäran.
- Varje begäran har en egen återförsökstillståndsmaskin.
- Alla överföringskanaler är inaktiverade tills nästa gång appen körs, efter att alla omförsök för en begäran har förbrukats.
Återgångslogik
- 50% randomisering, försök först igen mellan 5 och 10 sekunder, försök sedan mellan 2,5 och 5 minuter, senaste försök mellan 10 och 20 minuter.
- Om nätverket växlar från av till på (eller från wi-fi till mobil) återställs återförsökstillstånden och begäranden görs om omedelbart.