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。