共用方式為


其他 Unity API

這很重要

Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。

調整記錄層級

您可以控制控制台中從 App Center 顯示的記錄訊息數目。 使用LogLevelAPI以啟用額外的日誌記錄以便於偵錯。 根據預設,它會設定為 App Store 環境的ASSERT,否則會設定為WARN

若要有盡可能多的記錄訊息,請在 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. 在 SDK 中設定userID,使用下列程式代碼:
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平台上啟動 SharedPreferences 之前,AppCenter中儲存的值會被忽略。 ** 如果在 AppCenter 启动之前值没有更动,它会返回使用 AppCenter.IsNetworkRequestsAllowed = allowedtrue 所设定的最后一个值。

檢查 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 ] 複選框。 這會在 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 或更新版本的程式代碼,則可以AppCenterTaskawait在異步內容中進行。

範例:

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
}