Amazon Mobile Analytics - AWS Mobile SDK para Unity

O AWS Mobile SDK para Unity agora está incluído na AWS SDK for .NET. Este guia faz referência à versão arquivada do Mobile SDK para Unity. Para obter mais informações, consulte O que é o AWS Mobile SDK para Unity?.

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. Para obter mais informações sobre o Mobile Analytics, consulte AWS Mobile Analytics.

Integração do Amazon Mobile Analytics

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.

nota

Para saber mais informações sobre como trabalhar no console, consulte o Guia do usuário do Amazon Mobile Analytics.

Quando você estiver criando um aplicativo no console do Mobile Analytics, precisará especificar o ID do grupo de identidades do Cognito. Para criar um novo grupo de identidades do Cognito e gerar um ID, consulte Guia do desenvolvedor do Cognito Identity.

Integração do Mobile Analytics ao aplicativo

Para acessar o Mobile Analytics no Unity, você precisará das seguintes instruções:

using Amazon.MobileAnalytics.MobileAnalyticsManager; using Amazon.CognitoIdentity;

A prática recomendada é usar o Amazon Cognito para fornecer ao aplicativo credenciais temporárias da AWS. Essas credenciais permitem que o aplicativo acessar os recursos da AWS. Para criar um provedor de credenciais, siga as instruções em Amazon Cognito Identity.

Criação de uma instância do MobileAnalyticsManager com as seguintes informações:

  • cognitoIdentityPoolId - O ID do grupo de identidades do Cognito para o aplicativo

  • cognitoRegion – a região do grupo de identidades do Cognito, por exemplo, "RegionEndpoint.USEast1"

  • region – a região do serviço Mobile Analytics, por exemplo, "RegionEndpoint.USEast1"

  • appId – O valor gerado pelo console do Mobile Analytics quando você adiciona um aplicativo

Use o MobileAnalyticsClientContextConfig para inicializar uma instância MobileAnalyticsManager conforme mostrado no trecho de código a seguir:

// Initialize the MobileAnalyticsManager void Start() { // ... analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( new CognitoAWSCredentials(<cognitoIdentityPoolId>, <cognitoRegion>), <region>, <appId>); // ... }
nota

O ID do aplicativo é gerado para você durante o assistente de criação de aplicativos. Os dois valores devem corresponder aos usados no console do Mobile Analytics.

O appId é 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 SDK para Unity fornece a classe MonetizationEvent, o que permite a você 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 eventos personalizados, consulte Eventos personalizados. Neste exemplo, vamos supor que seu aplicativo seja um jogo e você queira registrar um evento quando um usuário conclui 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

Quando o aplicativo perde o foco, é possível pausar a sessão. Em OnApplicationFocus, verifique se o aplicativo está sendo pausado. Em caso afirmativo, chame PauseSession; do contrário, chame ResumeSession conforme mostrado no trecho de código a seguir:

void OnApplicationFocus(bool focus) { if(focus) { analyticsManager.ResumeSession(); } else { analyticsManager.PauseSession(); } }

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. Essa configuração pode ser definida no arquivo awsconfig.xml. Para obter mais informações, consulte a seção Configuração do Mobile Analytics em Conceitos básicos do AWS Mobile SDK para Unity.