Amazon Mobile Analytics - AWS Mobile SDK

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

Amazon Mobile Analytics

O Amazon Mobile Analytics é 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

Tipos de relatórios

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 – Rastreie nove relatórios pré-selecionados em um painel de revisão simples, para ter uma rápida noção da captação: MAU, DAU, Novos usuários, Fator de adesão, Sessões diárias, Retenção de um dia, ARPDAU, Usuários diários pagantes, 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 no Guia do desenvolvedor do Mobile Analytics.

Configuração do projeto

Pré-requisitos

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.

Definição das configurações do Mobile Analytics

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 o SessionTimeout do cliente, o Mobile Analytics encerrará a sessão atual e uma nova sessão será criada quando o aplicativo retornar para o primeiro plano. Recomendamos o uso de valores que variam de 5 a 10. O valor padrão é 5.

  • MaxDBSize – O tamanho máximo do banco de dados (em bytes) usado para o 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).

  • DBWarningThreashold – O Limite de advertências. 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 o serviço é permitido em uma rede de dados celulares. 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

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

Criação de um aplicativo no console do Mobile Analytics

Acesse o console do Amazon Mobile Analytics 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.

Para saber mais sobre como trabalhar no Console do Mobile Analytics, consulte a Visão geral dos relatórios do console do Mobile Analytics no Guia do desenvolvedor do Mobile Analytics.

Crie um cliente do MobileAnalyticsManager

Para inicializar o MobileAnalyticsManager, convoque GetOrCreateInstance no MobileAnalyticsManager, para ser aprovado nas credenciais do AWS, em sua região, no ID do aplicativo do Mobile Analytics e no objeto opcional de configuração:

// 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. A página App Management será exibida, listando todos os aplicativos registrados e seus IDs de aplicativo.

Registro de eventos de monetização

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

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.

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 instância 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);

Registro de sessões

Xamarin iOS

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

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

Xamarin Android

Nos aplicativos Android, convoque MobileAnalyticsManager.PauseSesion no método OnPause()e MobileAnalyticsManager.ResumeSession no método OnResume (), conforme mostrado no seguinte 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_mobile_analytics.json “SESSION_DELTA”, ao definir a propriedade referente ao número de segundos de espera antes de criar uma nova sessão.