Amazon Mobile Analytics - AWS Mobile SDK

Xamarin 的AWS行動 SDK 現在已包含在AWS SDK for .NET. 本指南參考 Xamarin 行動 SDK 的封存版本。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Mobile Analytics

Amazon Mobile Analytics是一種能大規模收集、視覺化、了解和抽取應用程式用量資料的服務。Mobile Analytics 可以輕鬆捕獲標準裝置資料和自訂事件,並代替您自動計算報告。除了下列出的彙總報告,您也可以設定將資料自動匯出到 Redshift 和 S3 以進一步分析。

使用 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 文件, 覆蓋DidEnterBackgroundWillEnterForeground呼叫MobileAnalyticsManager.PauseSesionMobileAnalyticsManager.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 配置文件中配置此設置。