App Center Analytics (Unity)
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.
App Center Analytics hilft Ihnen dabei, 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 Ihre eigenen benutzerdefinierten 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 von Unity , wenn Sie das SDK noch nicht in Ihrer Anwendung eingerichtet haben.
Hinweis
Um die unten dargestellten APIs verwenden zu können, müssen Sie der .cs
Datei die folgende using
Anweisung hinzufügen:
using Microsoft.AppCenter.Unity.Analytics;
Außerdem müssen Sie sicherstellen, dass In den Einstellungen Ihres App Center-Spielobjekts "Analytics verwenden" aktiviert ist.
Sitzungs- und Geräteinformationen
Nachdem Sie App Center Analytics hinzugefügt und das SDK gestartet haben, werden Sitzungen und Geräteeigenschaften wie Betriebssystemversion, Modell usw. automatisch 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 erfahren, was in Ihrer App geschieht, um 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 verschiedene Ereignisnamen senden. Es gibt eine maximale Grenze von 256 Zeichen pro Ereignisnamen 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 plattformübergreifend inkonsistent, wenn sie vor der Awake()
-Methode im Skript AppCenterBehavior.cs
aufgerufen wird. Um sicher zu sein, sollten Sie sich nur auf Ereignisse verlassen, die gesendet werden, nachdem die erste Szene in Ihrer Anwendung alle MonoBehaviour
Skripts aktiviert hat. Wenn Sie ein Ereignis in Verbindung mit einer Initialisierung nachverfolgen MonoBehavour
möchten, sollten Sie die API der Methode Ihres Skripts Start()
anstelle von 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 die App deaktivieren, sammelt das SDK keine Analyseinformationen mehr für die App. Um Analytics zu deaktivieren, verwenden Sie die folgende API und übergeben false
sie 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 bei allen Anwendungsstarts beibehalten.
Diese API ist asynchron. Weitere Informationen finden Sie in unserem Leitfaden für asynchrone App Center-APIs .
Ü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 nachzuverfolgen:
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 nützlich sein, in denen die App die Netzwerkbandbreite für geschäftskritischere 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 während des Anhaltens nachverfolgt, werden nur gesendet, wenn Sie aufrufen Analytics.Resume
.
Analytics.Pause();
Analytics.Resume();
Diese API ist asynchron. Weitere Informationen finden Sie in unserem Leitfaden für asynchrone App Center-APIs .
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 nächsten Schritte aus:
Hinweis
Achten Sie darauf, dass jeder Aufruf der Analytics.StartSession() -API eine neue Sitzung generiert. Wenn diese API im manuellen Sitzungsnachverfolgungsmodus 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 Sitzungsnachverfolgung aktivieren im Abschnitt Analytics für das Spielobjekt mit angefügtem AppCenterBehavior .
- Anschließend können Sie die
StartSession
API nach verwendenAppCenter.Start
:
Analytics.StartSession();
Größe des lokalen Speichers
Standardmäßig speichert das SDK bis zu 10 MB Protokolle im Speicher.
Kein Internetzugriff
Wenn keine Netzwerkkonnektivität vorhanden ist, speichert das SDK bis zu 10 MB An Protokollen im lokalen Speicher. Sobald der Speicher voll ist, beginnt das SDK, alte Protokolle zu verwerfen, um Platz für die neuen Protokolle zu schaffen. Sobald das Gerät den Internetzugriff zurückerhalten hat, sendet das SDK Protokolle im Batch von 50 oder nach 6 Sekunden.
Batchverarbeitung von Ereignisprotokollen
Das App Center SDK lädt Protokolle in einem Batch von 50 hoch, und wenn das SDK nicht über 50 Zu sendende Protokolle verfügt, sendet es nach 6 Sekunden immer noch Protokolle. 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. Im Folgenden finden Sie die Wiederholungslogik:
- Maximal 3 Versuche pro Anforderung.
- Jede Anforderung verfügt über einen eigenen Wiederholungszustandscomputer.
- Alle Übertragungskanäle sind deaktiviert (bis zum nächsten App-Prozess), nachdem eine Anforderung alle Wiederholungen erschöpft hat.
Back-off-Logik
- 50% Randomisierung, erster Wiederholungsversuch zwischen 5s und 10s, zweiter Wiederholungsversuch zwischen 2,5 und 5 Minuten, letzter Versuch zwischen 10 und 20 Minuten.
- Wenn das Netzwerk von Aus zu Ein wechselt (oder von WLAN auf Mobil), werden wiederholungszustände zurückgesetzt, und Anforderungen werden sofort wiederholt.