其他 WPF 和 WinForms API

重要

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

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

調整記錄層級

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

若要盡可能有多個記錄訊息,請使用 LogLevel.Verbose

AppCenter.LogLevel = LogLevel.Verbose;

識別安裝

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

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

識別使用者

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

  1. App Center SDK 使用者入門指南中所述,呼叫 AppCenter.Start(...) 來設定 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(false);

不允許網路要求

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

AppCenter.IsNetworkRequestsAllowed = false;

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

AppCenter.IsNetworkRequestsAllowed = true;

注意

此值會在開始之間保留。

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

AppCenter.IsNetworkRequestsAllowed;

檢查 App Center 是否已啟用

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

bool enabled = await AppCenter.IsEnabledAsync();

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

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

AppCenter.SdkVersion;

儲存體大小

使用 App Center SDK 時,記錄會儲存在本機裝置上。 大型記錄可能會佔用大量空間,因此您可以選擇限制本機資料庫的大小。

您可以使用 SetMaxStorageSizeAsync API 來設定本機 DB 的大小。 API 是異步的,當您啟動 App Center 服務時會呼叫回呼。 基於這個理由, SetMaxStorageSizeAsync 必須在呼叫 之前呼叫 AppCenter.Start(...)。 您只能呼叫 API 一次。

// Use 20 MB for storage.
AppCenter.SetMaxStorageSizeAsync(20 * 1024 * 1024).ContinueWith((storageTask) => {
    // The storageTask.Result is false when the size cannot be honored.
});
AppCenter.Start("{Your App Secret}", typeof(Analytics));

如果您未設定記憶體大小上限,SDK 會使用預設大小上限 10 MB。 您可以設定的大小下限為 20 KB。

注意

實際的記憶體大小上限可能會高於您選擇的值。 SQLite 會將大小四捨五入到頁面大小的下一個倍數。 App Center SDK 使用 4 KB 的頁面大小。

注意

超過25天的記錄將會捨棄。

其他 API

.NET NuGet 套件會與具有更多功能的 Xamarin 和 UWP 共用。 此頁面中未記載 WPF 和 WinForms 的所有 API 都會傳回 nullfalse ,而且不會對 WPF 和 WinForms 執行任何動作。 其他 API 是可見的,因此您可以在可攜式連結庫中使用它們 (,例如在包含 UWP 專案的 Xamarin.Forms 應用程式中使用 SDK) ,但這些額外的 API 不會在 WPF 和 WinForms 上實作。