Condividi tramite


Analisi di App Center (Unity)

Importante

Visual Studio App Center è stato ritirato il 31 marzo 2025, ad eccezione delle funzionalità di Analisi e diagnostica, che continueranno a essere supportate fino al 30 giugno 2026. Ulteriori informazioni.

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

Seguire le istruzioni nella sezione Introduzione a Unity se non è ancora stato configurato l'SDK nell'applicazione.

Annotazioni

Per usare le API presentate di seguito, è necessario aggiungere l'istruzione seguente using al .cs file:

using Microsoft.AppCenter.Unity.Analytics;

Devi anche assicurarti che l'opzione Usa Analytics sia selezionata nelle impostazioni dell'oggetto gioco di App Center.

Informazioni sulla sessione e sul dispositivo

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

Eventi personalizzati

È possibile tenere traccia dei propri eventi personalizzati con un massimo di 20 proprietà per sapere cosa accade nell'app, comprendere le azioni degli utenti e visualizzare le aggregazioni nel portale di App Center.

Utilizza il metodo TrackEvent() per monitorare i tuoi eventi con proprietà. È possibile inviare fino a 200 nomi di eventi distinti. È previsto un limite massimo di 256 caratteri per nome evento e 125 caratteri per nome e valore della proprietà dell'evento.

Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi" }
});

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

Analytics.TrackEvent("Video clicked");

Avvertimento

Analytics.TrackEvent() si comporta in modo incoerente tra le piattaforme se viene chiamato prima del Awake() metodo nello script AppCenterBehavior.cs. Per essere sicuri, è consigliabile basarsi solo sugli eventi da inviare dopo che la prima scena nell'applicazione ha risvegliato tutti gli MonoBehaviour script. Per tenere traccia di un evento insieme all'inizializzazione di un oggetto MonoBehavour, si potrebbe considerare di aggiungere l'API al metodo dello script Start() anziché Awake().

Abilitare o disabilitare Analisi di App Center in fase di esecuzione

È possibile abilitare e disabilitare Analisi di App Center in fase di esecuzione. Se la si disabilita, l'SDK smetterà di raccogliere informazioni di analisi per l'app. Per disabilitare Analytics, usare l'API seguente passando false come parametro.

Analytics.SetEnabledAsync(false);

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

Analytics.SetEnabledAsync(true);

Lo stato viene salvato in modo permanente nella risorsa di archiviazione del dispositivo all'avvio dell'applicazione.

Questa API è asincrona. Per altre informazioni, vedere la guida alle API asincrone di App Center .

Controllare se App Center Analytics è abilitato

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

bool isEnabled = await Analytics.IsEnabledAsync();

Priorità e persistenza degli eventi

È possibile tenere traccia degli eventi critici aziendali che hanno un'importanza maggiore rispetto ad altri eventi.

Gli sviluppatori possono impostare la persistenza degli eventi come Normal (Flags.PersistenceNormal nell'API) o Critical (Flags.PersistenceCritical nell'API).

È possibile usare l'API seguente per tenere traccia di un evento come critico:

Analytics.TrackEvent("eventName", Flags.PersistenceCritical);

Se si usano proprietà:

Analytics.TrackEvent("eventName", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi" }
}, Flags.PersistenceCritical);

Sospendere e riprendere l'invio dei log

La sospensione della trasmissione degli eventi può essere utile negli scenari in cui l'app deve controllare la larghezza di banda di rete per esigenze aziendali più critiche. È possibile sospendere l'invio dei log al back-end di App Center. Quando vengono sospesi, gli eventi possono comunque essere rilevati e salvati, ma non vengono inviati immediatamente. Tutti gli eventi tracciati dall'app durante la sospensione verranno inviati solo dopo aver chiamato Analytics.Resume.

Analytics.Pause();
Analytics.Resume();

Questa API è asincrona. Per altre informazioni, vedere la guida alle API asincrone di App Center .

Gestire la sessione di avvio

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

Annotazioni

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.

Annotazioni

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

  • Deselezionare la casella di controllo Abilita Strumento di Rilevamento Sessione Manuale nella sezione Analisi dell'oggetto del gioco con AppCenterBehavior associato.
  • È quindi possibile usare l'API StartSession dopo AppCenter.Start:
Analytics.StartSession();

Dimensioni di archiviazione locale

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

Nessun accesso a Internet

Quando non è disponibile alcuna connettività di rete, l'SDK salva fino a 10 MB di log nella risorsa di archiviazione locale. Una volta completata l'archiviazione, l'SDK inizierà a rimuovere i log precedenti per liberare spazio per i nuovi log. Quando il dispositivo ottiene nuovamente l'accesso a Internet, l'SDK invierà i log nel batch di 50 o dopo ogni 6 secondi.

Registrazione dei log degli eventi in batch

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.

Logica di ripetizione e back-off

L'SDK di App Center supporta i tentativi di riprovare con intervalli di tempo in caso di errori di rete recuperabili. Di seguito è riportata la logica di ripetizione dei tentativi:

  • Massimo 3 tentativi per ogni richiesta.
  • Ogni richiesta ha una propria macchina a stati di ripetizione dei tentativi.
  • Tutti i canali di trasmissione sono disabilitati (fino al processo successivo dell'app) dopo che una richiesta esaurisce tutti i tentativi.

Logica di riduzione graduale

  • 50% randomizzazione, primo tentativo tra 5s e 10s, secondo tentativo tra 2,5 e 5 minuti, ultimo tentativo compreso tra 10 e 20 minuti.
  • Se la rete passa da off a on (o da wi-fi a dispositivi mobili), gli stati di ripetizione dei tentativi vengono reimpostati e le richieste vengono ritentate immediatamente.