通过 Amazon Mobile Analytics 跟踪应用程序使用率数据 - AWS Mobile SDK

AWS SDK for .NET 现在包括适用于 Xamarin 的 AWS Mobile SDK。本指南参考了适用于 Xamarin 的 Mobile SDK 的存档版本。

通过 Amazon Mobile Analytics 跟踪应用程序使用率数据

借助 Amazon Mobile Analytics,您可以衡量应用程序的使用和收入情况。通过跟踪新老用户、应用程序收入、用户保留率及自定义应用程序内行为事件等关键趋势,您可以做出数据驱动型决策,以提高应用程序的吸引力和盈利能力。

下面的教程将阐述如何将 Mobile Analytics 与您的应用程序集成。

项目设置

先决条件

在开始本教程前,必须先完成有关设置适用于 .NET 和 Xamarin 的 AWS Mobile SDK 的说明中的所有步骤。

在 Mobile Analytics 控制台中创建应用程序

转到 Amazon Mobile Analytics 控制台并创建应用程序。请记下 appId 值,因为您稍后会用到它。在 Mobile Analytics 控制台中创建应用程序时,您需要指定身份池 ID。有关创建身份池的说明,请参阅设置适用于 .NET 和 Xamarin 的 AWS Mobile SDK

要详细了解如何使用控制台,请参阅 Amazon Mobile Analytics 用户指南

设置 Mobile Analytics 的权限

按照与您在设置期间所创建的角色相关联的默认策略,系统将授予您的应用程序访问 Mobile Analytics 的权限。无需作进一步配置。

将 Mobile Analytics NuGet 程序包添加到项目中

按照设置适用于 .NET 和 Xamarin 的 AWS Mobile SDK 中第 4 步的说明操作,将 Mobile Analytics NuGet 程序包添加到您的项目中。

配置 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;
  • AllowUseDataNetwork – 布尔值,用于指定是否通过数据网络发送会话事件。

  • DBWarningThreshold – 数据库的大小限制,达到该限制后,会生成警告日志。

  • MaxDBSize – SQLIte 数据库的大小。如果数据库大小达到此上限值,任何后续事件都将被丢弃。

  • MaxRequestSize – 应在 HTTP 请求中传送到 Mobile Analytics 服务的请求的字节数上限。

  • SessionTimeout – 从应用程序进入后台到可以终止会话之间的时间间隔。

上方显示的设置均为每个配置项目的默认值。

初始化 MobileAnalyticsManager

要初始化您的 MobileAnalyticsManager,请对 MobileAnalyticsManager 调用 GetOrCreateInstance,并传入您的 AWS 凭证、您的区域、Mobile Analytics 应用程序 ID 及可选的配置对象:

var manager = MobileAnalyticsManager.GetOrCreateInstance( "APP_ID", "Credentials", "RegionEndPoint", config );

跟踪会话事件

Xamarin Android

覆盖活动的 OnPause()OnResume() 方法以记录会话事件。

protected override void OnResume() { manager.ResumeSession(); base.OnResume(); } protected override void OnPause() { manager.PauseSession(); base.OnPause(); }

您应用程序中的每个活动都需要实施此操作。

Xamarin iOS

在您的 AppDelegate.cs 中:

public override void DidEnterBackground(UIApplication application) { manager.PauseSession(); } public override void WillEnterForeground(UIApplication application) { manager.ResumeSession(); }

有关 Mobile Analytics 的更多信息,请参阅 Amazon Mobile Analytics