

O SDK AWS móvel para Xamarin agora está incluído no. AWS SDK para .NET Este guia faz referência à versão arquivada do Mobile SDK para Xamarin.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Amazon Mobile Analytics
<a name="analytics"></a>

 O [Amazon Mobile Analytics](https://aws.amazon.com/mobileanalytics/) é um serviço para coletar, visualizar, compreender e extrair dados de uso do aplicativo em escala. O Mobile Analytics captura facilmente dados do dispositivo padrão e eventos personalizados, além de calcular automaticamente relatórios em seu nome. Além dos relatórios agregados listados abaixo, também é possível configurar os dados a serem exportados automaticamente para o Redshift e o S3, para análise posterior.

Com o uso do Amazon Mobile Analytics, é possível acompanhar os comportamentos dos clientes, agregar métricas, gerar visualizações de dados, além de identificar padrões significativos.

## Principais conceitos
<a name="key-concepts"></a>

### Tipos de relatórios
<a name="report-types"></a>

O Mobile Analytics oferece as seguintes alternativas de relatórios no Mobile Analytics Console:
+ Daily Active Users (Usuário ativo diariamente - DAU), Monthly Active Users (Usuário ativo mensalmente - MAU) e novos usuários
+ Fator de adesão (DAU divididos pelos MAU)
+ Número de sessões e Média de sessões para cada Usuário ativo diariamente
+ Receita média para de Usuário ativo diariamente (ARPDAU) e Receita média de cada Usuário ativo e pagante diariamente (ARPPDAU)
+ Retenção de um, três e sete dias e Retenção de uma, duas e três semanas
+ Eventos personalizados

Esses relatórios são fornecidos por meio de seis abas de relatórios no console:
+  **Visão geral** — Acompanhe nove relatórios pré-selecionados em um simple-to-review painel para ter uma ideia rápida do engajamento: MAU, DAU, novos usuários, sessões diárias, fator fixo, retenção de 1 dia, ARPDAU, usuários pagantes diários, ARPPDAU.
+  **Usuários ativos** – Rastreie o número de usuários que interagem com seu aplicativo diariamente e mensalmente, além de monitorar o fator de adesão em relação ao engajamento, envolvimento, à conquista de novos usuários e à monetização.
+  **Sessões** – Acompanhe a frequência com que seu aplicativo foi usado em determinado dia e a frequência com que cada usuário abre o seu aplicativo no decorrer de um dia.
+  **Retenção** – Acompanhe a taxa de retorno dos clientes em relação ao aplicativo, diária e semanalmente.
+  **Receita** – Acompanhe as tendências de receitas no aplicativo para identificar as áreas onde a monetização pode melhorar.
+  **Eventos personalizados** – Acompanhe as ações personalizadas e definidas pelo usuário, específicas para o seu aplicativo.

Para saber mais sobre os relatórios do Mobile Analytics e sobre como trabalhar no console do Mobile Analytics, consulte a [Visão geral dos relatórios do console do Mobile Analytics](https://docs.aws.amazon.com/mobileanalytics/latest/ug/using-the-console.html) no Guia do desenvolvedor do Mobile Analytics.

## Configuração do projeto
<a name="project-setup"></a>

### Pré-requisitos
<a name="prerequisites"></a>

Para usar o Mobile Analytics em seu aplicativo, você precisará adicionar o SDK ao seu projeto. Para fazer isso, siga as instruções em [Configuração do AWS Mobile SDK para .NET e Xamarin](setup.md).

### Definição das configurações do Mobile Analytics
<a name="configure-mobile-analytics-settings"></a>

O Mobile Analytics define algumas configurações que podem ser especificadas no arquivo awsconfig.xml:

```
var config = new MobileAnalyticsManagerConfig();
config.AllowUseDataNetwork = true;
config.DBWarningThreshold = 0.9f;
config.MaxDBSize = 5242880;
config.MaxRequestSize = 102400;
config.SessionTimeout = 5;
```
+  **SessionTimeout**- Se o aplicativo permanecer em segundo plano por um tempo maior do que SessionTimeout o cliente do Mobile Analytics encerrará a sessão atual e uma nova sessão será criada quando o aplicativo voltar ao primeiro plano. Recomendamos o uso de valores que variam de 5 a 10. O valor padrão é 5.
+  **Máximo DBSize** - O tamanho máximo do banco de dados (em bytes) usado para armazenamento local de eventos. Se o tamanho do banco de dados exceder esse valor, os eventos adicionais serão ignorados. Recomendamos o uso de valores que variam de 1MB a 10MB. O valor padrão é 5242880. (5MB).
+  **DBWarningLimite - O limite** de aviso. Os valores válidos variam entre 0 – 1. Se os valores excederem o limite, serão gerados logs de aviso. O valor padrão é 0.9.
+  **MaxRequestSize**- O tamanho máximo de uma solicitação HTTP feita ao serviço Mobile Analytics. O valor é especificado em bytes e pode variar entre 1 e 512KB. O valor padrão é os 102400 (100KB). Não use valores superiores a 512 KB. Isso pode fazer com que o serviço rejeite a solicitação HTTP.
+  **AllowUseDataNetwork**- Um valor que indica se a chamada de serviço é permitida em uma rede de dados celular. Use essa opção com cautela, pois ela pode aumentar o uso de dados do cliente.

As configurações mostrados acima são os valores padrão de cada item de configuração.

## Integração do Mobile Analytics com o seu aplicativo
<a name="integrating-mobile-analytics-with-your-application"></a>

As seções abaixo explicam como integrar o Mobile Analytics ao aplicativo.

### Criação de um aplicativo no console do Mobile Analytics
<a name="create-an-app-in-the-mobile-analytics-console"></a>

Acesse o [console do Amazon Mobile Analytics](https://aws.amazon.com/mobileanalytics/) e crie um aplicativo. Observe o valor `appId`, pois ele será necessário em um passo posterior. Quando você estiver criando um aplicativo no console do Mobile Analytics, precisará especificar o ID do grupo de identidades. Para receber as instruções sobre como criar um grupo de identidades, consulte [Configuração do AWS Mobile SDK para .NET e Xamarin](setup.md).

Para saber mais sobre como trabalhar no Console do Mobile Analytics, consulte a [Visão geral dos relatórios do console do Mobile Analytics](https://docs.aws.amazon.com/mobileanalytics/latest/ug/using-the-console.html) no Guia do desenvolvedor do Mobile Analytics.

### Crie um MobileAnalyticsManager cliente
<a name="create-a-mobileanalyticsmanager-client"></a>

Para inicializar seu MobileAnalyticsManager, GetOrCreateInstance ligue para você`MobileAnalyticsManager`, informe suas credenciais da AWS, sua região, seu ID do aplicativo Mobile Analytics e seu objeto de configuração opcional:

```
// Initialize the MobileAnalyticsManager
analyticsManager = MobileAnalyticsManager.GetOrCreateInstance(
  cognitoCredentials,
  RegionEndpoint.USEast1,
  APP_ID,
  config
);
```

O `APP_ID` será gerado para você durante o assistente de criação de aplicativos. Os dois valores devem corresponder aos usados no console do Mobile Analytics. O `APP_ID` é usado para agrupar seus dados no console do Mobile Analytics. Para localizar o ID d aplicativo após criar o aplicativo no console do Mobile Analytics, navegue até o console do Mobile Analytics e clique no ícone de engrenagem no canto superior direito da tela. Isso exibirá a página de gerenciamento de aplicativos, que lista todos os aplicativos registrados e seus aplicativos IDs.

### Registro de eventos de monetização
<a name="record-monetization-events"></a>

O AWS Mobile SDK para .NET e Xamarin fornece a classe `MonetizationEvent`, o que permite gerar eventos de monetização para rastrear as compras feitas em aplicativos móveis. O trecho de código a seguir mostra como criar um evento de monetização:

```
// 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);
```

### Registro de eventos personalizados
<a name="record-custom-events"></a>

O Mobile Analytics permite que você defina eventos personalizados. Os eventos personalizados são definidos inteiramente por você; eles ajudam a rastrear ações dos usuários específicas do seu aplicativo ou jogo. Para obter mais informações sobre os eventos personalizados, consulte [Eventos personalizados](https://aws.amazon.com/mobileanalytics/faqs/#custom-event-details).

Neste exemplo, digamos que o nosso aplicativo seja um jogo e que queremos registrar um evento quando um determinado usuário concluir um nível. Crie um evento “LevelComplete” criando uma nova `AmazonMobileAnalyticsEvent` instância:

```
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);
```

### Registro de sessões
<a name="recording-sessions"></a>

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

Quando o aplicativo perde o foco, é possível pausar a sessão. Para aplicativos iOS, no AppDelegate arquivo.cs, substitua `DidEnterBackground` e `WillEnterForeground` para chamar `MobileAnalyticsManager.PauseSesion` e `MobileAnalyticsManager.ResumeSession` conforme mostrado no seguinte trecho:

```
public override void DidEnterBackground(UIApplication application)
{
  // ...
  _manager.PauseSesson();
  // ...
}

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

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

Para aplicativos Android, chame `MobileAnalyticsManager.PauseSesion` o método OnPause () e `MobileAnalyticsManager.ResumeSession` o método OnResume () conforme mostrado no seguinte trecho de código:

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

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

Por padrão, se o usuário tirar o foco do aplicativo por menos de cinco segundos e retornar novamente ao aplicativo, a sessão será retomada. Se o usuário tirar o foco do aplicativo por cinco segundos ou mais, uma nova sessão será criada. Esta configuração é configurável no arquivo de configuração aws\$1mobile\$1analytics.json “SESSION\$1DELTA”, ao definir a propriedade referente ao número de segundos de espera antes de criar uma nova sessão.