

适用于 Xamarin 的 AWS 移动 SDK 现已包含在。 适用于 .NET 的 AWS SDK本指南参考了适用于 Xamarin 的 Mobile SDK 的存档版本。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过 Amazon Mobile Analytics 跟踪应用程序使用率数据
<a name="getting-started-analytics"></a>

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

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

## 项目设置
<a name="project-setup"></a>

### 先决条件
<a name="prerequisites"></a>

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

### 在 Mobile Analytics 控制台中创建应用程序
<a name="create-an-app-in-the-mobile-analytics-console"></a>

转到 [Amazon Mobile Analytics 控制台](https://aws.amazon.com/mobileanalytics/)并创建应用程序。请记下 `appId` 值，因为您稍后会用到它。在 Mobile Analytics 控制台中创建应用程序时，您需要指定身份池 ID。有关创建身份池的说明，请参阅[设置适用于 .NET 和 Xamarin 的 AWS Mobile SDK](setup.md)。

要详细了解如何使用控制台，请参阅 [Amazon Mobile Analytics 用户指南](https://docs.aws.amazon.com/mobileanalytics/latest/ug/)。

### 设置 Mobile Analytics 的权限
<a name="set-permissions-for-mobile-analytics"></a>

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

### 将 Mobile Analytics Package 添加到 NuGet 您的项目中
<a name="add-nuget-package-for-mobile-analytics-to-your-project"></a>

按照[设置适用于.NET 和 Xamarin 的 AWS 移动软件开发工具包中说明的](setup.md)第 4 步，将 Mobile Analytics 软件包添加到您的 NuGet 项目中。

### 配置 Mobile Analytics 设置
<a name="configure-mobile-analytics-settings"></a>

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 -一个布尔值，用于指定会话事件是否通过数据网络发送。
+ DBWarning阈值-这是对数据库大小的限制，一旦达到该限制，就会生成警告日志。
+ Max DBSize -这是 SQLIte 数据库的大小。如果数据库大小达到此上限值，任何后续事件都将被丢弃。
+ MaxRequestSize -这是应在 HTTP 请求中传输到移动分析服务的请求的最大大小（以字节为单位）。
+ SessionTimeout -这是应用程序进入后台之后以及可以终止会话的时间间隔。

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

## 初始化 MobileAnalyticsManager
<a name="initialize-mobileanalyticsmanager"></a>

要初始化您的 MobileAnalyticsManager，请调用 GetOrCreateInstance 您`MobileAnalyticsManager`的 AWS 证书、您的区域、您的 Mobile Analytics 应用程序 ID 和可选的配置对象：

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

## 跟踪会话事件
<a name="track-session-events"></a>

### Xamarin Android
<a name="xamarin-android"></a>

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

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

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

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

### Xamarin iOS
<a name="xamarin-ios"></a>

在你的 AppDelegate .cs 中：

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

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

有关 Mobile Analytics 的更多信息，请参阅 [Amazon Mobile Analytics](analytics.md)。