其他macOS API
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
調整記錄層級
您可以控制控制台中從 App Center 顯示的記錄訊息數量。 setLogLevel:
使用 -API 在偵錯時啟用其他記錄。 根據預設,它會針對 App Store 環境設定為 LogLevelAssert
,LogLevelWarning
否則為 。
若要盡可能有多個記錄訊息,請使用 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 支援設定用來增強當機報告 的使用者標識碼 。 若要使用這項功能:
- 如 App Center SDK 使用者入門指南中所述,呼叫
:start:withServices:
來設定 App Center SDK。 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
中的警告和錯誤,以針對設定問題進行疑難解答。