App Center Analytics (React Native)

Importante

Visual Studio App Center è previsto per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate che è possibile considerare la migrazione a.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

App Center Analytics consente di comprendere il comportamento degli utenti e il coinvolgimento dei clienti per migliorare l'app. L'SDK acquisisce automaticamente il conteggio delle sessioni e le proprietà del dispositivo, ad esempio modello, versione del sistema operativo e così via. È possibile definire gli eventi personalizzati per misurare le cose che importa. Tutte le informazioni acquisite sono disponibili nel portale di App Center per analizzare i dati.

Seguire la sezione Introduzione se non è ancora stato configurato l'SDK nell'applicazione.

Informazioni sulla sessione e sul dispositivo

Dopo aver aggiunto App Center Analytics all'app e l'SDK viene avviato, tiene traccia automaticamente delle sessioni e delle proprietà del dispositivo, ad esempio Versione del sistema operativo, modello e così via.

Eventi personalizzati

Tenere traccia dei propri eventi personalizzati con fino a 20 proprietà per comprendere l'interazione tra gli utenti e l'app.

Dopo aver avviato l'SDK, usare il trackEvent metodo per tenere traccia degli eventi con le proprietà. È possibile inviare fino a 200 nomi di eventi distinti. È inoltre previsto un limite massimo di 256 caratteri per nome evento e 125 caratteri per nome della proprietà evento e valore della proprietà evento.

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

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

Questa funzione restituisce una promessa, il caso di esito positivo restituisce una stringa vuota e il caso di errore restituisce l'errore.

Le proprietà per gli eventi sono facoltative; se si vuole solo tenere traccia di un evento, usare questa opzione:

Analytics.trackEvent('Video clicked');

Abilitare o disabilitare App Center Analytics in fase di esecuzione

È possibile abilitare e disabilitare App Center Analytics in fase di esecuzione. Se la disabilita, l'SDK non raccoglierà altre informazioni di analisi per l'app.

await Analytics.setEnabled(false);

Questa funzione restituisce una promessa che risolve il valore void.

Per abilitare di nuovo App Center Analytics, usare la stessa API ma passare true come parametro.

await Analytics.setEnabled(true);

Lo stato viene mantenuto nello spazio di archiviazione del dispositivo tra i lanci dell'applicazione.

Verificare se App Center Analytics è abilitato

È anche possibile verificare se App Center Analytics è abilitato o meno.

const enabled = await Analytics.isEnabled();

Questa funzione restituisce una promessa che si risolve in un booleanoggetto .

Attendere che JS possa abilitare App Center Analytics

Se si desidera raccogliere informazioni di analisi per gli utenti dell'app, ma si vuole ottenere prima l'autorizzazione utente, è possibile non abilitare l'analisi all'avvio, ma attendere fino al momento giusto e abilitarlo in JavaScript.

  1. Aprire il file del ios/YourAppName/AppDelegate.m progetto e sostituire [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; con [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];.
  2. Aprire il file del android/app/src/main/res/values/strings.xml progetto e sostituire <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string> con <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ENABLE_IN_JS</string>.

Ciò significa che per qualsiasi informazione da inviare a App Center (anche le informazioni di base sulla sessione), è prima necessario abilitare App Center Analytics aggiungendo la riga di codice seguente:

await Analytics.setEnabled(true);

Gestire la sessione iniziale

Per impostazione predefinita, l'ID sessione dipende dal ciclo di vita dell'applicazione. Per controllare manualmente l'inizio di una nuova sessione, seguire i passaggi successivi:

Nota

Prestare attenzione che ogni chiamata dell'API Analytics.StartSession() genererà una nuova sessione. Se in modalità di rilevamento sessione manuale questa API non verrà chiamata, tutti i log di invio avranno un valore di sessione Null.

Nota

Prestare attenzione che dopo l'avvio di una nuova applicazione l'ID sessione verrà rigenerato.

Per configurare SDK per la sessione di rilevamento manualmente, è necessario usare le API di Analisi enableManualSessionTracker nativa:

  • In iOS chiamare [MSACAnalytics enableManualSessionTracker]; prima [AppCenterReactNative register]; nel metodo delegato dell'app didFinishLaunchingWithOptions in AppDelegate.m. Aggiungere @import AppCenterAnalytics se mancante nel file.

  • In Android chiamare Analytics.enableManualSessionTracker(); prima nel metodo in onCreateMainApplication.java.SoLoader.init Aggiungere l'importazione com.microsoft.appcenter.analytics.Analytics se mancante nel file.

È quindi possibile usare l'API startSession nel progetto di React Native:

Analytics.startSession();

Dimensioni di archiviazione locale

Per impostazione predefinita, l'SDK archivia fino a 10 MB di log nell'archiviazione.

Nessun accesso a Internet

Quando non esiste connettività di rete, l'SDK salva fino a 10 MB di log nell'archiviazione locale. Una volta completata l'archiviazione, l'SDK inizierà a eliminare i vecchi log per rendere disponibili i nuovi log. Una volta restituito l'accesso a Internet, l'SDK invierà i log nel batch di 50 o dopo ogni 6 secondi.

Batching di log eventi

App Center SDK carica i log in un batch di 50 e se l'SDK non dispone di 50 log da inviare, i log verranno comunque inviati dopo 6 secondi. È possibile inviare un massimo di tre batch in parallelo.

Riprovare e eseguire il back-off della logica

App Center SDK supporta tentativi di back-off sugli errori di rete recuperabili. Di seguito è riportata la logica di ripetizione dei tentativi:

  • 3 prova il massimo per richiesta.
  • Ogni richiesta ha il proprio computer di stato di ripetizione dei tentativi.
  • Tutti i canali di trasmissione sono disabilitati (fino al processo dell'app successiva) dopo che una richiesta esaurisce tutti i tentativi.

Logica di back-off

  • 50% casualizzazione, tentativi tra 5 e 10, secondo tentativo compreso tra 2,5 e 5 minuti, ultimo tentativo compreso tra 10 e 20 minuti.
  • Se la rete passa da disattivata a (o da wi-fi a mobile), gli stati di ripetizione dei tentativi vengono reimpostati e le richieste vengono riprovate immediatamente.