Solução de problemas do SDK do Unity
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.
Os dados de análise não aparecem no portal
- Verifique se você integrou os módulos do SDK corretamente.
- Verifique se o projeto está incluído no objeto "App Center" com anexado
AppCenterBehavior
e se os segredos do aplicativo são adicionados aos campos correspondentes na janela Inspetor. Certifique-se de também marcar as caixas "Usar {service}" para cada serviço do App Center que você pretende usar. - Verifique os logs que dizem "SDK do App Center configurado com êxito" (no nível de log detalhado) e, em seguida, marcar se você vir logs de solicitação HTTPS.
- Verifique se o dispositivo está online.
- Às vezes, os logs podem levar alguns minutos para serem exibidos no portal. Aguarde algum tempo se esse for o caso.
- 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
- Verifique se você integrou os módulos do SDK corretamente.
- Verifique se o projeto está incluído no objeto "App Center" com anexado
AppCenterBehavior
e se os segredos do aplicativo são adicionados aos campos correspondentes na janela Inspetor. Certifique-se de também marcar as caixas "Usar {service}" para cada serviço do App Center que você pretende usar. - Reinicie o aplicativo após uma falha. As falhas do App Center encaminharão o log de falhas somente depois que ele for reiniciado. O SDK não salvará nenhum log de falhas se você anexou um depurador. Verifique se o depurador não está anexado quando você interromper o aplicativo.
- Verifique os logs que dizem "SDK do App Center configurado com êxito" (no nível de log detalhado) e, em seguida, marcar se você vir logs de solicitação HTTPS.
- Verifique se o dispositivo está online.
- Às vezes, os logs podem levar alguns minutos para serem exibidos no portal. Aguarde algum tempo se esse for o caso.
- 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.
- 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.
- Verifique se o aplicativo realmente falhou e reiniciou: o Unity captura a maioria das exceções sem tratamento por padrão, o que significa que o aplicativo não sai e não é considerado uma falha. Se uma falha for detectada pelo Unity, ela será relatada como "Erro" pelo SDK.
Falha na compilação do projeto android
O módulo Distribuir versão 4.1.0 ou posterior tem uma nova marca de manifesto para dar suporte ao Android 11. Se você estiver usando o Unity da versão anterior, 2019.4
especifique explicitamente a versão do gradle para evitar o erro AAPT: error: unexpected element <queries> found in <manifest>.
.
Para evitar problemas com a criação do projeto, você precisa adicionar mainTemplate.gradle
e launcherTemplate.gradle
(esse arquivo só deve ser adicionado se você usar arquivos do Unity 2019.4) para especificar explicitamente a versão do gradle. Abra a guia Configurações> do ProjetoAndroid> daguia>Configurações> de Publicaçãoe selecione Modelo de Gradle Principal Personalizado e Modelo de Gradle do Inicializador Personalizado. Depois de gerar arquivos, insira as seguintes linhas na parte superior dos arquivos:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.3'
}
}
allprojects {
repositories {
google()
mavenCentral()
flatDir {
dirs 'libs'
}
}
}
Leia mais sobre o build para Android 11 com a diretriz do Unity .
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.