這很重要
Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。
調整記錄層級
您可以控制控制台中從 App Center 顯示的記錄訊息數目。 使用LogLevel
API以啟用額外的日誌記錄以便於偵錯。 根據預設,它會設定為 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 支援設定使用者標識碼來增強當機報告。 若要使用這項功能:
- 如 App Center SDK 使用者入門指南中所述,設定 App Center SDK。
- 在 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 = allowed
或 true
所设定的最后一个值。
檢查 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 或更新版本的程式代碼,則可以AppCenterTask
await
在異步內容中進行。
範例:
bool isEnabled = await AppCenter.IsEnabledAsync();
方法 3:協同程式
AppCenterTask
s 也適合用於協同程式。
範例:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}