Compartilhar via


Outras APIs do Unity

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.

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 LogLevel-API para habilitar o registro em log adicional durante a depuração. Por padrão, ele é definido para ASSERT para os ambientes da App Store e WARN caso contrário.

Para ter o máximo de mensagens de log possível, habilite LogLevel.Verbose nas configurações do App Center ou no código.

AppCenter.LogLevel = LogLevel.Verbose;

Identificar instalações

O SDK do App Center cria uma 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 dá suporte à configuração de uma ID de usuário usada para aumentar os relatórios de falha. Para usar essa funcionalidade:

  1. Configure o SDK do App Center, conforme descrito no guia de introdução do SDK do App Center.
  2. Defina um userID no SDK usando o seguinte código:
AppCenter.SetUserId("your-user-id");

Depois de definir uma ID de usuário, você pode usar o recurso de pesquisa do App Center para pesquisar relatórios de falha específicos para a ID. Saiba mais na documentação de pesquisa do App Center.

Observação

O valor da ID do usuário é limitado a 256 caracteres. Ele será mostrado com seus relatórios de falha, mas não usado para agregação ou contagens de usuários afetados. Caso você defina a ID do usuário várias vezes, somente a última ID de usuário será usada. Você precisa definir a ID de usuário por conta própria antes da inicialização de cada aplicativo, pois esse valor não é armazenado pelo SDK entre inicializações.

Desabilitar todos os serviços em tempo de execução

Se você quiser desabilitar todos os serviços do App Center de uma só vez, use a Enabled propriedade. Quando desabilitado, o SDK não encaminha nenhuma informação para o App Center.

AppCenter.SetEnabledAsync(false);

Para habilitar todos os serviços mais uma vez, use a mesma API, mas passe true como um parâmetro.

AppCenter.SetEnabledAsync(true);

Você não precisa aguardar essa chamada para fazer outras chamadas à API (como IsEnabledAsync) consistentes.

O estado é mantido no armazenamento do dispositivo entre as inicializações do aplicativo.

Alterar o estado do serviço em tempo de execução

Você pode habilitar ou desabilitar o serviço no runtime 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 coletados pelo SDK do App Center por solicitação do usuário, você pode desativar o envio automático de dados.

AppCenter.IsNetworkRequestsAllowed = false;

Nesse caso, o SDK do App Center continua coletando dados, mas ele será enviado somente quando as solicitações de rede forem permitidas.

AppCenter.IsNetworkRequestsAllowed = true;

Observação

Esse valor é mantido 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 salvo anteriormente em SharedPreferences é ignorado até AppCenter ser iniciado na plataforma Android. Ele retornará o último conjunto de valores usando AppCenter.IsNetworkRequestsAllowed = allowed ou true se o valor não foi alterado antes de o AppCenter ser iniciado.

Verificar se o App Center está habilitado

Você também pode verificar se o App Center está habilitado ou não.

bool enabled = await AppCenter.IsEnabledAsync();

Verificar a versão do SDK do App Center em runtime

Você pode obter a versão do SDK do App Center que você está usando no momento.

AppCenter.SdkVersion;

Atrasar o início do App Center

Pode haver casos em que você deseja atrasar o início do App Center até que o AppCenterBehavior seja 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 do jogo e marque as caixas de seleção Iniciar SDK nativo do aplicativo iOS/Android. Isso inicia o SDK no Start método de AppCenterBehavior e permite que você adicione uma caixa de diálogo personalizada ou outra lógica.

Dica

Se você gerar as configurações em tempo de build, outra maneira é ir para Configurações do Player>Outras Configurações>Símbolos de Definição de Script e colar APPCENTER_DONT_USE_NATIVE_STARTER.

APIs assíncronas no SDK do Unity

APIs assíncronas retornam um objeto AppCenterTask em vez de retornar o resultado diretamente e fazem isso 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 atividade de AppCenterTask ter sido concluída, 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 de tarefa no callback terá uma propriedade Result que você pode acessar.

Método 2: recursos de linguagem internos

Se você estiver escrevendo um código que esteja sendo escrito para ter acesso ao .NET 4.6 ou superior, AppCenterTask pode ser await em um contexto assíncrono.

Exemplo:

bool isEnabled = await AppCenter.IsEnabledAsync();

Método 3: Coroutines

AppCenterTasks também são adequados para uso em coroutines.

Exemplo:

void SomeMethod()
{
    StartCoroutine(IsEnabledCoroutine());
}

IEnumerator IsEnabledCoroutine()
{
    var isEnabled = AppCenter.IsEnabledAsync();
    yield return isEnabled;

    // do something with the isEnabled
}