其他 Android Api

調整記錄層級

您可以透過在 LogCat 中顯示的 App Center 來控制記錄訊息數量。 使用 AppCenter.setLogLevel() API 在進行調試時啟用額外的記錄功能。 記錄層級對應于中定義的記錄層級 android.util.Log 。 根據預設,它會將它設定為,以 ASSERT 用於不可調試的應用程式,以及可 WARN 調試的應用程式。 您可以隨時設定記錄層級。

若要盡可能有最多的記錄訊息,請使用 Log.Verbose

AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)

識別安裝

App Center SDK 會在安裝應用程式之後,為每個裝置建立一個 UUID。 更新應用程式時,裝置的這個識別碼會保持不變,而且只有在重新安裝應用程式或使用者手動刪除所有應用程式資料時,才會產生新的識別碼。 下列 API 適用于偵錯工具用途。

AppCenter.getInstallId();
AppCenter.getInstallId()

此 API 是非同步,您可以在我們的 App Center 非同步 api 指南中閱讀更多相關資訊。

注意

只有在啟動之後,才會使用這個方法 AppCenter ,在開始之前,它一定會傳回 null

識別使用者

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

  1. AppCenter.start(...)APP Center sdk 快速入門手冊中所述,呼叫以設定 App center sdk。
  2. userID使用下列程式碼在 SDK 中設定:
AppCenter.setUserId("your-user-id");
AppCenter.setUserId("your-user-id")

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

注意

使用者識別碼的值限制為256個字元。 它會與您的損毀報告一起顯示,但不會用於匯總或受影響之使用者的計數。 如果您設定使用者識別碼多次,則只會使用最後一個使用者識別碼。 您必須在每個應用程式啟動前自行設定使用者識別碼,因為此值不是由 SDK 在啟動之間儲存的。

在執行時間停用所有服務

如果您想要一次停用所有 App Center 服務,請使用 setEnabled() API。 停用時,SDK 不會將任何資訊轉寄至 App Center。

AppCenter.setEnabled(false);
AppCenter.setEnabled(false)

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

AppCenter.setEnabled(true);
AppCenter.setEnabled(true)

狀態會保存在應用程式啟動之間的裝置儲存區中。

此 API 是非同步,您可以在我們的 App Center 非同步 api 指南中閱讀更多相關資訊。

注意

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

不允許網路要求

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

AppCenter.setNetworkRequestsAllowed(false);
AppCenter.setNetworkRequestsAllowed(false)

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

AppCenter.setNetworkRequestsAllowed(true);
AppCenter.setNetworkRequestsAllowed(true)

注意

此值會在開始時保留。

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

AppCenter.isNetworkRequestsAllowed();
AppCenter.isNetworkRequestsAllowed()

注意

先前儲存在中的值 SharedPreferences 會被忽略,直到開始為止 AppCenter 。 它會傳回使用或所設定的最後一個值( setNetworkRequestsAllowed true 如果值在 AppCenter 開始之前未變更)。

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

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

Analytics.setEnabled(false);
Analytics.setEnabled(false)

注意

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

檢查是否已啟用 App Center

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

AppCenter.isEnabled();
AppCenter.isEnabled()

此 API 是非同步,您可以在我們的 App Center 非同步 api 指南中閱讀更多相關資訊。

注意

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

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

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

AppCenter.getSdkVersion();
AppCenter.getSdkVersion()

藉由呼叫 API 來設定自訂屬性 setCustomProperties() 。 自訂屬性的有效索引鍵應符合正則運算式模式 ^[a-zA-Z][a-zA-Z0-9]*$ 。 自訂屬性的值可以是下列其中一個 JAVA 類型: StringNumber booleanDate

CustomProperties properties = new CustomProperties();
properties.set("color", "blue").set("score", 10);
AppCenter.setCustomProperties(properties);
val properties = CustomProperties()
properties.set("color", "blue").set("score", 10)
AppCenter.setCustomProperties(properties)

注意

如果您多次設定相同的自訂屬性,最後一個值將會覆寫先前的值。

您可以藉由呼叫 API 來移除任何自訂屬性 clear() 。 這只會移除裝置的屬性值。 它不會從 App Center 入口網站移除屬性名稱。

CustomProperties properties = new CustomProperties();
properties.clear("score");
AppCenter.setCustomProperties(properties);
val properties = CustomProperties()
properties.clear("score")
AppCenter.setCustomProperties(properties)

儲存體大小

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

您可以使用 setMaxStorageSize API 來設定本機資料庫的大小。 API 是非同步,而且會在您啟動 App Center 服務時呼叫回呼。 基於這個理由, setMaxStorageSize 您必須在呼叫之前呼叫 AppCenter.start(...) 。 您只可呼叫 API 一次。

// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024L).thenAccept(new AppCenterConsumer<Boolean>() {

    @Override
    public void accept(Boolean success) {
        // The success parameter is false when the size can't be honored.
    }
});
AppCenter.start("{Your App Secret}", Analytics.class);
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024).thenAccept {
    // The success parameter (it) is false when the size can't be honored.
}

AppCenter.start(application, "{Your App Secret}", Analytics::class.java)

如果您未設定最大儲存體大小,SDK 會使用預設大小上限 10 MB。 您允許設定的最小大小為 20 KB。

注意

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

注意

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

新增散發存放區

根據預設,應用程式內更新適用于從定義的商店清單安裝的應用程式。 如果您想要透過未包含在預先定義之存放區清單中的存放區來散發應用程式,您可以在 App Center 啟動之前,使用下列 API 來新增所需的套件安裝程式:

    Set<String> stores = new HashSet<String>();
    stores.add("com.store1.packageinstaller");
    stores.add("com.store2.packageinstaller");
    Distribute.addStores(stores);

注意

請勿新增像 Google Play 的商店來避免任何限制。

API 呼叫失敗

回呼可能會失敗的原因有很多。

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

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

Android SDK 中的非同步 Api

[!包含 [Android Async api]