其他 Unity API

重要

Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。

深入瞭解支持時程表和替代方案。

調整記錄層級

您可以控制控制台中從 App Center 顯示的記錄訊息數目。 LogLevel使用 -API 在偵錯時啟用其他記錄。 根據預設,它會針對 App Store 環境設定為 ASSERTWARN否則為 。

若要盡可能擁有多個記錄訊息,請在 App Center 設定或程式代碼內啟用 LogLevel.Verbose

AppCenter.LogLevel = LogLevel.Verbose;

識別安裝

App Center SDK 會在安裝應用程式之後,為每個裝置建立 UUID。 當應用程式更新時,裝置的這個標識碼會維持不變。 只有在重新安裝應用程式時,才會產生新的標識碼。 下列 API 適用於偵錯用途。

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

識別使用者

App Center SDK 支援設定用來增強當機報告 的使用者標識碼 。 若要使用這項功能:

  1. App Center SDK 使用者入門指南中所述,設定 App Center SDK
  2. userID使用下列程式代碼在 SDK 中設定 :
AppCenter.SetUserId("your-user-id");

設定使用者標識碼之後,您可以使用 App Center 的搜尋功能來搜尋標識碼的特定損毀報告。 深入瞭解 App Center 的 搜尋檔

注意

用戶標識碼的值限製為 256 個字元。 其會顯示為您的當機報告,但不會用於受影響用戶的匯總或計數。 如果您多次設定使用者標識碼,則只會使用最後一個使用者識別碼。 您必須在每次應用程式啟動時自行設定使用者標識碼,因為 SDK 不會在啟動之間儲存此值。

停用運行時間的所有服務

如果您想要一次停用所有 App Center 服務,請使用 Enabled 屬性。 停用時,SDK 不會將任何信息轉送至 App Center。

AppCenter.SetEnabledAsync(false);

若要再次啟用所有服務,請使用相同的 API,但傳遞 true 為參數。

AppCenter.SetEnabledAsync(true);

您不需要等候此呼叫,即可 (進行其他 API 呼叫,例如 IsEnabledAsync) 一致。

狀態會保存在裝置的記憶體中,而應用程式會啟動。

變更運行時間中的服務狀態

您可以使用下列程式代碼在執行時間開啟或停用服務:

Analytics.SetEnabledAsync(true);

不允許網路要求

在 App Center SDK 中,預設允許網路要求。 如果您想要傳送 App Center SDK 由使用者所收集的數據,您可以不允許自動傳送資料。

AppCenter.IsNetworkRequestsAllowed = false;

在此情況下,App Center SDK 會繼續收集數據,但只有在允許網路要求時才會傳送。

AppCenter.IsNetworkRequestsAllowed = true;

注意

此值會在開始之間保留。

您可以隨時檢查是否允許在 App Center SDK 中傳送數據。

AppCenter.IsNetworkRequestsAllowed;

注意

在 Android 平台上啟動之前AppCenter,會忽略先前儲存在中的SharedPreferences值。 它會傳回使用 AppCenter.IsNetworkRequestsAllowed = allowedtrue 設定的最後一個值,如果值在 AppCenter 啟動之前未變更,則會傳回 。

檢查 App Center 是否已啟用

您也可以檢查 App Center 是否已啟用。

bool enabled = await AppCenter.IsEnabledAsync();

在運行時間檢查 App Center SDK 版本

您可以取得您目前使用的 App Center SDK 版本。

AppCenter.SdkVersion;

延遲 App Center 的啟動

在某些情況下,您可能會想要延遲 App Center 的啟動,直到 AppCenterBehavior 啟動 為止。 例如,如果您想要在啟動任何 App Center 服務之前要求使用者同意。
若要這樣做,請將 AppCenterBehaviorAdvanced 新增 至遊戲物件,然後核取 [從iOS/Android 應用程式啟動原生 SDK ] 複選框。 這會在 AppCenterBehavior 的 方法啟動 Start SDK,並可讓您新增自定義對話方塊或其他邏輯。

提示

如果您在建置時產生設定,另一種方式是移至播放機>設定其他設定>文稿定義符號並貼上 APPCENTER_DONT_USE_NATIVE_STARTER

Unity SDK 中的異步 API

異步 API 會傳 AppCenterTask 回 物件,而不是直接傳回結果,並立即傳回 ,而不是等待動作完成。

有三種方式可以與這些方法互動。

方法 1:ContinueWith

若要在 活動完成之後 AppCenterTask執行動作,請使用 ContinueWith 方法新增回呼。

範例:

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

在方法具有實際傳回值的情況下,它會傳回 AppCenterTask<{Return Type}> (,如上述範例所示) 。 在這些情況下,回呼中的工作參數會有 Result 您可以存取的屬性。

方法 2:內建語言功能

如果您要撰寫可存取 .NET 4.6 或更新版本的程式代碼, AppCenterTask 則可以 await在異步內容中存取。

範例:

bool isEnabled = await AppCenter.IsEnabledAsync();

方法 3:協同程式

AppCenterTasks 也適合用於協同程式。

範例:

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

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

    // do something with the isEnabled
}