Delen via


Andere Unity-API's

Belangrijk

Visual Studio App Center is op 31 maart 2025 buiten gebruik gesteld, met uitzondering van de functies analyse en diagnose, die tot 30 juni 2026 nog steeds worden ondersteund. Meer informatie.

Het logboekniveau aanpassen

U kunt het aantal logboekberichten beheren dat wordt weergegeven vanuit App Center in de console. Gebruik de LogLevel-API om extra logboekregistratie in te schakelen tijdens foutopsporing. Deze is standaard ingesteld op ASSERT voor de App Store-omgevingen en op WARN voor andere gevallen.

Als u zoveel mogelijk logboekberichten wilt hebben, schakelt u LogLevel.Verbose de App Center-instellingen of in uw code in.

AppCenter.LogLevel = LogLevel.Verbose;

Installaties identificeren

De App Center SDK maakt een UUID voor elk apparaat zodra de app is geïnstalleerd. Deze id blijft hetzelfde voor een apparaat wanneer de app wordt bijgewerkt. Er wordt alleen een nieuwe id gegenereerd wanneer de app opnieuw wordt geïnstalleerd. De volgende API is handig voor foutopsporingsdoeleinden.

System.Guid? installId = await AppCenter.GetInstallIdAsync();

Gebruikers identificeren

De App Center SDK ondersteunt het instellen van een gebruikers-id die wordt gebruikt om crashrapporten te verbeteren. Ga als volgt te werk om deze mogelijkheid te gebruiken:

  1. Configureer de App Center SDK zoals beschreven in de handleiding Aan de slag met de App Center SDK.
  2. Stel een userID in de SDK in met behulp van de volgende code:
AppCenter.SetUserId("your-user-id");

Nadat u een gebruikers-id hebt ingesteld, kunt u de zoekfunctie van App Center gebruiken om te zoeken naar specifieke crashrapporten voor de id. Meer informatie vindt u in de zoekdocumentatie van App Center.

Opmerking

De waarde voor de gebruikers-id is beperkt tot 256 tekens. Deze wordt weergegeven met uw crashrapporten, maar niet gebruikt voor aggregatie of tellingen van betrokken gebruikers. Als u de gebruikers-id meerdere keren instelt, wordt alleen de laatste gebruikers-id gebruikt. U moet de gebruikers-id zelf instellen voordat elke toepassing wordt gestart, omdat deze waarde niet wordt opgeslagen door de SDK tussen het starten.

Alle services tijdens runtime uitschakelen

Als u alle App Center-services tegelijk wilt uitschakelen, gebruikt u de Enabled eigenschap. Wanneer deze functie is uitgeschakeld, stuurt de SDK geen informatie door naar App Center.

AppCenter.SetEnabledAsync(false);

Als u alle services opnieuw wilt inschakelen, gebruikt u dezelfde API, maar geeft u true deze door als een parameter.

AppCenter.SetEnabledAsync(true);

U hoeft deze aanroep niet te wachten om andere API-aanroepen (zoals IsEnabledAsync) consistent te maken.

De status blijft behouden in de opslag van het apparaat tijdens het starten van de toepassing.

Status van service wijzigen in runtime

U kunt de service tijdens de runtime in- of uitschakelen met de volgende code:

Analytics.SetEnabledAsync(true);

Netwerkaanvragen weigeren

In de App Center SDK zijn netwerkaanvragen standaard toegestaan. Als u gegevens wilt verzenden die door de App Center SDK worden verzameld met betrekking tot de gebruiker, kunt u het automatische verzenden van gegevens uitschakelen.

AppCenter.IsNetworkRequestsAllowed = false;

In dit geval blijft de App Center SDK gegevens verzamelen, maar deze worden alleen verzonden wanneer de netwerkaanvragen zijn toegestaan.

AppCenter.IsNetworkRequestsAllowed = true;

Opmerking

Deze waarde blijft behouden tussen starten.

U kunt op elk gewenst moment controleren of het verzenden van gegevens in de App Center SDK al dan niet is toegestaan.

AppCenter.IsNetworkRequestsAllowed;

Opmerking

De eerder opgeslagen waarde in SharedPreferences wordt genegeerd totdat AppCenter wordt gestart op het Android-platform. De laatste waardeset wordt geretourneerd met behulp van AppCenter.IsNetworkRequestsAllowed = allowed of true als de waarde niet is gewijzigd voordat AppCenter wordt gestart.

Controleren of App Center is ingeschakeld

U kunt ook controleren of App Center is ingeschakeld of niet.

bool enabled = await AppCenter.IsEnabledAsync();

Controleer de App Center SDK-versie tijdens uitvoering.

U kunt de versie van de App Center SDK ophalen die u momenteel gebruikt.

AppCenter.SdkVersion;

Het begin van App Center vertragen

Er kunnen gevallen zijn waarin u het begin van App Center wilt vertragen totdat AppCenterBehavior is gestart. Als u bijvoorbeeld gebruikerstoestemming wilt aanvragen voordat u App Center-services start.
U doet dit door AppCenterBehaviorAdvanced toe te voegen aan het gameobject en de systeemeigen SDK starten vanuit de iOS-/Android-app in te schakelen. Hiermee start u de SDK bij de Start methode van AppCenterBehavior en kunt u een aangepast dialoogvenster of andere logica toevoegen.

Aanbeveling

Als u de instellingen tijdens de build genereert, kunt u op een andere manier naar Player Settings>>Scripting Define Symbols gaan en plakkenAPPCENTER_DONT_USE_NATIVE_STARTER.

Asynchrone API's in de Unity Software Ontwikkelingskit

Asynchrone API's retourneren een AppCenterTask object in plaats van het resultaat rechtstreeks te retourneren en retourneren onmiddellijk in plaats van te wachten tot de actie is voltooid.

Er zijn drie manieren om met deze methoden te communiceren.

Methode 1: ContinueWith

Als u een actie wilt uitvoeren nadat de AppCenterTaskactiviteit is voltooid, voegt u een callback toe met behulp van de ContinueWith methode.

Voorbeeld:

AppCenter.IsEnabledAsync().ContinueWith(task =>
{
    // Do something with task.Result
});

In situaties waarin de methode een werkelijke retourwaarde heeft, wordt deze geretourneerd AppCenterTask<{Return Type}> (zoals in het bovenstaande voorbeeld). In deze situaties heeft de taakparameter in de callback een Result eigenschap waartoe u toegang hebt.

Methode 2: Ingebouwde taalfuncties

Als u code schrijft die beschikbaar is voor .NET 4.6 of hoger, kan AppCenterTask in een asynchrone context await worden.

Voorbeeld:

bool isEnabled = await AppCenter.IsEnabledAsync();

Methode 3: Coroutines

AppCenterTasks zijn ook geschikt voor gebruik in coroutines.

Voorbeeld:

void SomeMethod()
{
    StartCoroutine(IsEnabledCoroutine());
}

IEnumerator IsEnabledCoroutine()
{
    var isEnabled = AppCenter.IsEnabledAsync();
    yield return isEnabled;

    // do something with the isEnabled
}