其他 Unity API
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
調整記錄層級
您可以控制控制台中從 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。
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 = allowed
true
設定的最後一個值,如果值在 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:協同程式
AppCenterTask
s 也適合用於協同程式。
範例:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}