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
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 AnalyticsappId
, 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.