Delen via


App Center Analytics (React Native)

Belangrijk

Visual Studio App Center is op 31 maart 2025 buiten gebruik gesteld, met uitzondering van de functies analyse en diagnose, die tot 30 juni 2026 nog steeds worden ondersteund. Meer informatie.

App Center Analytics helpt u inzicht te hebben in gebruikersgedrag en klantbetrokkenheid om uw app te verbeteren. De SDK legt automatisch het aantal sessies en apparaateigenschappen vast, zoals model, besturingssysteemversie, enzovoort. U kunt uw eigen aangepaste gebeurtenissen definiëren om dingen te meten die voor u belangrijk zijn. Alle vastgelegde gegevens zijn beschikbaar in de App Center-portal om de gegevens te analyseren.

Volg de sectie Aan de slag als u de SDK nog niet hebt ingesteld in uw toepassing.

Sessie- en apparaatgegevens

Zodra u App Center Analytics aan uw app hebt toegevoegd en de SDK is gestart, worden sessies en apparaateigenschappen, zoals versie van het besturingssysteem, model, enzovoort, automatisch bijgehouden.

Aangepaste gebeurtenissen

Houd uw eigen aangepaste gebeurtenissen bij met maximaal 20 eigenschappen om inzicht te hebben in de interactie tussen uw gebruikers en de app.

Zodra u de SDK hebt gestart, gebruikt u de trackEvent methode om uw gebeurtenissen bij te houden met eigenschappen. U kunt maximaal 200 afzonderlijke gebeurtenisnamen verzenden. Er geldt ook een maximumlimiet van 256 tekens per gebeurtenisnaam en 125 tekens per gebeurteniseigenschapsnaam en waarde van gebeurteniseigenschap.

// import App Center Analytics at the top of the file.
import Analytics from 'appcenter-analytics';

Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' });

Deze functie retourneert een belofte, de succescase retourneert een lege tekenreeks en de foutcase retourneert de fout.

Eigenschappen voor gebeurtenissen zijn optioneel; Als u alleen een gebeurtenis wilt bijhouden, gebruikt u dit in plaats daarvan:

Analytics.trackEvent('Video clicked');

App Center Analytics tijdens runtime in- of uitschakelen

U kunt App Center Analytics tijdens runtime in- en uitschakelen. Als u deze uitschakelt, verzamelt de SDK geen analysegegevens voor de app.

await Analytics.setEnabled(false);

Deze functie retourneert een belofte die wordt omgezet in ongeldigheid.

Als u App Center Analytics opnieuw wilt inschakelen, gebruikt u dezelfde API, maar geeft u deze door true als een parameter.

await Analytics.setEnabled(true);

De status blijft behouden in de opslag van het apparaat tijdens het starten van de toepassing.

Controleren of App Center Analytics is ingeschakeld

U kunt ook controleren of App Center Analytics is ingeschakeld of niet.

const enabled = await Analytics.isEnabled();

Deze functie retourneert een belofte die wordt omgezet in een boolean.

Wacht totdat JS App Center Analytics inschakelt

Als u analysegegevens wilt verzamelen voor uw app-gebruikers, maar eerst gebruikersmachtigingen wilt krijgen, hebt u de mogelijkheid om analyses bij het opstarten niet in te schakelen, maar wacht u tot de juiste tijd en schakelt u deze in JavaScript in.

  1. Open het ios/YourAppName/AppDelegate.m bestand van het project en vervang [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; door [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];.
  2. Open het android/app/src/main/res/values/strings.xml bestand van het project en vervang <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string> door <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ENABLE_IN_JS</string>.

Dit betekent dat u App Center Analytics eerst moet inschakelen door de volgende regel code toe te voegen voor alle informatie die naar App Center Center moet worden verzonden (zelfs basissessiegegevens):

await Analytics.setEnabled(true);

Startsessie beheren

De sessie-id is standaard afhankelijk van de levenscyclus van de toepassing. Als u het begin van een nieuwe sessie handmatig wilt beheren, volgt u de volgende stappen:

Opmerking

Let erop dat elke aanroep van de API analytics.StartSession() een nieuwe sessie genereert. Als deze API niet wordt aangeroepen in de handmatige sessietrackermodus, hebben alle verzendende logboeken een null-sessiewaarde.

Opmerking

Let op: nadat een nieuwe toepassing is gestart, wordt de sessie-id opnieuw gegenereerd.

Als u de SDK voor het handmatig bijhouden van sessies wilt configureren, moet u de systeemeigen Analytics-API's enableManualSessionTracker gebruiken:

  • Roep in iOS [MSACAnalytics enableManualSessionTracker]; aan voordat u [AppCenterReactNative register]; in de gedelegeerde methode van de app didFinishLaunchingWithOptions in AppDelegate.m aanroept. Voeg @import AppCenterAnalytics toe als het ontbreekt in dat bestand.

  • Roep in Android Analytics.enableManualSessionTracker(); aan voordat SoLoader.init in de methode onCreate in MainApplication.java. Voeg import com.microsoft.appcenter.analytics.Analytics toe als deze ontbreekt in dat bestand.

Vervolgens kunt u de startSession API in uw React Native-project gebruiken:

Analytics.startSession();

Lokale opslaggrootte

De SDK slaat standaard maximaal 10 MB aan logboeken op in de opslag.

Geen internettoegang

Als er geen netwerkverbinding is, slaat de SDK maximaal 10 MB aan logboeken op in de lokale opslag. Zodra de opslag vol is, zal de SDK beginnen met het verwijderen van oude logboeken om ruimte te maken voor nieuwe logboeken. Zodra het apparaat weer internettoegang krijgt, verzendt de SDK logboeken in de batch van 50 of na elke 6 seconden.

Batchverwerking van gebeurtenislogboeken

De App Center SDK uploadt logboeken in een batch van 50 en als de SDK geen 50 logboeken heeft om te verzenden, worden er na 6 seconden nog steeds logboeken verzonden. Er kunnen maximaal drie batches parallel worden verzonden.

Logica voor opnieuw proberen en terugtrekken

App Center SDK biedt ondersteuning voor back-off-pogingen bij herstelbare netwerkfouten. Hieronder ziet u de logica voor opnieuw proberen:

  • 3 pogingen maximum per aanvraag.
  • Elke aanvraag heeft een eigen machine voor opnieuw proberen.
  • Alle transmissiekanalen zijn uitgeschakeld (tot het volgende app-proces) nadat één aanvraag alle nieuwe pogingen heeft uitgeput.

Terugtreklogica

  • 50% randomisatie, eerste poging tussen 5 en 10 seconden, tweede poging tussen 2,5 en 5 minuten, laatste poging tussen 10 en 20 minuten.
  • Als het netwerk van off naar on (of van wi-fi naar mobiel) schakelt, worden statussen voor opnieuw proberen opnieuw ingesteld en worden aanvragen onmiddellijk opnieuw geprobeerd.