App Center Analytics (Unity)

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Chociaż możesz nadal używać programu Visual Studio App Center do momentu jego pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Usługa App Center Analytics pomaga zrozumieć zachowanie użytkowników i zaangażowanie klientów w celu ulepszenia aplikacji. Zestaw SDK automatycznie przechwytuje liczbę sesji i właściwości urządzenia, takie jak model, wersja systemu operacyjnego itp. Możesz zdefiniować własne zdarzenia niestandardowe, aby mierzyć istotne elementy. Wszystkie przechwycone informacje są dostępne w portalu Centrum aplikacji, aby analizować dane.

Jeśli zestaw SDK nie został jeszcze skonfigurowany w aplikacji, postępuj zgodnie z instrukcjami w sekcji Wprowadzenie do aparatu Unity .

Uwaga

Aby użyć przedstawionych poniżej interfejsów API, należy dodać następującą using instrukcję do .cs pliku:

using Microsoft.AppCenter.Unity.Analytics;

Należy również upewnić się, że opcja Użyj analizy jest zaznaczona w ustawieniach obiektu gry centrum aplikacji.

Informacje o sesji i urządzeniu

Po dodaniu usługi App Center Analytics i uruchomieniu zestawu SDK będzie ona automatycznie śledzić sesje i właściwości urządzenia, takie jak wersja systemu operacyjnego, model itp., bez konieczności dodatkowego kodu w aplikacji.

Zdarzenia niestandardowe

Możesz śledzić własne zdarzenia niestandardowe z maksymalnie 20 właściwościami, aby wiedzieć, co dzieje się w aplikacji, zrozumieć akcje użytkownika i wyświetlić agregacje w portalu Centrum aplikacji.

TrackEvent() Użyj metody , aby śledzić zdarzenia za pomocą właściwości. Można wysłać do 200 odrębnych nazw zdarzeń. Istnieje maksymalny limit 256 znaków na nazwę zdarzenia i 125 znaków na nazwę i wartość właściwości zdarzenia.

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

Właściwości zdarzeń są opcjonalne — jeśli chcesz tylko śledzić zdarzenie, użyj tego przykładu:

Analytics.TrackEvent("Video clicked");

Ostrzeżenie

Analytics.TrackEvent() metoda będzie zachowywać się spójnie na różnych platformach, jeśli jest wywoływana przed Awake() metodą w skrycie AppCenterBehavior.cs. Aby zapewnić bezpieczeństwo, należy polegać tylko na zdarzeniach, które mają być wysyłane po pierwszej scenie w aplikacji obudził wszystkie MonoBehaviour skrypty. Aby śledzić zdarzenie w połączeniu z inicjowaniem MonoBehavourelementu , rozważ dodanie interfejsu API do metody skryptu Start() zamiast Awake().

Włączanie lub wyłączanie analizy centrum aplikacji w czasie wykonywania

Możesz włączać i wyłączać analizę centrum aplikacji w czasie wykonywania. Jeśli ją wyłączysz, zestaw SDK przestanie zbierać informacje analityczne dla aplikacji. Aby wyłączyć usługę Analytics, użyj następującego interfejsu API, przekazując false go jako parametr.

Analytics.SetEnabledAsync(false);

Aby ponownie włączyć analizę usługi App Center, użyj tego samego interfejsu API, ale przekaż true go jako parametr.

Analytics.SetEnabledAsync(true);

Stan jest utrwalany w magazynie urządzenia w przypadku uruchamiania aplikacji.

Ten interfejs API jest asynchroniczny. Więcej informacji można uzyskać w naszym przewodniku asynchronicznych interfejsów API centrum aplikacji .

Sprawdzanie, czy usługa App Center Analytics jest włączona

Możesz również sprawdzić, czy usługa App Center Analytics jest włączona, czy nie.

bool isEnabled = await Analytics.IsEnabledAsync();

Priorytet zdarzenia i trwałość

Możesz śledzić zdarzenia krytyczne dla działania firmy, które mają wyższą ważność niż inne zdarzenia.

Deweloperzy mogą ustawić trwałość zdarzeń na wartość Normal (Flags.PersistenceNormal w interfejsie API) lub Krytyczne (Flags.PersistenceCritical w interfejsie API).

Do śledzenia zdarzenia jako krytycznego można użyć następującego interfejsu API:

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

Jeśli używasz właściwości:

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

Wstrzymywanie i wznawianie wysyłania dzienników

Wstrzymywanie transmisji zdarzeń może być przydatne w scenariuszach, gdy aplikacja musi kontrolować przepustowość sieci w celu uzyskania bardziej krytycznych potrzeb biznesowych. Możesz wstrzymać wysyłanie dzienników do zaplecza centrum aplikacji. Po wstrzymaniu zdarzenia mogą być nadal śledzone i zapisywane, ale nie są wysyłane od razu. Wszystkie zdarzenia śledzone przez aplikację podczas wstrzymania będą wysyłane tylko po wywołaniu metody Analytics.Resume.

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

Ten interfejs API jest asynchroniczny. Więcej informacji można uzyskać w naszym przewodniku asynchronicznych interfejsów API centrum aplikacji .

Zarządzanie sesją początkową

Domyślnie identyfikator sesji zależy od cyklu życia aplikacji. Jeśli chcesz ręcznie kontrolować rozpoczęcie nowej sesji, wykonaj następujące kroki:

Uwaga

Zwróć uwagę, że każde wywołanie interfejsu API Analytics.StartSession() spowoduje wygenerowanie nowej sesji. Jeśli w trybie ręcznego śledzenia sesji ten interfejs API nie zostanie wywołany, wszystkie dzienniki wysyłające będą miały wartość sesji o wartości null.

Uwaga

Zwróć uwagę, że po uruchomieniu nowej aplikacji identyfikator sesji zostanie ponownie wygenerowany.

  • Usuń zaznaczenie pola wyboru Włącz śledzenie sesji ręcznej w sekcji Analiza obiektu gry z dołączonym elementem AppCenterBehavior .
  • Następnie możesz użyć interfejsu API po wykonaniu StartSession polecenia AppCenter.Start:
Analytics.StartSession();

Rozmiar magazynu lokalnego

Domyślnie zestaw SDK przechowuje do 10 MB dzienników w magazynie.

Brak dostępu do Internetu

Jeśli nie ma łączności sieciowej, zestaw SDK zapisuje do 10 MB dzienników w magazynie lokalnym. Po zapełnieniu magazynu zestaw SDK zacznie odrzucać stare dzienniki, aby zapewnić miejsce na nowe dzienniki. Gdy urządzenie odzyska dostęp do Internetu, zestaw SDK będzie wysyłać dzienniki w partii 50 lub po 6 sekundach.

Przetwarzanie wsadowe dzienników zdarzeń

Zestaw SDK centrum aplikacji przekazuje dzienniki w partii 50, a jeśli zestaw SDK nie ma 50 dzienników do wysłania, nadal będzie wysyłać dzienniki po 6 sekundach. Może istnieć maksymalnie trzy partie wysyłane równolegle.

Logika ponawiania i wycofywania

Zestaw SDK usługi App Center obsługuje ponawianie prób w przypadku możliwych do odzyskania błędów sieci. Poniżej przedstawiono logikę ponawiania prób:

  • 3 próbuje maksymalnie na żądanie.
  • Każde żądanie ma własną maszynę stanu ponawiania.
  • Wszystkie kanały transmisji są wyłączone (do następnego procesu aplikacji) po wyczerpaniu wszystkich ponownych prób przez jedno żądanie.

Logika wycofywania

  • Losowanie 50%, najpierw ponów próbę z zakresu od 5 do 10, ponawianie próby między 2,5 a 5 minutami, ostatnia próba między 10 a 20 minutami.
  • Jeśli sieć przełącza się z wyłączenia do włączonego (lub z sieci Wi-Fi do urządzeń przenośnych), stany ponawiania są resetowane i żądania są natychmiast ponawiane.