App Center Analytics (Unity)
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
App Center Analytics 可協助您了解使用者行為和客戶參與,以改善您的應用程式。 SDK 會自動擷取會話計數和裝置屬性,例如模型、OS 版本等。您可以定義自己的自定義事件,以測量對您而言很重要的專案。 您可以在 App Center 入口網站中取得擷取的所有資訊,以便您分析數據。
如果您尚未在應用程式中設定 SDK,請遵循 Unity 開始使用 一節中的指示。
注意
若要使用下面顯示的 API,您必須將下列 using
語句新增至您的 .cs
檔案:
using Microsoft.AppCenter.Unity.Analytics;
您也必須確定已在 App Center 遊戲物件的設定中核取 [使用分析 ]。
新增 App Center Analytics 並啟動 SDK 之後,它會自動追蹤工作階段和裝置屬性,例如 OS 版本、模型等等,而不需要應用程式中的任何其他程式碼。
您可以使用最多 20 個屬性來追蹤自己的自定義事件,以瞭解應用程式發生的情況、瞭解用戶動作,以及查看 App Center 入口網站中的匯總。
TrackEvent()
使用方法來追蹤事件與屬性。 您最多可以傳送 200 個不同的事件名稱。 每個事件名稱和值的最大限制為 256 個字元,每個事件屬性名稱和值有 125 個字元。
Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi" }
});
事件的屬性是選擇性的 – 如果您只想要追蹤事件,請改用此範例:
Analytics.TrackEvent("Video clicked");
警告
Analytics.TrackEvent()
如果在腳本 AppCenterBehavior.cs
中的 方法之前Awake()
呼叫平臺,其行為不一致。 若要安全,您應該只依賴在應用程式中第一個場景喚醒所有 MonoBehaviour
腳本之後傳送的事件。 若要追蹤事件與 MonoBehavour
的初始化,請考慮將 API 新增至文稿的 Start()
方法,而不是 Awake()
。
您可以在運行時間啟用和停用 App Center Analytics。 如果您停用此功能,SDK 將會停止收集應用程式的分析資訊。 若要停用分析,請使用下列 API,以 false
參數的形式傳遞。
Analytics.SetEnabledAsync(false);
若要再次啟用App Center Analytics,請使用相同的API,但傳遞 true
為參數。
Analytics.SetEnabledAsync(true);
狀態會保存在裝置的記憶體中,而應用程式會啟動。
此 API 是異步的,您可以在我們的 App Center 異步 API 指南 中深入瞭解。
您也可以檢查 App Center Analytics 是否已啟用。
bool isEnabled = await Analytics.IsEnabledAsync();
您可以追蹤重要性高於其他事件的商務關鍵事件。
開發人員可以在 API) 或 API) 中將事件持續性設定為 NormalFlags.PersistenceNormal
(或 重大 (Flags.PersistenceCritical
。
您可以使用下列 API,將事件追蹤為 [重大]:
Analytics.TrackEvent("eventName", Flags.PersistenceCritical);
如果您使用屬性:
Analytics.TrackEvent("eventName", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi" }
}, Flags.PersistenceCritical);
暫停事件傳輸在應用程式需要控制網路頻寬以取得更多業務關鍵需求的案例中很有用。 您可以暫停將記錄傳送至 App Center 後端。 暫停時,事件仍可追蹤和儲存,但不會立即傳送。 應用程式在暫停時追蹤的任何事件,只會在您呼叫 Analytics.Resume
之後傳送。
Analytics.Pause();
Analytics.Resume();
此 API 是異步的,您可以在我們的 App Center 異步 API 指南 中深入瞭解。
根據預設,會話標識碼取決於應用程式的生命週期。 如果您想要手動控制新工作階段的開始,請遵循後續步驟:
注意
請注意,每個 Analytics.StartSession () API 呼叫都會產生新的會話。 如果在手動會話追蹤器模式中,將不會呼叫此 API,則所有傳送記錄都會有 Null 會話值。
注意
請注意,在新的應用程式啟動之後,會話標識碼將會重新產生。
- 在附加 AppCenterBehavior 的遊戲物件上,取消核取 [分析] 區段底下的 [啟用手動會話追蹤器] 複選框。
- 然後,您可以在 之後
AppCenter.Start
使用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切換至行動裝置) ,則會重設重試狀態,並立即重試要求。