Altre API Unity
Importante
Visual Studio App Center è pianificato 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 a cui è possibile prendere in considerazione la migrazione.
Altre informazioni sulle sequenze temporali di supporto e sulle alternative.
Modificare il livello di log
È possibile controllare il numero di messaggi di log visualizzati da App Center nella console. Usare - LogLevel
API per abilitare la registrazione aggiuntiva durante il debug. Per impostazione predefinita, è impostato su ASSERT
per gli ambienti App Store e WARN
in caso contrario.
Per avere il maggior numero possibile di messaggi di log, abilitare LogLevel.Verbose
nelle impostazioni di App Center o all'interno del codice.
AppCenter.LogLevel = LogLevel.Verbose;
Identificare le installazioni
App Center SDK crea un UUID per ogni dispositivo dopo l'installazione dell'app. Questo identificatore rimane invariato per un dispositivo quando l'app viene aggiornata. Viene generato un nuovo identificatore solo quando l'app viene reinstallata. L'API seguente è utile a scopo di debug.
System.Guid? installId = await AppCenter.GetInstallIdAsync();
Identificare gli utenti
App Center SDK supporta l'impostazione di un ID utente usato per aumentare i report di arresto anomalo del sistema. Per usare questa funzionalità:
- Configurare App Center SDK come descritto nella guida introduttiva all'SDK di App Center.
- Impostare un
userID
nell'SDK usando il codice seguente:
AppCenter.SetUserId("your-user-id");
Dopo aver impostato un ID utente, è possibile usare la funzionalità di ricerca di App Center per cercare report di arresto anomalo specifici per l'ID. Altre informazioni sono disponibili nella documentazione di ricerca di App Center.
Nota
Il valore dell'ID utente è limitato a 256 caratteri. Verrà visualizzato con i report di arresto anomalo del sistema, ma non usati per l'aggregazione o il numero di utenti interessati. Se si imposta l'ID utente più volte, verrà usato solo l'ultimo ID utente. È necessario impostare l'ID utente manualmente prima dell'avvio di ogni applicazione, perché questo valore non viene archiviato dall'SDK tra i lanci.
Disabilitare tutti i servizi in fase di esecuzione
Se vuoi disabilitare tutti i servizi di App Center contemporaneamente, usa la Enabled
proprietà . Se disabilitato, l'SDK non inoltra alcuna informazione ad App Center.
AppCenter.SetEnabledAsync(false);
Per abilitare di nuovo tutti i servizi, usare la stessa API ma passare true
come parametro.
AppCenter.SetEnabledAsync(true);
Non è necessario attendere questa chiamata per rendere coerenti altre chiamate API ( ad esempio IsEnabledAsync
).
Lo stato viene salvato in modo permanente nella risorsa di archiviazione del dispositivo tra i lanci dell'applicazione.
Modificare lo stato del servizio in fase di esecuzione
È possibile abilitare o disabilitare il servizio in fase di esecuzione con il codice seguente:
Analytics.SetEnabledAsync(true);
Non consentire richieste di rete
In App Center SDK le richieste di rete sono consentite per impostazione predefinita. Se si vogliono inviare dati raccolti dall'SDK di App Center dall'utente, è possibile impedire l'invio automatico dei dati.
AppCenter.IsNetworkRequestsAllowed = false;
In questo caso, App Center SDK continua a raccogliere i dati, ma verrà inviato solo quando le richieste di rete saranno consentite.
AppCenter.IsNetworkRequestsAllowed = true;
Nota
Questo valore viene mantenuto tra gli inizi.
In qualsiasi momento, è possibile verificare se l'invio di dati in App Center SDK è consentito o meno.
AppCenter.IsNetworkRequestsAllowed;
Nota
Il valore salvato in precedenza in SharedPreferences
viene ignorato fino a quando non AppCenter
viene avviato nella piattaforma Android.
Restituisce l'ultimo valore impostato usando AppCenter.IsNetworkRequestsAllowed = allowed
o true
se il valore non è stato modificato prima dell'avvio di AppCenter.
Controllare se App Center è abilitato
È anche possibile controllare se App Center è abilitato o meno.
bool enabled = await AppCenter.IsEnabledAsync();
Controllare la versione di App Center SDK in fase di esecuzione
È possibile ottenere la versione di App Center SDK attualmente in uso.
AppCenter.SdkVersion;
Ritardare l'inizio di App Center
In alcuni casi può essere necessario ritardare l'inizio di App Center fino all'avvio di AppCenterBehavior . Ad esempio, se si vuole richiedere il consenso dell'utente prima di avviare i servizi di App Center.
A tale scopo, aggiungere AppCenterBehaviorAdvanced all'oggetto gioco e selezionare le caselle di controllo Avvia SDK nativo da app iOS/Android . Verrà avviato l'SDK nel Start
metodo di AppCenterBehavior e sarà possibile aggiungere una finestra di dialogo personalizzata o un'altra logica.
Suggerimento
Se si generano le impostazioni in fase di compilazione, un altro modo consiste nel passare a Impostazioni lettore Altre impostazioniScripting Definisci simboli e incollare .If you generate the settings at build time, another way is to go to PlayerSettings> Other Settings > Scripting Define Symbols and paste APPCENTER_DONT_USE_NATIVE_STARTER
.
API asincrone in Unity SDK
Le API asincrone restituiscono un AppCenterTask
oggetto anziché restituire direttamente il risultato e restituiscono immediatamente anziché attendere il completamento dell'azione.
Esistono tre modi per interagire con questi metodi.
Metodo 1: ContinueWith
Per eseguire un'azione dopo il AppCenterTask
completamento dell'attività dell'oggetto , aggiungere un callback usando il ContinueWith
metodo .
Esempio:
AppCenter.IsEnabledAsync().ContinueWith(task =>
{
// Do something with task.Result
});
Nelle situazioni in cui il metodo ha un valore restituito effettivo, verrà restituito AppCenterTask<{Return Type}>
(come nell'esempio precedente). In queste situazioni, il parametro dell'attività nel callback avrà una Result
proprietà a cui è possibile accedere.
Metodo 2: funzionalità del linguaggio predefinite
Se si scrive codice con accesso a .NET 4.6 o versione successiva, AppCenterTask
è possibile eseguirlo await
in un contesto asincrono.
Esempio:
bool isEnabled = await AppCenter.IsEnabledAsync();
Metodo 3: Coroutine
AppCenterTask
s sono adatti anche per l'uso nelle coroutine.
Esempio:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}