作法:啟用錯誤和效能記錄

重要

2020 年 3 月之前發行的 Microsoft Rights Management Service SDK 版本已被取代;使用舊版的應用程式必須更新為使用 2020 年 3 月版本。 如需完整詳細資料,請參閱 淘汰通知

Microsoft Rights Management Service SDK 沒有進一步的增強功能。 我們強烈建議採用Microsoft 資訊保護 SDK來分類、標記和保護服務。

Microsoft Rights Management SDK 4.2 透過單一裝置屬性來管理診斷和效能記錄檔上傳。

概觀

您可以將診斷、效能及遙測記錄資料自動上傳至 Microsoft,以改善您的使用者體驗和疑難排解。

重要

若要接受使用者隱私權,身為應用程式開發人員的您必須先要求使用者同意,才能啟用自動記錄。

注意

例如,以下是 Microsoft 用來記錄通知的標準訊息︰

開啟錯誤及效能記錄後,即表示您同意將錯誤及效能資料傳送至 Microsoft。 Microsoft 會在網際網路上收集錯誤及效能資料 (以下稱「資料」)。 Microsoft 會使用這項資料,進而提供及改進 Microsoft 產品和服務的品質、安全性及完整性。 比方說,我們會分析效能及可靠性,例如使用了哪些功能、功能的回應速度、裝置效能、使用者介面互動,以及任何使用產品時遇到的問題。 資料也將包含您的軟體組態相關資訊,例如目前正在執行的軟體以及 IP 位址。

您將會透過兩個屬性來管理記錄控制。

  • 透過 IpcCustomerExperienceDataCollectionEnabled 屬性啟用記錄。 這是跨裝置重設的持續性設定。

  • 使用下列設定,透過 IpcLogLevel 屬性控制記錄層級。

    • 1 - 詳細資訊
    • 2 - 資訊
    • 3 - 警告
    • 4 - 錯誤
    • 5 - 重大

在下列每個程式碼片段範例中,呼叫應用程式可以設定或查詢屬性。

Android

啟用自動記錄

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("IpcCustomerExperienceDataCollectionEnabled", true);
editor.commit();

取得目前的記錄控制旗標設定

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
Boolean isLogUploadEnabled = preferences.getBoolean("IpcCustomerExperienceDataCollectionEnabled", false);

iOS

啟用自動記錄

NSUserDefaults \*prefs = [NSUserDefaults standardUserDefaults];
    [prefs setBool:FALSE forKey:@"IpcCustomerExperienceDataCollectionEnabled"];
    [[NSUserDefaults standardUserDefaults] synchronize];

取得目前的記錄控制旗標設定

[[NSUserDefaults standardUserDefaults] boolForKey:@"IpcCustomerExperienceDataCollectionEnabled"];

設定記錄層級控制

NSUserDefaults \*prefs = [NSUserDefaults standardUserDefaults];
    [prefs setInteger:1 forKey:@"IpcLogLevel"];
    [[NSUserDefaults standardUserDefaults] synchronize];

取得記錄層級控制設定

[[NSUserDefaults standardUserDefaults] boolForKey:@"IpcLogLevel"];

Windows

啟用自動記錄

CustomerExperienceConfiguration::Option = CustomerExperienceOptions::LoggingEnabledNow;

如需選用設定的詳細資訊,請參閱 CustomerExperienceOptions

取得目前的記錄控制旗標設定

CustomerExperienceOptions loggingOption = CustomerExperienceConfiguration::Option;

注意 - 上述是 C++ 中的 Windows 程式碼片段。 若為 C#,請使用 '.' 更新語法。 。

Linux / C++ - 此 SDK 有一些基本記錄,不如其他平台廣泛。 如需詳細資訊,請參閱可攜 C++ 的 RMS SDK 上 "README.md" 的疑難排解一節。