Xamarin 的AWS行動 SDK 現在已包含在AWS SDK for .NET. 本指南參考 Xamarin 行動 SDK 的封存版本。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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儀錶板來快速瞭解參與度:MAU, DAU, 新使用者, 每日工作階段, 黏著度, 1 天後留存率, ARPDAU, 每日工作階段, ARPPDAU.
-
作用中使用者— 追蹤每天和每月有多少使用者使用您的應用程式,並監控黏著度以估計熱烈度、吸引力和獲利。
-
工作階段— 追蹤應用程式在某一天的使用頻率,以及一天中每個使用者開啟應用程式的頻率。
-
Retention— 追蹤客户每天和每週再次使用應用程式的速率。
-
Revenue (營收)— 追蹤應用程式內收入的趨勢,以找出可改善獲利的領域。
-
自訂事件— 追蹤應用程式特定的自訂自訂使用者動作。
要瞭解有關 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(5 MB)。
-
DBWarningThreashold-警告閾值。有效值範圍介於 0-1 之間。如果值超過閾值,將生成警告日誌。預設值為 0.9。
-
MaxRequest大小-向 Mobile Analytics 服務發出的 HTTP 請求的最大大小。該值以字節為單位指定,範圍介於 1-512KB 之間。默認值的操作系統 不要使用大於 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 開發人員指南中)。
建立MobileAnalytics管理員客户端
若要初始化MobileAnalytics經理,呼叫GetOrCreateInstance在您的MobileAnalyticsManager
,傳遞您的 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 控制台,單擊屏幕右上角的齒輪圖標。這將顯示應用程序管理頁面,其中列出了所有已註冊的應用程序及其應用 ID。
記錄獲利事件
適用於 .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 允許您定義自定義事件。自定義事件完全由您定義;它們可幫助您跟蹤特定於應用或遊戲的用户操作。如需自訂事件的詳細資訊,請參自訂事件
在這個例子中,我們會説我們的應用程序是一個遊戲,並且我們希望在用户完成一個關卡時記錄一個事件。建立」LevelComplete」事件,方法是創建一個新的AmazonMobileAnalyticsEvent
實例:
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
對於安卓應用程序調用MobileAnalyticsManager.PauseSesion
中的OnPause() 方法和MobileAnalyticsManager.ResumeSession
中的OnResume() 方法,如下程式碼片段所示:
protected override void OnResume() { _manager.ResumeSession(); base.OnResume(); } protected override void OnPause() { _manager.PauseSession(); base.OnPause(); }
默認情況下,如果用户將焦點從應用程序切換到不到 5 秒,並切換回應用程序,則會話將恢復。如果用户將焦點從應用程序切換為 5 秒或更長時間,將創建一個新會話。通過將「SESSION_DELTA」屬性設置為創建新會話之前等待的秒數,可以在 aws_Mobile_json 配置文件中配置此設置。