Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
O Visual Studio App Center foi desativado em 31 de março de 2025, exceto para os recursos de Análise e Diagnóstico, que continuarão a ter suporte até 30 de junho de 2026. Mais informações.
Ajustar o nível de log
Você pode controlar o número de mensagens de log que aparecem do App Center no console. Use a API LogLevel para habilitar o registo adicional durante a depuração. Por padrão, está definido como ASSERT para os ambientes da App Store e WARN caso contrário.
Para ter o maior número possível de mensagens de log, habilite LogLevel.Verbose nas configurações do App Center ou no seu código.
AppCenter.LogLevel = LogLevel.Verbose;
Identificar instalações
O SDK do App Center cria um UUID para cada dispositivo depois que o aplicativo é instalado. Esse identificador permanece o mesmo para um dispositivo quando o aplicativo é atualizado. Um novo identificador é gerado somente quando o aplicativo é reinstalado. A API a seguir é útil para fins de depuração.
System.Guid? installId = await AppCenter.GetInstallIdAsync();
Identificar usuários
O SDK do App Center suporta a definição de um ID de usuário que é usado para aumentar os relatórios de falhas. Para usar esse recurso:
- Configure o SDK do App Center conforme descrito no Guia de introdução do SDK do App Center.
- Defina um
userIDno SDK usando o seguinte código:
AppCenter.SetUserId("your-user-id");
Depois de definir um ID de usuário, você pode usar o recurso de pesquisa do App Center para procurar relatórios de falhas específicos para o ID. Saiba mais na documentação de pesquisa do App Center.
Observação
O valor para o ID do usuário é limitado a 256 caracteres. Ele será mostrado com seus relatórios de falhas, mas não será usado para agregação ou contagens de usuários afetados. No caso de definir o ID de utilizador várias vezes, apenas o último ID de utilizador será utilizado. Você mesmo precisa definir o ID do usuário antes de cada inicialização do aplicativo, porque esse valor não é armazenado pelo SDK entre as iniciações.
Desativar todos os serviços em tempo de execução
Se quiser desativar todos os serviços do App Center de uma só vez, use a Enabled propriedade. Quando desativado, o SDK não encaminhará nenhuma informação para o App Center.
AppCenter.SetEnabledAsync(false);
Para habilitar todos os serviços novamente, use a mesma API, mas passe true como parâmetro.
AppCenter.SetEnabledAsync(true);
Você não precisa esperar essa chamada para tornar outras chamadas de API (como IsEnabledAsync) consistentes.
O estado é persistido no armazenamento do dispositivo em todas as inicializações de aplicativos.
Alterar o estado do serviço em tempo de execução
Você pode habilitar ou desabilitar o serviço no tempo de execução com o seguinte código:
Analytics.SetEnabledAsync(true);
Não permitir solicitações de rede
No SDK do App Center, as solicitações de rede são permitidas por padrão. Se você quiser enviar dados que o SDK do App Center coleta quando solicitado pelo usuário, pode desativar o envio automático de dados.
AppCenter.IsNetworkRequestsAllowed = false;
Nesse caso, o SDK do App Center continua a coletar dados, mas eles serão enviados somente quando as solicitações de rede forem permitidas.
AppCenter.IsNetworkRequestsAllowed = true;
Observação
Esse valor é retido entre as partidas.
A qualquer momento, você pode verificar se o envio de dados no SDK do App Center é permitido ou não.
AppCenter.IsNetworkRequestsAllowed;
Observação
O valor guardado anteriormente em SharedPreferences é ignorado até AppCenter ser iniciado na plataforma Android.
Ele retornará o último valor definido usando AppCenter.IsNetworkRequestsAllowed = allowed ou true se o valor não foi alterado antes do início do AppCenter.
Verifique se o App Center está ativado
Você também pode verificar se o App Center está habilitado ou não.
bool enabled = await AppCenter.IsEnabledAsync();
Verifique a versão do SDK do App Center em tempo de execução
Você pode obter a versão do SDK do App Center que está usando no momento.
AppCenter.SdkVersion;
Atrasar o início do App Center
Pode haver casos em que você queira atrasar o início do App Center até depois que o AppCenterBehavior for iniciado. Por exemplo, se você quiser solicitar o consentimento do usuário antes de iniciar qualquer serviço do App Center.
Para fazer isso, adicione AppCenterBehaviorAdvanced ao objeto de jogo e marque as caixas de seleção de Iniciar SDK nativo a partir do aplicativo iOS/Android. Isso inicia o SDK no método Start de AppCenterBehavior e permite adicionar uma caixa de diálogo personalizada ou outra lógica.
Sugestão
Caso você gere as configurações no momento da compilação, outra maneira é ir para Configurações do> PlayerOutras Configurações>Símbolos de Definição de Script e colar APPCENTER_DONT_USE_NATIVE_STARTER.
APIs assíncronas no SDK do Unity
As APIs assíncronas retornam um AppCenterTask objeto em vez de retornar o resultado diretamente e retornam imediatamente em vez de aguardar a conclusão da ação.
Há três maneiras de interagir com esses métodos.
Método 1: ContinueWith
Para executar uma ação após a conclusão da atividade do AppCenterTask, adicione um retorno de chamada usando o método ContinueWith.
Exemplo:
AppCenter.IsEnabledAsync().ContinueWith(task =>
{
// Do something with task.Result
});
Em situações em que o método tem um valor de retorno real, ele retornará AppCenterTask<{Return Type}> (como no exemplo acima). Nessas situações, o parâmetro task no retorno de chamada terá uma propriedade Result que você pode acessar.
Método 2: Recursos de idioma internos
Se estiveres a escrever código que tenha acesso ao .NET 4.6 ou superior, AppCenterTask pode ser await num contexto assíncrono.
Exemplo:
bool isEnabled = await AppCenter.IsEnabledAsync();
Método 3: Corrotinas
AppCenterTasks também são adequados para uso em co-rotinas.
Exemplo:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}