這很重要
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 中加以啟用。
- 請開啟項目的
ios/YourAppName/AppDelegate.m檔案,並將[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];替換為[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];。 - 請開啟項目的
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 切換至行動裝置),則會重設重試狀態,並立即重試要求。