其他macOS API

重要

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

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

調整記錄層級

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

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

[MSACAppCenter setLogLevel:MSACLogLevelVerbose];
AppCenter.logLevel = .verbose

識別安裝

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

NSUUID *installId = [MSACAppCenter  installId];
var installId = AppCenter.installId

識別使用者

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

  1. App Center SDK 使用者入門指南中所述,呼叫 :start:withServices: 來設定 App Center SDK。
  2. userID使用下列程式代碼在 SDK 中設定 :
[MSACAppCenter setUserId:@"your-user-id"];
AppCenter.userId = "your-user-id"

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

注意

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

停用運行時間的所有服務

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

[MSACAppCenter setEnabled:NO];
AppCenter.enabled = false

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

[MSACAppCenter setEnabled:YES];
AppCenter.enabled = true

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

注意

只有在啟動之後 AppCenter ,才能使用這個方法。

不允許網路要求

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

[MSACAppCenter setNetworkRequestsAllowed:false];
AppCenter.networkRequestsAllowed = false

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

[MSACAppCenter setNetworkRequestsAllowed:true];
AppCenter.networkRequestsAllowed = true

注意

此值會在開始之間保留。

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

[MSACAppCenter isNetworkRequestsAllowed];
AppCenter.networkRequestsAllowed

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

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

[MSACAnalytics setEnabled:NO];
Analytics.enabled = false

注意

只有在啟動之後 Analytics ,才能使用這個方法。

檢查 App Center 是否已啟用

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

[MSACAppCenter isEnabled];
AppCenter.enabled

注意

這個方法只能在啟動之後 AppCenter 使用,它一律會在開始之前傳回 false

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

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

[MSACAppCenter sdkVersion];
AppCenter.sdkVersion

儲存體大小

使用 App Center SDK 時,記錄會儲存在本機裝置上。 大型記錄可能會佔用大量空間,因此您可以選擇限制本機資料庫的大小。 它也會與和 resume API 搭配pause使用。 如果您預期會暫停一段時間,您可以使用較大的資料庫大小來儲存更多事件。

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

// Use 20 MB for storage.
[MSACAppCenter setMaxStorageSize:(20 * 1024 * 1024) completionHandler:^(BOOL success) {
    if (!success) {
        // The success parameter is false when the size can't be honored.
    }
}];
[MSACAppCenter start:@"{Your App Secret}", withServices:@[[MSACAnalytics class]]];
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024, completionHandler: { (success) in
    if !success {
        // The success parameter is false when the size can't be honored.
    }
})
AppCenter.start(withAppSecret: "{Your App Secret}", services:[Analytics.self])

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

注意

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

注意

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

不成功的 API 呼叫

呼叫可能會傳回 false 的原因有很多 completionHandler

  • 指定的大小是無效的值, (小於 20 KB 或大於 140 TB) 。
  • 目前的資料庫大小大於指定的大小上限。
  • 已呼叫 API。 每個進程只能設定一次。
  • API 已在 或AppCenter.configure之後AppCenter.start呼叫。

您可以使用記錄標籤檢查主控台 AppCenter 中的警告和錯誤,以針對設定問題進行疑難解答。