Análise do App Center (MAUI e Xamarin)

Importante

O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.

Saiba mais sobre linhas do tempo e alternativas de suporte.

A Análise do App Center 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 importantes para você. Todas as informações capturadas estão disponíveis no portal do App Center para você analisar os dados.

Siga a seção Introdução se você ainda não configurou o SDK em seu aplicativo.

Informações sobre a sessão e o dispositivo

Depois de adicionar a Análise do App Center ao seu aplicativo e iniciar o SDK, ele acompanhará automaticamente as sessões e as propriedades do dispositivo, como Versão do sistema operacional, modelo etc. sem escrever nenhum código adicional.

Código do país

O SDK relatará automaticamente o código do país de um usuário se o dispositivo tiver um modem de dados móvel e um CARTÃO SIM instalado. Os dispositivos somente WiFi não relatarão um código de país por padrão. Para definir o código de país desses usuários, você deve recuperar a localização do usuário por conta própria e usar o SetCountryCode: método no SDK:

AppCenter.SetCountryCode("en");

Observação

Para que o código do país seja exibido em sessões do Analytics, AppCenter.SetCountryCode deve ser chamado antes de chamar AppCenter.Start.

Eventos personalizados

Você pode acompanhar seus próprios eventos personalizados com até 20 propriedades para entender a interação entre os usuários e o aplicativo.

Depois de iniciar o SDK, use o TrackEvent() método para acompanhar seus eventos com propriedades. Você pode enviar até 200 nomes de eventos distintos. Além disso, há um limite máximo de 256 caracteres por nome do evento e 125 caracteres por nome da propriedade do evento e valor da propriedade do evento.

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

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

Analytics.TrackEvent("Video clicked");

Habilitar ou desabilitar a Análise do App Center em runtime

Você pode habilitar e desabilitar a Análise do App Center em runtime. Se você desabilitá-lo, o SDK não coletará mais informações de análise para o aplicativo.

Analytics.SetEnabledAsync(false);

Para habilitar a Análise do App Center novamente, use a mesma API, mas passe true como um parâmetro.

Analytics.SetEnabledAsync(true);

Você não precisa aguardar essa chamada para tornar consistentes outras chamadas à API (como IsEnabledAsync).

O estado é persistido no armazenamento do dispositivo entre as inicializações do aplicativo.

Observação

Esse método só deve ser usado depois Analytics de ter sido iniciado.

Verificar se a Análise do App Center está habilitada

Você também pode marcar se a Análise do App Center estiver habilitada ou não.

bool isEnabled = await Analytics.IsEnabledAsync();

Observação

Esse método só deve ser usado depois Analytics de ter sido iniciado, ele sempre retornará false antes de iniciar.

Gerenciar sessão inicial

Por padrão, a 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, depois que um novo aplicativo iniciar, a ID da sessão será regenerada.

  • Chame o seguinte método antes do início do SDK:
Analytics.EnableManualSessionTracker();
  • 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 liberar espaço para os novos logs. Depois que o dispositivo receber o acesso à Internet de volta, o SDK enviará logs no lote de 50 ou após cada 6 segundos.

Logs de eventos de envio 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 no máximo três lotes enviados em paralelo.

Lógica de repetição e retirada

O SDK do App Center dá suporte a novas tentativas de retirada em erros de rede recuperáveis. Abaixo está a lógica de repetição:

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

Lógica de retirada

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