Outras APIs 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 migrar.
Ajustar o nível de log
Você pode controlar o número de mensagens de log que aparecem no App Center no console. Use a LogLevel
-API para habilitar o log adicional durante a depuração. Por padrão, ele é definido ASSERT
como para os ambientes de App Store eWARN
, caso contrário, .
Para ter o máximo de mensagens de log possível, habilite LogLevel.Verbose
nas configurações do App Center ou em seu 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 falhas. Para usar essa funcionalidade:
- Configure o SDK do App Center conforme descrito no guia de introdução do SDK do App Center.
- 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 de 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 de 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 as inicializações.
Desabilitar todos os serviços em runtime
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 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 um parâmetro.
AppCenter.SetEnabledAsync(true);
Você não precisa aguardar essa chamada para tornar consistentes outras chamadas à API (como IsEnabledAsync
).
O estado é persistido no armazenamento do dispositivo entre as inicializações do aplicativo.
Alterar o estado do serviço em runtime
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 que o SDK do App Center coleta pela preocupação do usuário, poderá não permitir 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 é retido entre as inicializações.
A qualquer momento, você pode marcar 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 valor definido usando AppCenter.IsNetworkRequestsAllowed = allowed
ou true
se o valor não tiver sido alterado antes do início do AppCenter.
Verificar se o App Center está habilitado
Você também poderá marcar se o App Center estiver 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 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é 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 de jogo e marcar 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 no momento da compilação, outra maneira é acessar Configurações do Player Outras>Configurações>Script definir símbolos e colar APPCENTER_DONT_USE_NATIVE_STARTER
.
APIs assíncronas no SDK do Unity
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 AppCenterTask
conclusão da atividade de , adicione um retorno de chamada usando o ContinueWith
método .
Exemplo:
AppCenter.IsEnabledAsync().ContinueWith(task =>
{
// Do something with task.Result
});
Em situações em que o método tem um valor retornado real, ele retornará AppCenterTask<{Return Type}>
(como no exemplo acima). Nessas situações, o parâmetro de tarefa no retorno de chamada terá uma Result
propriedade que você pode acessar.
Método 2: recursos de linguagem internos
Se você estiver escrevendo um código que tenha acesso ao .NET 4.6 ou superior, AppCenterTask
poderá ser await
inserido em um contexto assíncrono.
Exemplo:
bool isEnabled = await AppCenter.IsEnabledAsync();
Método 3: Corrotinas
AppCenterTask
s também são adequados para uso em corrotinas.
Exemplo:
void SomeMethod()
{
StartCoroutine(IsEnabledCoroutine());
}
IEnumerator IsEnabledCoroutine()
{
var isEnabled = AppCenter.IsEnabledAsync();
yield return isEnabled;
// do something with the isEnabled
}