共用方式為


App Center Analytics (React Native)

這很重要

Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。

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

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

會話和裝置資訊

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

自訂事件

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

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

// import App Center Analytics at the top of the file.
import Analytics from 'appcenter-analytics';

Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' });

此函式會傳回承諾,成功案例會傳回空字串,而錯誤案例會傳回錯誤。

事件的屬性是選擇性的;如果您只想追蹤事件,請改用:

Analytics.trackEvent('Video clicked');

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

您可以在運行時間啟用和停用 App Center Analytics。 如果您將其停用,SDK 將不會收集應用程式的任何其他分析資訊。

await Analytics.setEnabled(false);

此函式會傳回一個 Promise,該 Promise 會解析為 void。

若要再次啟用App Center Analytics,請使用相同的API,但傳遞 true 做為參數。

await Analytics.setEnabled(true);

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

檢查 App Center 分析是否已啟用

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

const enabled = await Analytics.isEnabled();

此函式會傳回解析為 boolean的承諾。

等候 JS 啟用 App Center Analytics

如果您想要收集應用程式使用者的分析資訊,但想要先取得用戶權力,您可以選擇不要在啟動時啟用分析,但請等到正確的時間,再改為在 JavaScript 中加以啟用。

  1. 請開啟項目的 ios/YourAppName/AppDelegate.m 檔案,並將 [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; 替換為 [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];
  2. 請開啟項目的 android/app/src/main/res/values/strings.xml 檔案,並將 <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string> 替換為 <string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ENABLE_IN_JS</string>

這表示,若要將任何資訊傳送至 App Center(甚至是基本會話資訊),您必須先新增下列程式代碼行來啟用 App Center Analytics:

await Analytics.setEnabled(true);

管理啟動工作階段

根據預設,會話標識碼取決於應用程式的生命週期。 如果您想要手動控制新工作階段的開始,請遵循後續步驟:

備註

請注意 ,Analytics.StartSession() API 的每個呼叫都會產生新的會話。 如果在手動會話追蹤器模式下未呼叫此 API,則所有傳送記錄將具有空會話值。

備註

請注意,在新的應用程式啟動之後,會話標識碼將會重新產生。

若要手動設定 SDK 以追蹤工作階段,您必須使用原生分析 enableManualSessionTracker API:

  • 在iOS中,請在應用程式的[MSACAnalytics enableManualSessionTracker];委派方法裡,先呼叫[AppCenterReactNative register];,然後再呼叫didFinishLaunchingWithOptions。 如果該檔案中遺漏,請新增 @import AppCenterAnalytics

  • 在Android中,在Analytics.enableManualSessionTracker();方法中SoLoader.init呼叫onCreate之前先呼叫MainApplication.java。 如果該檔案中遺漏,請新增匯 com.microsoft.appcenter.analytics.Analytics 入。

然後,您可以在 React Native 專案中使用 startSession API:

Analytics.startSession();

本機儲存體大小

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

沒有因特網存取

當沒有任何網路連線時,SDK 會在本機記憶體中儲存最多 10 MB 的記錄。 記憶體已滿之後,SDK 會開始捨棄舊的記錄,以騰出空間供新的記錄使用。 裝置返回因特網存取之後,SDK 會每隔 6 秒傳送 50 或之後的記錄。

批處理事件記錄

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

重試和退避邏輯

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

  • 每個請求最多可嘗試3次。
  • 每個請求都有自己的重試狀態機。
  • 在一個請求耗盡其所有重試後,所有傳輸通道都會停用(直到下一次應用程式進程)。

退後邏輯

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