App Center Analytics (Apache Cordova)

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.

Nota

Il supporto per le app Cordova è terminato nell'aprile 2022. Per altre informazioni, vedere il blog di App Center.

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

È possibile 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.

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);

Questa funzione usa il terzo parametro come callback riuscito che restituisce una stringa vuota e un quarto parametro come callback degli errori che restituisce un errore.

Le proprietà per gli eventi sono completamente facoltative. Se si vuole tenere traccia di un evento, usare invece questo esempio:

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.trackEvent('Video clicked', success, error);

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à più informazioni di analisi per l'app.

var success = function() {
    console.log("Analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(false, success, error);

Questa funzione usa il secondo parametro come callback riuscito che restituisce una stringa vuota e un terzo parametro come callback degli errori che restituisce un errore. Per abilitare di nuovo App Center Analytics, usare la stessa API ma passare true come parametro.

var success = function() {
    console.log("Analytics enabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

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.

var success = function(result) {
    console.log("analytics " + (result) ? "enabled" : "disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.isEnabled(success, error);

Questa funzione usa il primo parametro come callback riuscito che restituisce un boolean parametro e secondo come callback degli errori che restituisce un errore.

Attendere che JS possa abilitare App Center Analytics

In alcuni casi, un'applicazione potrebbe voler chiedere agli utenti se vogliono condividere informazioni di analisi. In questo caso, è consigliabile modificare le preferenze APPCENTER_ANALYTICS_ENABLE_IN_JStrue nel config.xml

<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />

Ciò significa che per qualsiasi informazione da inviare a App Center (anche le informazioni di base sulla sessione), lo sviluppatore deve prima abilitare App Center Analytics all'interno dell'app aggiungendo la riga seguente al codice.

var success = function() {
    console.log("analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

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 3 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 3 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.