Análise do App Center (Apache Cordova)

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 a migração.

Saiba mais sobre linhas do tempo e alternativas de suporte.

Observação

O suporte para o Cordova Apps terminou em abril de 2022. Encontre mais informações no blog do App Center.

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 se você ainda não configurou o SDK em seu aplicativo.

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

Depois que você adicionar o App Center Analytics ao seu aplicativo e o SDK for iniciado, ele acompanhará automaticamente sessões e propriedades do dispositivo, como versão do sistema operacional, modelo etc.

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 de evento e 125 caracteres por nome da propriedade do evento e valor da propriedade do evento.

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);

Essa função usa o terceiro parâmetro como retorno de chamada de êxito, que retorna uma cadeia de caracteres vazia e um quarto parâmetro como retorno de chamada de erro que retorna um erro.

As propriedades dos eventos são totalmente opcionais. Se você quiser apenas acompanhar um evento, use este exemplo em vez disso:

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.trackEvent('Video clicked', success, error);

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.

var success = function() {
    console.log("Analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(false, success, error);

Essa função usa o segundo parâmetro como retorno de chamada de êxito, que retorna uma cadeia de caracteres vazia e um terceiro parâmetro como retorno de chamada de erro que retorna um erro. Para habilitar a Análise do App Center novamente, use a mesma API, mas passe true como um parâmetro.

var success = function() {
    console.log("Analytics enabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

O estado é persistente no armazenamento do dispositivo entre as inicializações de aplicativos.

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

Você também pode marcar se a Análise do App Center está habilitada.

var success = function(result) {
    console.log("analytics " + (result) ? "enabled" : "disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.isEnabled(success, error);

Essa função usa o primeiro parâmetro como retorno de chamada de êxito, que retorna um boolean e o segundo parâmetro como retorno de chamada de erro que retorna um erro.

Aguarde até que o JS habilite a Análise do App Center

Em alguns casos, um aplicativo pode querer perguntar aos usuários se eles querem compartilhar informações de análise. Nesse caso, você deve alterar a preferência APPCENTER_ANALYTICS_ENABLE_IN_JS para true em seu config.xml

<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />

Isso significa que, para que todas as informações sejam enviadas para o App Center (até mesmo informações básicas da sessão), o desenvolvedor deve primeiro habilitar a Análise do App Center dentro do aplicativo adicionando a linha a seguir ao seu código.

var success = function() {
    console.log("analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

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. Depois que o armazenamento estiver cheio, o SDK começará a descartar logs antigos para abrir 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 3 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 3 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 back-off em erros de rede recuperáveis. Abaixo está a lógica de repetição:

  • 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 processo de aplicativo) depois que uma solicitação esgota todas as suas tentativas.

Lógica de back-off

  • 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.