App Center Analytics (Apache Cordova)

重要

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

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

注意

Cordova Apps 的支援已於 2022 年 4 月結束。 在 App Center 部落格中尋找詳細資訊。

App Center Analytics 可協助您了解使用者行為和客戶參與,以改善您的應用程式。 SDK 會自動擷取會話計數和裝置屬性,例如模型、OS 版本等。您可以定義自己的自定義事件,以測量對您而言很重要的專案。 您可以在 App Center 入口網站中取得擷取的所有資訊,以便您分析數據。

如果您尚未在應用程式中設定 SDK,請遵循 開始使用 一節。

會話和裝置資訊

將 App Center Analytics 新增至您的應用程式並啟動 SDK 之後,它會自動追蹤會話和裝置屬性,例如 OS 版本、模型等等。

自訂事件

您可以使用 最多 20 個屬性 來追蹤自己的自訂事件,以瞭解使用者與應用程式之間的互動。

啟動 SDK 之後,請使用 trackEvent 方法來追蹤事件與屬性。 您最多可以傳送 200 個不同的事件名稱。 此外,每個事件名稱的最大限制為 256 個字元,每個事件屬性名稱和事件屬性值有 125 個字元。

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);

此函式會使用第三個參數作為成功回呼,它會傳回空字串,第四個參數作為傳回錯誤的錯誤回呼。

事件的屬性完全是選擇性的。 如果您只想要追蹤事件,請改用此範例:

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.trackEvent('Video clicked', success, error);

在運行時間啟用或停用 App Center Analytics

您可以在運行時間啟用和停用 App Center Analytics。 如果您停用此功能,SDK 將不再收集應用程式的分析資訊。

var success = function() {
    console.log("Analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(false, success, error);

此函式會使用第二個參數作為成功回呼,它會傳回空字串,而第三個參數作為傳回錯誤的錯誤回呼。 若要再次啟用App Center Analytics,請使用相同的API,但傳遞 true 為參數。

var success = function() {
    console.log("Analytics enabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

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

檢查 App Center Analytics 是否已啟用

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

var success = function(result) {
    console.log("analytics " + (result) ? "enabled" : "disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.isEnabled(success, error);

此函式使用第一個參數作為成功回呼,它會傳回 和 boolean 第二個參數作為傳回錯誤的錯誤回呼。

等候 JS 啟用 App Center Analytics

在某些情況下,應用程式可能會想要詢問使用者是否想要共用分析資訊。 在這裡情況下,您應該將喜好設定 APPCENTER_ANALYTICS_ENABLE_IN_JS 變更為 trueconfig.xml

<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />

這表示,若要將任何資訊傳送至 App Center (甚至是基本會話資訊) ,開發人員必須先在應用程式內啟用 App Center Analytics,方法是將下列這一行新增至其程式代碼。

var success = function() {
    console.log("analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

本機儲存體大小

根據預設,SDK 會在記憶體中儲存最多 10 MB 的記錄。

沒有因特網存取

當沒有任何網路連線時,SDK 會在本機記憶體中儲存最多 10 MB 的記錄。 記憶體已滿之後,SDK 會開始捨棄舊的記錄,以空間容納新的記錄。 一旦裝置重新存取因特網,SDK 就會每隔 3 秒傳送 50 或之後的記錄。

批處理事件記錄

App Center SDK 會在 50 個批次中上傳記錄,如果 SDK 沒有 50 個要傳送的記錄,它仍會在 3 秒後傳送記錄。 最多可以平行傳送三個批次。

重試和輪詢邏輯

App Center SDK 支援可復原網路錯誤的輪詢重試。 以下是重試邏輯:

  • 3 次嘗試每個要求的最大數目。
  • 每個要求都有自己的重試狀態機器。
  • 所有傳輸通道都會停用 (,直到下一個應用程式進程在一個要求耗盡所有重試之後) 為止。

倒退邏輯

  • 50% 隨機化,第一次重試 5 秒到 10 秒,第二次重試介於 2.5 到 5 分鐘之間,最後嘗試 10 到 20 分鐘。
  • 如果網路從關閉切換至 (或從wi-fi切換至行動裝置) ,則會重設重試狀態,並立即重試要求。