適用於 Xamarin 的 AWS Mobile SDK 現在已包含在 中 適用於 .NET 的 AWS SDK。本指南參考 Mobile SDK for Xamarin 的封存版本。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Mobile Analytics
Amazon Mobile Analytics
使用 Amazon Mobile Analytics,您可以追蹤客戶行為、彙總指標、產生資料視覺化,以及識別有意義的模式。
重要概念
報告類型
Mobile Analytics 在 Mobile Analytics 主控台中提供下列報告,現成可用:
-
每日作用中使用者 (DAU)、每月作用中使用者 (MAU),和新使用者
-
黏著度 (DAU 除以 MAU)
-
根據每日作用中使用者的工作階段計數和平均工作階段
-
每日作用中使用者的平均營收 (ARPDAU) 和每日支付作用中使用者的平均營收 (ARPPDAU)
-
1、3、7 天後留存率和 1、2、3 週後留存率
-
自訂事件
這些報告是透過主控台中的六個報告索引標籤提供:
-
概觀 – 在simple-to-review的儀表板中追蹤九個預先選取的報告,快速了解互動:MAA、DAU、新使用者、每日工作階段、黏性因素、1-Day保留期、ARPDAU、每日付款使用者、ARPPDAU。
-
作用中使用者 – 追蹤每天和每月有多少使用者與您的應用程式互動,並監控黏性因素,以衡量參與度、吸引力和獲利。
-
工作階段 – 追蹤您的應用程式在特定日期的使用頻率,以及每位使用者在一天內開啟應用程式的頻率。
-
保留 – 追蹤客戶每天和每週返回應用程式的速率。
-
營收 – 追蹤應用程式內營收趨勢,以識別獲利改善的領域。
-
自訂事件 – 追蹤您應用程式特有的自訂定義使用者動作。
若要進一步了解 Mobile Analytics 報告以及在 Mobile Analytics 主控台中運作,請參閱 Mobile Analytics 開發人員指南中的 Mobile Analytics 主控台報告概觀。 Mobile Analytics
專案設定
先決條件
若要在應用程式中使用 Mobile Analytics,您需要將 SDK 新增至專案。若要執行此作業,請遵循設定適用於 .NET 和 Xamarin 的 AWS Mobile SDK 中的指示。
設定 Mobile Analytics 設定
Mobile Analytics 會定義一些可在 awsconfig.xml 檔案中設定的設定:
var config = new MobileAnalyticsManagerConfig(); config.AllowUseDataNetwork = true; config.DBWarningThreshold = 0.9f; config.MaxDBSize = 5242880; config.MaxRequestSize = 102400; config.SessionTimeout = 5;
-
SessionTimeout - 如果應用程式停留在背景的時間大於 SessionTimeout,則 Mobile Analytics 用戶端會終止目前的工作階段,並在應用程式回到前景時建立新的工作階段。我們建議使用介於 5 到 10 之間的值。預設值為 5。
-
MaxDBSize - 用於事件本機儲存的資料庫大小上限 (以位元組為單位)。如果資料庫大小超過此值,則會忽略其他事件。建議使用 1MB 到 10MB 的值。預設值為 5242880 (5MB)。
-
DBWarningThreashold - 警告閾值。有效值的範圍介於 0 到 1 之間。如果值超過閾值,將產生警告日誌。預設值為 0.9。
-
MaxRequestSize - 對 Mobile Analytics 服務提出的 HTTP 請求大小上限。此值以位元組為單位指定,範圍介於 1-512KB 之間。預設值 os 102400 (100KB)。請勿使用大於 512KB 的值,這可能會導致服務拒絕 HTTP 請求。
-
AllowUseDataNetwork - 指出是否允許透過行動數據網路進行服務呼叫的值。請謹慎使用此選項,因為這可能會增加客戶的資料用量。
上面顯示的設定是每個組態項目的預設值。
將 Mobile Analytics 與您的應用程式整合
以下各節說明如何將 Mobile Analytics 與您的應用程式整合。
在 Mobile Analytics 主控台中建立應用程式
前往 Amazon Mobile Analytics 主控台appId值,因為稍後會需要它。當您在 Mobile Analytics 主控台中建立應用程式時,您需要指定身分集區 ID。如需建立身分集區的指示,請參閱設定適用於 .NET 和 Xamarin 的 AWS Mobile SDK。
若要進一步了解如何在 Mobile Analytics 主控台中使用 ,請參閱 Mobile Analytics 開發人員指南中的 Mobile Analytics 主控台報告概觀。 Mobile Analytics
建立 MobileAnalyticsManager 用戶端
若要初始化 MobileAnalyticsManager,請在 上呼叫 GetOrCreateInstanceMobileAnalyticsManager,並傳入您的 AWS 登入資料、您的區域、您的 Mobile Analytics 應用程式 ID 和您的選用組態物件:
// Initialize the MobileAnalyticsManager analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( cognitoCredentials, RegionEndpoint.USEast1, APP_ID, config );
APP_ID 會在應用程式建立精靈期間為您產生 。這兩個值都必須符合 Mobile Analytics 主控台中的值。APP_ID 用於在 Mobile Analytics 主控台中將您的資料分組。若要在 Mobile Analytics 主控台中建立應用程式後尋找您的應用程式 ID,請瀏覽至 Mobile Analytics 主控台,然後按一下畫面右上角的齒輪圖示。這會顯示應用程式管理頁面,其中列出所有已註冊的應用程式及其應用程式 IDs。
記錄獲利事件
適用於 .NET 和 Xamarin 的 AWS Mobile SDK 提供 MonetizationEvent類別,可讓您產生獲利事件,以追蹤行動應用程式中的購買。下列程式碼片段示範如何建立獲利事件:
// Create the monetization event object MonetizationEvent monetizationEvent = new MonetizationEvent(); // Set the details of the monetization event monetizationEvent.Quantity = 3.0; monetizationEvent.ItemPrice = 1.99; monetizationEvent.ProductId = "ProductId123"; monetizationEvent.ItemPriceFormatted = "$1.99"; monetizationEvent.Store = "Your-App-Store"; monetizationEvent.TransactionId = "TransactionId123"; monetizationEvent.Currency = "USD"; // Record the monetiziation event analyticsManager.RecordEvent(monetizationEvent);
記錄自訂事件
Mobile Analytics 可讓您定義自訂事件。自訂事件完全由您定義;它們可協助您追蹤應用程式或遊戲特定的使用者動作。如需自訂事件的詳細資訊,請參閱自訂事件
在此範例中,我們會說我們的應用程式是遊戲,而且我們希望在使用者完成關卡時記錄事件。透過建立新的AmazonMobileAnalyticsEvent執行個體來建立「LevelComplete」事件:
CustomEvent customEvent = new CustomEvent("LevelComplete"); // Add attributes customEvent.AddAttribute("LevelName","Level1"); customEvent.AddAttribute("CharacterClass","Warrior"); customEvent.AddAttribute("Successful","True"); // Add metrics customEvent.AddMetric("Score",12345); customEvent.AddMetric("TimeInLevel",64); // Record the event analyticsManager.RecordEvent(customEvent);
錄製工作階段
Xamarin iOS
當應用程式失去焦點時,您可以暫停工作階段。對於 iOS 應用程式,在 AppDelegate.cs 檔案中,覆寫 DidEnterBackground 和 WillEnterForeground以呼叫 MobileAnalyticsManager.PauseSesion和 MobileAnalyticsManager.ResumeSession,如下列程式碼片段所示:
public override void DidEnterBackground(UIApplication application) { // ... _manager.PauseSesson(); // ... } public override void WillEnterForeground(UIApplication application) { // ... _manager.ResumeSession(); // ... }
Xamarin Android
對於 Android 應用程式,MobileAnalyticsManager.PauseSesion請在 OnPause() 方法和 OnResume() 方法MobileAnalyticsManager.ResumeSession中呼叫 ,如下列程式碼片段所示:
protected override void OnResume() { _manager.ResumeSession(); base.OnResume(); } protected override void OnPause() { _manager.PauseSession(); base.OnPause(); }
根據預設,如果使用者將焦點切換離開應用程式不到 5 秒,且切換回應用程式,則工作階段將會繼續。如果使用者將焦點切換離開應用程式 5 秒或更長時間,則會建立新的工作階段。此設定可在 aws_mobile_analytics.json 組態檔案中設定,方法是將 "SESSION_DELTA" 屬性設定為建立新工作階段之前等待的秒數。