Freigeben über


Andere Unity-APIs

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie möglicherweise eine Migration in Erwägung ziehen.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Anpassen der Protokollebene

Sie können die Anzahl der Protokollmeldungen steuern, die aus App Center in der Konsole angezeigt werden. Verwenden Sie die LogLevel-API, um beim Debuggen zusätzliche Protokollierung zu aktivieren. Standardmäßig ist er für ASSERT die App Store-Umgebungen und WARN andernfalls auf festgelegt.

Um so viele Protokollnachrichten wie möglich zu erhalten, aktivieren Sie LogLevel.Verbose in den App Center-Einstellungen oder in Ihrem Code.

AppCenter.LogLevel = LogLevel.Verbose;

Identifizieren von Installationen

Das App Center SDK erstellt nach der Installation der App eine UUID für jedes Gerät. Dieser Bezeichner bleibt für ein Gerät identisch, wenn die App aktualisiert wird. Ein neuer Bezeichner wird nur generiert, wenn die App neu installiert wird. Die folgende API ist für Debuggingzwecke nützlich.

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

Identifizieren von Benutzern

Das App Center SDK unterstützt das Festlegen einer Benutzer-ID , die zum Erweitern von Absturzberichten verwendet wird. So verwenden Sie diese Funktion:

  1. Konfigurieren Sie das App Center SDK wie im Leitfaden Erste Schritte für das App Center SDK beschrieben.
  2. Legen Sie einen userID im SDK mit dem folgenden Code fest:
AppCenter.SetUserId("your-user-id");

Nachdem Sie eine Benutzer-ID festgelegt haben, können Sie die Suchfunktion von App Center verwenden, um nach bestimmten Absturzberichten für die ID zu suchen. Weitere Informationen finden Sie in der App Center-Suchdokumentation.

Hinweis

Der Wert für die Benutzer-ID ist auf 256 Zeichen beschränkt. Es wird mit Ihren Absturzberichten angezeigt, aber nicht für die Aggregation oder Anzahl der betroffenen Benutzer verwendet. Wenn Sie die Benutzer-ID mehrmals festlegen, wird nur die letzte Benutzer-ID verwendet. Sie müssen die Benutzer-ID vor jedem Anwendungsstart selbst festlegen, da dieser Wert zwischen den Starts nicht vom SDK gespeichert wird.

Deaktivieren aller Dienste zur Laufzeit

Wenn Sie alle App Center-Dienste gleichzeitig deaktivieren möchten, verwenden Sie die Enabled -Eigenschaft. Wenn sie deaktiviert ist, leitet das SDK keine Informationen an App Center weiter.

AppCenter.SetEnabledAsync(false);

Um alle Dienste gleichzeitig zu aktivieren, verwenden Sie dieselbe API, übergeben true sie aber als Parameter.

AppCenter.SetEnabledAsync(true);

Sie müssen diesen Aufruf nicht abwarten, um andere API-Aufrufe (z IsEnabledAsync. B. ) konsistent auszuführen.

Der Zustand wird im Speicher des Geräts bei allen Anwendungsstarts beibehalten.

Ändern des Dienststatus in der Laufzeit

Sie können den Dienst zur Laufzeit mit folgendem Code aktivieren oder deaktivieren:

Analytics.SetEnabledAsync(true);

Netzwerkanforderungen nicht zulassen

Im App Center SDK sind Netzwerkanforderungen standardmäßig zulässig. Wenn Sie Daten senden möchten, die das App Center SDK vom Benutzer erfasst, können Sie das automatische Senden von Daten nicht zulassen.

AppCenter.IsNetworkRequestsAllowed = false;

In diesem Fall sammelt das App Center SDK weiterhin Daten, sie werden jedoch nur gesendet, wenn die Netzwerkanforderungen zulässig sind.

AppCenter.IsNetworkRequestsAllowed = true;

Hinweis

Dieser Wert wird zwischen den Starts beibehalten.

Sie können jederzeit überprüfen, ob das Senden von Daten im App Center SDK zulässig ist.

AppCenter.IsNetworkRequestsAllowed;

Hinweis

Der zuvor SharedPreferences in gespeicherte Wert wird ignoriert, bis AppCenter er auf der Android-Plattform gestartet wird. Er gibt den letzten Wert zurück, der mit AppCenter.IsNetworkRequestsAllowed = allowed oder festgelegt wurde, true wenn der Wert vor dem Start von AppCenter nicht geändert wurde.

Überprüfen, ob App Center aktiviert ist

Sie können auch überprüfen, ob App Center aktiviert ist oder nicht.

bool enabled = await AppCenter.IsEnabledAsync();

Überprüfen der App Center SDK-Version zur Laufzeit

Sie können die Version des App Center SDK abrufen, die Sie derzeit verwenden.

AppCenter.SdkVersion;

Verzögern des Startes von App Center

Es kann Fälle geben, in denen Sie den Start von App Center verzögern möchten, bis appCenterBehavior gestartet wurde. Wenn Sie beispielsweise die Zustimmung des Benutzers anfordern möchten, bevor Sie App Center-Dienste starten.
Fügen Sie hierzu dem Spielobjekt AppCenterBehaviorAdvanced hinzu, und aktivieren Sie die Kontrollkästchen Natives SDK von iOS/Android-App starten . Dadurch wird das SDK mit der StartAppCenterBehavior-Methode gestartet und Sie können ein benutzerdefiniertes Dialogfeld oder eine andere Logik hinzufügen.

Tipp

Wenn Sie die Einstellungen zur Buildzeit generieren, können Sie zu Playereinstellungen>Andere Einstellungen>Skripterstellung Symbole definieren und einfügen APPCENTER_DONT_USE_NATIVE_STARTER.

Asynchrone APIs im Unity SDK

Asynchrone APIs geben ein AppCenterTask Objekt zurück, anstatt das Ergebnis direkt zurückzugeben, und geben sofort zurück, anstatt auf den Abschluss der Aktion zu warten.

Es gibt drei Möglichkeiten, mit diesen Methoden zu interagieren.

Methode 1: ContinueWith

Um nach Abschluss der AppCenterTaskAktivität eine Aktion auszuführen, fügen Sie mithilfe der ContinueWith -Methode einen Rückruf hinzu.

Beispiel:

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

In Situationen, in denen die Methode über einen tatsächlichen Rückgabewert verfügt, wird sie zurückgegeben AppCenterTask<{Return Type}> (wie im obigen Beispiel). In diesen Situationen verfügt der Taskparameter im Rückruf über eine Result Eigenschaft, auf die Sie zugreifen können.

Methode 2: Integrierte Sprachfeatures

Wenn Sie Code schreiben, der Zugriff auf .NET 4.6 oder höher hat, kann awaitdies AppCenterTask in einem asynchronen Kontext erfolgen.

Beispiel:

bool isEnabled = await AppCenter.IsEnabledAsync();

Methode 3: Coroutines

AppCenterTasks sind auch für den Einsatz in Koroutinen geeignet.

Beispiel:

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

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

    // do something with the isEnabled
}