Freigeben über


App Center Analytics (Unity)

Von Bedeutung

Visual Studio App Center wurde am 31. März 2025 eingestellt, mit Ausnahme der Analyse- und Diagnosefeatures, die bis zum 30. Juni 2026 weiterhin unterstützt werden. Weitere Informationen

App Center Analytics hilft Ihnen, das Benutzerverhalten und die Kundenbindung zu verstehen, um Ihre App zu verbessern. Das SDK erfasst automatisch die Sitzungsanzahl und Geräteeigenschaften wie Modell, Betriebssystemversion usw. Sie können eigene benutzerdefinierte Ereignisse definieren, um Dinge zu messen, die für Sie wichtig sind. Alle erfassten Informationen sind im App Center-Portal verfügbar, damit Sie die Daten analysieren können.

Befolgen Sie die Anweisungen im Abschnitt "Erste Schritte mit Unity ", wenn Sie das SDK noch nicht in Ihrer Anwendung eingerichtet haben.

Hinweis

Um die unten dargestellten APIs zu verwenden, müssen Sie ihrer Datei die folgende using Anweisung .cs hinzufügen:

using Microsoft.AppCenter.Unity.Analytics;

Außerdem müssen Sie sicherstellen, dass die Verwendungsanalyse in den Einstellungen Ihres App Center-Spielobjekts eingecheckt ist.

Sitzungs- und Geräteinformationen

Nachdem Sie App Center Analytics hinzugefügt und das SDK gestartet haben, werden automatisch Sitzungen und Geräteeigenschaften wie Betriebssystemversion, Modell usw. nachverfolgt, ohne dass zusätzlichen Code in Ihrer App erforderlich ist.

Benutzerdefinierte Ereignisse

Sie können ihre eigenen benutzerdefinierten Ereignisse mit bis zu 20 Eigenschaften nachverfolgen, um zu wissen, was in Ihrer App passiert, Benutzeraktionen zu verstehen und die Aggregate im App Center-Portal anzuzeigen.

Verwenden Sie die TrackEvent() Methode, um Ihre Ereignisse mit Eigenschaften nachzuverfolgen. Sie können bis zu 200 unterschiedliche Ereignisnamen senden. Pro Ereignisname und -wert gibt es maximal 256 Zeichen und 125 Zeichen pro Ereigniseigenschaftsname und -wert.

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

Eigenschaften für Ereignisse sind optional – wenn Sie nur ein Ereignis nachverfolgen möchten, verwenden Sie stattdessen dieses Beispiel:

Analytics.TrackEvent("Video clicked");

Warnung

Analytics.TrackEvent() verhält sich inkonsistent über Plattformen hinweg, wenn sie vor der Awake() Methode im Skript AppCenterBehavior.csaufgerufen wird. Zur Sicherheit sollten Sie sich nur darauf verlassen, dass Ereignisse erst gesendet werden, nachdem in Ihrer Anwendung die erste Szene alle MonoBehaviour Skripts erweckt hat. Um ein Ereignis in Verbindung mit einer MonoBehavourInitialisierung nachzuverfolgen, sollten Sie die API anstelle der Start()Methode ihres Skripts Awake() hinzufügen.

Aktivieren oder Deaktivieren von App Center Analytics zur Laufzeit

Sie können App Center Analytics zur Laufzeit aktivieren und deaktivieren. Wenn Sie sie deaktivieren, wird das SDK nicht mehr analyseinformationen für die App sammeln. Verwenden Sie zum Deaktivieren von Analytics die folgende API und übergeben Sie false als Parameter.

Analytics.SetEnabledAsync(false);

Um App Center Analytics erneut zu aktivieren, verwenden Sie dieselbe API, übergeben true sie aber als Parameter.

Analytics.SetEnabledAsync(true);

Der Zustand wird im Speicher des Geräts über Anwendungsstarts hinweg beibehalten.

Diese API ist asynchron. Weitere Informationen finden Sie im Leitfaden zu asynchronen APIs im App Center .

Überprüfen, ob App Center Analytics aktiviert ist

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

bool isEnabled = await Analytics.IsEnabledAsync();

Ereignispriorität und Persistenz

Sie können geschäftskritische Ereignisse nachverfolgen, die eine höhere Bedeutung haben als andere Ereignisse.

Entwickler können die Persistenz von Ereignissen als Normal (Flags.PersistenceNormal in der API) oder Kritisch (Flags.PersistenceCritical in der API) festlegen.

Sie können die folgende API verwenden, um ein Ereignis als kritisch zu verfolgen:

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

Wenn Sie Eigenschaften verwenden:

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

Anhalten und Fortsetzen des Sendens von Protokollen

Das Anhalten der Ereignisübertragung kann in Szenarien hilfreich sein, wenn die App die Netzwerkbandbreite für unternehmenskritischere Anforderungen steuern muss. Sie können das Senden von Protokollen an das App Center-Back-End anhalten. Wenn sie angehalten werden, können Ereignisse weiterhin nachverfolgt und gespeichert werden, aber sie werden nicht sofort gesendet. Alle Ereignisse, die Ihre App nachverfolgt, während sie angehalten werden, werden nur gesendet, wenn Sie anrufen Analytics.Resume.

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

Diese API ist asynchron. Weitere Informationen finden Sie im Leitfaden zu asynchronen APIs im App Center .

Verwalten der Startsitzung

Standardmäßig hängt die Sitzungs-ID vom Lebenszyklus der Anwendung ab. Wenn Sie den Start einer neuen Sitzung manuell steuern möchten, führen Sie die folgenden Schritte aus:

Hinweis

Achten Sie darauf, dass jeder Aufruf der Analytics.StartSession() -API eine neue Sitzung generiert. Wenn diese API im manuellen Sitzungsverfolgungsmodus nicht aufgerufen wird, haben alle sendenden Protokolle einen NULL-Sitzungswert.

Hinweis

Achten Sie darauf, dass nach dem Starten einer neuen Anwendung die Sitzungs-ID neu generiert wird.

  • Deaktivieren Sie das Kontrollkästchen "Manuelle Sitzungsverfolgung aktivieren " im Abschnitt "Analyse " des Spielobjekts mit angefügtem AppCenterBehavior .
  • Anschließend können Sie die StartSession API nach dem AppCenter.Start verwenden.
Analytics.StartSession();

Größe des lokalen Speichers

Standardmäßig speichert das SDK bis zu 10 MB Protokolle im Speicher.

Kein Internetzugang

Wenn keine Netzwerkkonnektivität vorhanden ist, speichert das SDK bis zu 10 MB Protokolle im lokalen Speicher. Sobald der Speicher voll ist, verwirft das SDK alte Protokolle, um Platz für die neuen Protokolle zu schaffen. Sobald das Gerät den Internetzugriff zurück erhält, sendet das SDK Protokolle im Batch von 50 oder nach allen 6 Sekunden.

Ereignisprotokolle im Batchmodus

Das App Center SDK lädt Protokolle in einen Batch von 50 hoch und wenn das SDK nicht über 50 zu sendende Protokolle verfügt, sendet es weiterhin Protokolle nach 6 Sekunden. Es können maximal drei Batches parallel gesendet werden.

Wiederholungs- und Back-off-Logik

Das App Center SDK unterstützt Back-off-Wiederholungen bei wiederherstellbaren Netzwerkfehlern. Nachfolgend finden Sie die Wiederholungslogik:

  • Maximal 3 Versuche pro Anfrage.
  • Jede Anforderung verfügt über einen eigenen Wiederholungsmechanismus.
  • Alle Übertragungskanäle werden (bis zum nächsten App-Prozess) deaktiviert, nachdem eine Anforderung alle Wiederholungen aufgebraucht hat.

Rückzug-Logik

  • 50% Randomisierung, erster Versuch zwischen 5 und 10 Sekunden, zweiter Versuch zwischen 2,5 und 5 Minuten, letzter Versuch zwischen 10 und 20 Minuten.
  • Wenn das Netzwerk von "aus" nach "ein" (oder von wi-fi zu "mobil") umgeschaltet wird, werden Wiederholungszustände zurückgesetzt, und Anforderungen werden sofort wiederholt.