Solução de problemas do SDK do Android

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.

Quais permissões do Android são necessárias?

Dependendo dos serviços que você usa, as seguintes permissões são necessárias:

  • Todos os serviços: INTERNET, ACCESS_NETWORK_STATE
  • Distribuir: REQUEST_INSTALL_PACKAGES, DOWNLOAD_WITHOUT_NOTIFICATION

As permissões necessárias são mescladas automaticamente no manifesto do aplicativo pelo SDK.

Nenhuma dessas permissões requer aprovação do usuário no runtime, todas elas são permissões de tempo de instalação.

Os dados de análise não aparecem no portal

  1. Verifique se você integrou os módulos do SDK corretamente.

  2. Verifique se o Segredo do Aplicativo correto está incluído junto com a chamada de start() método. Você pode copiar o código exato start() abrindo o aplicativo no portal e navegando até Introdução página.

  3. Se você quiser ver os logs que são enviados para o back-end, altere o nível de log para Detalhado em seu aplicativo e o SDK imprimirá logs no console. Chame a API abaixo antes de iniciar o SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Verifique os logs que dizem "SDK do App Center configurado com êxito" (no nível de log de informações) e, em seguida, marcar se você vir logs de solicitação HTTPS.

  4. Verifique se o dispositivo está online.

  5. Às vezes, os logs podem levar alguns minutos para serem exibidos no portal. Aguarde algum tempo se esse for o caso.

  6. Para marcar se o back-end do App Center recebeu seus dados, vá para a seção Fluxo de log no serviço de Análise. Seus eventos devem aparecer depois que forem enviados.

Falhas não aparecem no portal

  1. Verifique se você integrou os módulos do SDK corretamente.

  2. Verifique se o Segredo do Aplicativo correto está incluído junto com a chamada de start() método. Você pode copiar o código exato start() abrindo o aplicativo no portal e navegando até Introdução página.

  3. Reinicie o aplicativo após uma falha. Nosso SDK encaminhará o log de falhas somente depois que ele for reiniciado.

  4. Se você quiser ver os logs que são enviados para o back-end, altere o nível de log para Detalhado em seu aplicativo e o SDK imprimirá logs no console. Chame a API abaixo antes de iniciar o SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Verifique os logs que dizem "SDK do App Center configurado com êxito" (no nível de log de informações) e, em seguida, marcar se você vir logs de solicitação HTTPS.

  5. Verifique se o dispositivo está online.

  6. Às vezes, os logs podem levar alguns minutos para serem exibidos no portal. Aguarde algum tempo se esse for o caso.

  7. Se você quiser marcar se o SDK detectou a falha na próxima inicialização do aplicativo, chame a API para marcar se o aplicativo falhou na última sessão e mostrará um alerta. Ou você pode estender o retorno de chamada de falha para ver se ele foi enviado com êxito ao servidor.

  8. Para marcar se o back-end do App Center recebeu a falha, vá para a seção Fluxo de log no serviço análise. Suas falhas devem aparecer lá, depois de serem enviadas.

Distribuir e atualizações no aplicativo estão bloqueando meus testes de interface do usuário automatizados

Se você estiver executando testes automatizados de interface do usuário, as atualizações habilitadas no aplicativo bloquearão seus testes de interface do usuário automatizados, pois elas tentarão se autenticar no back-end do App Center. Recomendamos não habilitar a Distribuição do App Center para seus testes de interface do usuário.

Qual é o impacto do SDK do App Center no tamanho do meu aplicativo Android?

O SDK do App Center foi projetado para ter um impacto mínimo no tamanho da instalação do aplicativo.

Para ilustrar isso, criamos um aplicativo java vazio usando o modelo "aplicativo em branco" do Android Studio. Criamos o aplicativo na configuração de versão e instalamos o aplicativo em um dispositivo que executa o Android 7.0.

Os testes foram executados sem o Proguard habilitado.

Os números abaixo podem variar e depender das configurações de build, portanto, considere-os um guia aproximado. O impacto do SDK em seu aplicativo será ainda menor se você usar o Proguard.

Módulos do App Center usados Tamanho do APK exportado Tamanho da instalação (conforme relatado pelo dispositivo)
Nenhum (aplicativo em branco) 1,3 MB 3,43 MB
Análise do App Center 1,4 MB 3,63 MB
Falha no App Center 1,4 MB 3,70 MB
Distribuição do App Center 1,4 MB 3,71 MB
Todos os módulos do App Center 1,4 MB 3,82 MB

Proteger o valor do segredo do App Center

O app_secret é um identificador do seu aplicativo, é necessário saber a qual aplicativo o tráfego se aplica e não pode ser usado para recuperar ou editar dados existentes. Se você app_secret estiver exposto, o maior risco será enviar dados inválidos para seu aplicativo, mas isso não terá efeito sobre a segurança dos dados.

Para recuperar dados confidenciais, você precisaria fornecer um token de aplicativo/usuário, que é gerado no lado do cliente. Não há como tornar os dados do lado do cliente completamente seguros.

Você pode melhorar a segurança do aplicativo usando uma variável de ambiente para injetar o segredo do aplicativo em seu código. Dessa forma, o segredo não está visível em seu código.

Migração do jCenter para o Maven Central

Devido ao encerramento do suporte do jCenter , todos os assemblies foram movidos para o repositório Maven Central. Para usar o App Center, você precisa adicionar mavenCentral() ao repositório no arquivo Gradle, como abaixo:

repositories {
   google()
   mavenCentral()
}