Udostępnij za pośrednictwem


Inne interfejsy API aparatu Unity

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej 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.

Dostosowywanie poziomu dziennika

Możesz kontrolować liczbę komunikatów dziennika wyświetlanych w centrum aplikacji w konsoli programu . LogLevelUżyj -API, aby włączyć dodatkowe rejestrowanie podczas debugowania. Domyślnie jest ona ustawiana ASSERT dla środowisk App Store i WARN w inny sposób.

Aby mieć jak najwięcej komunikatów dziennika, włącz LogLevel.Verbose je w ustawieniach centrum aplikacji lub w kodzie.

AppCenter.LogLevel = LogLevel.Verbose;

Identyfikowanie instalacji

Zestaw SDK centrum aplikacji tworzy identyfikator UUID dla każdego urządzenia po zainstalowaniu aplikacji. Ten identyfikator pozostaje taki sam dla urządzenia po zaktualizowaniu aplikacji. Nowy identyfikator jest generowany tylko wtedy, gdy aplikacja zostanie ponownie zainstalowana. Poniższy interfejs API jest przydatny do celów debugowania.

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

Identyfikowanie użytkowników

Zestaw SDK centrum aplikacji obsługuje ustawianie identyfikatora użytkownika używanego do rozszerzania raportów o awarie. Aby użyć tej funkcji:

  1. Skonfiguruj zestaw SDK centrum aplikacji zgodnie z opisem w przewodniku Wprowadzenie do zestawu SDK centrum aplikacji.
  2. Ustaw element userID w zestawie SDK przy użyciu następującego kodu:
AppCenter.SetUserId("your-user-id");

Po ustawieniu identyfikatora użytkownika możesz użyć funkcji wyszukiwania centrum App Center, aby wyszukać określone raporty o awarii dla identyfikatora. Dowiedz się więcej w dokumentacji wyszukiwania centrum aplikacji.

Uwaga

Wartość identyfikatora użytkownika jest ograniczona do 256 znaków. Zostanie on wyświetlony z raportami awarii, ale nie będzie używany do agregacji lub liczby użytkowników, których dotyczy problem. Jeśli ustawisz identyfikator użytkownika wiele razy, zostanie użyty tylko ostatni identyfikator użytkownika. Należy ustawić identyfikator użytkownika przed uruchomieniem każdej aplikacji, ponieważ ta wartość nie jest przechowywana przez zestaw SDK między uruchomieniem.

Wyłączanie wszystkich usług w czasie wykonywania

Jeśli chcesz jednocześnie wyłączyć wszystkie usługi App Center, użyj Enabled właściwości . Po wyłączeniu zestaw SDK nie będzie przekazywać żadnych informacji do Centrum aplikacji.

AppCenter.SetEnabledAsync(false);

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

AppCenter.SetEnabledAsync(true);

Nie musisz czekać na to wywołanie, aby inne wywołania interfejsu API (takie jak IsEnabledAsync) były spójne.

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

Zmienianie stanu usługi w czasie wykonywania

Usługę można włączyć lub wyłączyć w czasie wykonywania przy użyciu następującego kodu:

Analytics.SetEnabledAsync(true);

Nie zezwalaj na żądania sieciowe

W zestawie SDK centrum aplikacji żądania sieciowe są domyślnie dozwolone. Jeśli chcesz wysłać dane zbierane przez zestaw SDK centrum aplikacji przez użytkownika, możesz uniemożliwić automatyczne wysyłanie danych.

AppCenter.IsNetworkRequestsAllowed = false;

W takim przypadku zestaw SDK centrum aplikacji nadal zbiera dane, ale będzie wysyłany tylko wtedy, gdy żądania sieciowe będą dozwolone.

AppCenter.IsNetworkRequestsAllowed = true;

Uwaga

Ta wartość jest zachowywana między uruchamianiami.

W dowolnym momencie możesz sprawdzić, czy wysyłanie danych w zestawie SDK centrum aplikacji jest dozwolone, czy nie.

AppCenter.IsNetworkRequestsAllowed;

Uwaga

Wartość zapisana wcześniej w pliku SharedPreferences jest ignorowana do AppCenter momentu uruchomienia na platformie systemu Android. Zostanie zwrócony ostatni zestaw wartości przy użyciu AppCenter.IsNetworkRequestsAllowed = allowed lub true jeśli wartość nie została zmieniona przed uruchomieniem programu AppCenter.

Sprawdzanie, czy centrum aplikacji jest włączone

Możesz również sprawdzić, czy centrum aplikacji jest włączone, czy nie.

bool enabled = await AppCenter.IsEnabledAsync();

Sprawdzanie wersji zestawu SDK centrum aplikacji w czasie wykonywania

Możesz pobrać wersję zestawu SDK centrum aplikacji, której obecnie używasz.

AppCenter.SdkVersion;

Opóźnienie rozpoczęcia centrum aplikacji

Mogą wystąpić przypadki, w których chcesz opóźnić rozpoczęcie centrum aplikacji do momentu uruchomienia aplikacji AppCenterBehavior . Jeśli na przykład chcesz zażądać zgody użytkownika przed rozpoczęciem jakichkolwiek usług Centrum aplikacji.
W tym celu dodaj element AppCenterBehaviorAdvanced do obiektu gry i zaznacz pola wyboru Uruchom natywny zestaw SDK z aplikacji systemu iOS/Android . Spowoduje to uruchomienie zestawu SDK w Start metodzie AppCenterBehavior i umożliwia dodanie niestandardowego okna dialogowego lub innej logiki.

Porada

Jeśli wygenerujesz ustawienia w czasie kompilacji, innym sposobem jest przejście do pozycji Ustawienia> odtwarzaczaInne ustawienia>Skrypty Definiowanie symboli i wklejanie APPCENTER_DONT_USE_NATIVE_STARTER.

Asynchroniczne interfejsy API w zestawie Unity SDK

Asynchroniczne interfejsy API zwracają AppCenterTask obiekt zamiast zwracać wynik bezpośrednio i zwracać natychmiast zamiast czekać na zakończenie akcji.

Istnieją trzy sposoby interakcji z tymi metodami.

Metoda 1. ContinueWith

Aby wykonać akcję po zakończeniu AppCenterTaskdziałania , dodaj wywołanie zwrotne przy użyciu ContinueWith metody .

Przykład:

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

W sytuacjach, w których metoda ma rzeczywistą wartość zwracaną ( AppCenterTask<{Return Type}> jak w powyższym przykładzie). W takich sytuacjach parametr zadania w wywołaniu zwrotnym Result będzie miał właściwość, do której można uzyskać dostęp.

Metoda 2. Wbudowane funkcje językowe

Jeśli piszesz kod, który ma dostęp do platformy .NET 4.6 lub nowszej, można awaitgo AppCenterTask użyć w kontekście asynchronicznym.

Przykład:

bool isEnabled = await AppCenter.IsEnabledAsync();

Metoda 3. Coroutines

AppCenterTasks są również odpowiednie do stosowania w coroutines.

Przykład:

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

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

    // do something with the isEnabled
}