Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Visual Studio App Center foi desativado em 31 de março de 2025, com exceção dos recursos de Análise e Diagnóstico, que continuarão com suporte até 30 de junho de 2026. Saiba mais.
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ão 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 do SDK se você ainda não configurou o SDK em seu aplicativo.
Informações de sessão e dispositivo
Depois de adicionar o App Center Analytics ao seu aplicativo e iniciar o SDK, ele controlará automaticamente sessões e 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 instalados. 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");
AppCenter.setCountryCode("en")
Observação
Para que o código do país seja exibido em sessões de Análise, AppCenter.setCountryCode deve ser chamado antes da chamada 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 método trackEvent() para monitorar seus eventos com propriedades. Você pode enviar até 200 nomes de eventos distintos. Além disso, há limites máximos de caracteres:
- 256 caracteres por
event name. - 125 caracteres por
event property name&event property value.
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");
Analytics.trackEvent("Video clicked", properties);
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties)
As propriedades para eventos são totalmente opcionais– se você quiser apenas acompanhar um evento, use este exemplo em vez disso:
Analytics.trackEvent("Video clicked");
Analytics.trackEvent("Video clicked")
Prioridade e persistência do evento
Você pode acompanhar eventos comercialmente críticos que têm maior importância do que outros eventos.
- Os desenvolvedores podem definir a prioridade de eventos como Normal (
Flags.NORMALna API) ou Crítico (Flags.CRITICALna API). - Eventos com prioridade definida como Crítico serão recuperados do armazenamento primeiro e enviados antes dos eventos normais .
- Quando o armazenamento local estiver cheio e novos eventos precisarem ser armazenados, os eventos mais antigos com a prioridade mais baixa serão excluídos primeiro.
- Se o armazenamento estiver cheio de logs com prioridade crítica , o acompanhamento de um evento com prioridade normal falhará, pois o SDK não poderá abrir espaço nesse caso.
- Se você também usar o serviço Crashes , os logs de falha serão definidos como Críticos e compartilharão o mesmo armazenamento que os eventos.
- O intervalo de transmissão só é aplicado a eventos normais , eventos críticos serão enviados após 3 segundos.
Você pode usar a API a seguir para acompanhar um evento como Crítico:
Map<String, String> properties = new HashMap<>();
properties.put("Category", "Music");
properties.put("FileName", "favorite.avi");
Analytics.trackEvent("eventName", properties, Flags.CRITICAL);
// If you're using name only, you can pass null as properties.
val properties = hashMapOf("Category" to "Music", "FileName" to "favorite.avi")
Analytics.trackEvent("Video clicked", properties, Flags.CRITICAL)
// If you're using name only, you can pass null as properties.
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 de rede para necessidades mais críticas para os 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. Todos os eventos que seu aplicativo acompanha durante a pausa só serão enviados quando você chamar resume.
Analytics.pause();
Analytics.resume();
Analytics.pause()
Analytics.resume()
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.setEnabled(false);
Analytics.setEnabled(false)
Para habilitar a Análise do App Center novamente, use a mesma API, mas passe true como um parâmetro.
Analytics.setEnabled(true);
Analytics.setEnabled(true)
O estado é mantido no armazenamento do dispositivo entre as inicializações do aplicativo.
Essa API é assíncrona, você pode ler mais sobre isso em nosso guia de APIs assíncronas do App Center .
Observação
Esse método só deve ser usado depois que Analytics tiver sido iniciado.
Verificar se a Análise do App Center está habilitada
Você também pode verificar se a Análise do App Center está habilitada ou não.
Analytics.isEnabled();
Analytics.isEnabled()
Essa API é assíncrona, você pode ler mais sobre isso em nosso guia de APIs assíncronas do App Center .
Observação
Esse método só deve ser usado depois Analytics de iniciado, ele sempre retornará false antes do início.
Gerenciar a sessão de início
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 após um novo aplicativo iniciar a ID da sessão será regenerada.
- Chame o seguinte método antes do início do SDK:
Analytics.enableManualSessionTracker();
Analytics.enableManualSessionTracker()
- Em seguida, você pode usar a
startSessionAPI após :AppCenter.start
Analytics.startSession();
Analytics.startSession()
Tamanho do armazenamento local
Por padrão, o SDK armazena todos os logs de eventos de até 10 MB. Os desenvolvedores podem usar uma API para aumentar o tamanho do armazenamento e o SDK continuará armazenando logs até que o armazenamento esteja cheio.
Sem acesso à Internet
Quando não há conectividade de rede, o SDK salva até 10 MB de logs no armazenamento local. Depois que o armazenamento estiver cheio, o SDK começará a descartar logs antigos para abrir espaço para os novos logs. Assim que a conectividade de rede retornar, o SDK envia logs em lotes de 50 ou a cada 6 segundos (por padrão).
Observação
Os logs com mais de 25 dias não serão aceitos pelo back-end.
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 (por padrão). Pode haver no máximo três lotes enviados em paralelo. O intervalo de transmissão pode ser alterado:
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000);
// Change transmission interval to 10 seconds.
Analytics.setTransmissionInterval(10000)
O valor do intervalo de transmissão deve estar entre 6 segundos e 86400 segundos (um dia) e esse método deve ser chamado antes que o serviço seja iniciado.
Repetição e lógica de recuo
O SDK do App Center dá suporte a novas tentativas de retirada em erros de rede recuperáveis. Abaixo está a lógica de tentativa novamente:
- 3 tentativas máximas 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 processamento do aplicativo) depois que uma solicitação esgota todas as suas tentativas.
Lógica de recuo
- Randomização de 50%, primeira tentativa entre 5 e 10 segundos, próxima tentativa entre 2,5 e 5 minutos, última tentativa entre 10 e 20 minutos.
- Se a rede mudar de desativada para ativa (ou de wi-fi para móvel), os estados de repetição serão redefinidos e as solicitações serão repetidas imediatamente.