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 - LogLevelAPI 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à:

  1. Configurare App Center SDK come descritto nella guida introduttiva all'SDK di App Center.
  2. 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 AppCenterTaskcompletamento 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 awaitin un contesto asincrono.

Esempio:

bool isEnabled = await AppCenter.IsEnabledAsync();

Metodo 3: Coroutine

AppCenterTasks 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
}