Partilhar via


Análise do App Center (Unity)

Importante

O Visual Studio App Center foi desativado em 31 de março de 2025, exceto para os recursos de Análise e Diagnóstico, que continuarão a ter suporte até 30 de junho de 2026. Mais informações.

O App Center Analytics ajuda você a entender o comportamento do usuário e o envolvimento do cliente para melhorar seu aplicativo. O SDK captura automaticamente a contagem de sessões e as propriedades do dispositivo, como modelo, versão do sistema operacional, etc. Você pode definir seus próprios eventos personalizados para medir coisas que são importantes para você. Todas as informações capturadas estão disponíveis no portal do App Center para você analisar os dados.

Siga as instruções na seção Introdução do Unity se ainda não configurou o SDK em seu aplicativo.

Observação

Para usar as APIs apresentadas abaixo, você deve adicionar a seguinte using instrução ao seu .cs arquivo:

using Microsoft.AppCenter.Unity.Analytics;

Você também deve verificar se Usar o Google Analytics está marcado nas configurações do seu objeto de jogo do App Center.

Informações da sessão e do dispositivo

Depois de adicionar o App Center Analytics e iniciar o SDK, ele rastreará automaticamente as sessões e as propriedades do dispositivo, como versão do sistema operacional, modelo, etc., sem exigir nenhum código adicional em seu aplicativo.

Eventos personalizados

Você pode acompanhar seus próprios eventos personalizados com até 20 propriedades para saber o que está acontecendo em seu aplicativo, entender as ações do usuário e ver as agregações no portal do App Center.

Use o método TrackEvent() para rastrear os seus eventos com propriedades. Você pode enviar até 200 nomes de eventos distintos. Há um limite máximo de 256 caracteres por nome de evento e 125 caracteres por nome e valor de propriedade de evento.

Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi" }
});

As propriedades dos eventos são opcionais – se você quiser apenas acompanhar um evento, use este exemplo:

Analytics.TrackEvent("Video clicked");

Advertência

Analytics.TrackEvent() comporta de forma inconsistente em diferentes plataformas se for chamado antes do método Awake() no script AppCenterBehavior.cs. Para estar seguro, você só deve confiar em eventos a serem enviados depois que a primeira cena em seu aplicativo tiver despertado MonoBehaviour todos os scripts. Para monitorizar um evento em conjunto com a inicialização de um MonoBehavour, considere adicionar a API ao método Start() do seu script em vez de Awake().

Habilitar ou desabilitar o App Center Analytics em tempo de execução

Você pode ativar e desativar o App Center Analytics em tempo de execução. Se você desativá-lo, o SDK parará de coletar informações de análise para o aplicativo. Para desativar o Analytics, use a seguinte API, passando false como parâmetro.

Analytics.SetEnabledAsync(false);

Para habilitar o App Center Analytics novamente, use a mesma API, mas passe true como parâmetro.

Analytics.SetEnabledAsync(true);

O estado é persistido no armazenamento do dispositivo em todas as inicializações de aplicativos.

Essa API é assíncrona, você pode ler mais sobre em nosso guia de APIs assíncronas do App Center .

Verifique se o App Center Analytics está ativado

Você também pode verificar se o App Center Analytics está habilitado ou não.

bool isEnabled = await Analytics.IsEnabledAsync();

Prioridade e persistência do evento

Você pode acompanhar eventos críticos para os negócios que têm maior importância do que outros eventos.

Os desenvolvedores podem definir a persistência de eventos como Normal (Flags.PersistenceNormal na API) ou Crítica (Flags.PersistenceCritical na API).

Você pode usar a seguinte API para rastrear um evento como Crítico:

Analytics.TrackEvent("eventName", Flags.PersistenceCritical);

Se você estiver usando propriedades:

Analytics.TrackEvent("eventName", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi" }
}, Flags.PersistenceCritical);

Pausar e retomar o envio de logs

Pausar a transmissão de eventos pode ser útil em cenários em que o aplicativo precisa controlar a largura de banda da rede para necessidades mais críticas de negócios. Você pode pausar o envio de logs para o back-end do App Center. Quando pausados, os eventos ainda podem ser rastreados e salvos, mas não são enviados imediatamente. Quaisquer eventos que a sua aplicação registe enquanto pausada só serão enviados quando chamar Analytics.Resume.

Analytics.Pause();
Analytics.Resume();

Essa API é assíncrona, você pode ler mais sobre em nosso guia de APIs assíncronas do App Center .

Gerenciar sessão de início

Por padrão, o ID da sessão depende do ciclo de vida do aplicativo. Se você quiser controlar o início de uma nova sessão manualmente, siga as próximas etapas:

Observação

Preste atenção que cada chamada da API Analytics.StartSession() gerará uma nova sessão. Se no modo de rastreador de sessão manual essa API não for chamada, todos os logs de envio terão um valor de sessão nulo.

Observação

Preste atenção que, após o lançamento de um novo aplicativo, o ID da sessão será regenerado.

  • Desmarque a caixa de seleção Ativar Rastreador de Sessão Manual na seção Analytics no objeto de jogo ao qual o AppCenterBehavior está anexado.
  • Em seguida, você pode usar a StartSession API após o AppCenter.Start:
Analytics.StartSession();

Tamanho do armazenamento local

Por padrão, o SDK armazena até 10 MB de logs no armazenamento.

Sem acesso à internet

Quando não há conectividade de rede, o SDK salva até 10 MB de logs no armazenamento local. Quando o armazenamento estiver cheio, o SDK começará a descartar logs antigos para abrir espaço para os novos logs. Assim que o dispositivo tiver acesso à Internet de volta, o SDK enviará logs no lote de 50 ou após cada 6 segundos.

Registo de eventos em lote

O SDK do App Center carrega logs em um lote de 50 e, se o SDK não tiver 50 logs para enviar, ele ainda enviará logs após 6 segundos. Pode haver um máximo de três lotes enviados em paralelo.

Lógica de repetição e retrocesso

O SDK do App Center suporta novas tentativas de back-off em erros de rede recuperáveis. Abaixo está a lógica de reintentar:

  • 3 tentativas no máximo por solicitação.
  • Cada solicitação tem sua própria máquina de estado de repetição.
  • Todos os canais de transmissão são desativados (até o próximo processo do aplicativo) depois que uma solicitação esgota todas as suas tentativas.

Lógica de recuo

  • 50% randomização, primeira tentativa entre 5s e 10s, segunda tentativa entre 2,5 e 5 minutos, última tentativa entre 10 e 20 minutos.
  • Se a rede mudar de desligado para ligado (ou de wi-fi para móvel), os estados de repetição serão redefinidos e as solicitações serão repetidas imediatamente.