Códigos de erro

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Esta página lista alguns códigos de erro comuns, o que eles representam e como seu app ou jogo pode responder a eles.

Códigos de erro comuns

A tabela abaixo lista os erros que a API pode retornar em qualquer plataforma e as etapas sugeridas após o erro.

Código do erro Descrição O que fazer
API_NOT_AVAILABLE A API Integrity não está disponível. Ela não está ativada ou a versão da Play Store é antiga. 1) Ative a API Integrity no Google Play Console.
2) Peça para o usuário atualizar a Google Play Store.
NETWORK_ERROR Nenhuma rede foi encontrada. Peça ao usuário para conferir a conectividade da rede.
PLAY_STORE_NOT_FOUND O app oficial da Google Play Store não foi encontrado no dispositivo. Peça ao usuário para instalar ou ativar a Google Play Store.
PLAY_STORE_VERSION_OUTDATED O app Play Store precisa ser atualizado. Peça ao usuário para atualizar a Google Play Store.
PLAY_STORE_ACCOUNT_NOT_FOUND Nenhuma conta da Play Store foi encontrada no dispositivo. A API Play Integrity agora oferece suporte a solicitações não autenticadas. Esse código de erro é usado somente em versões mais antigas da Play Store que não têm suporte. Peça para o usuário fazer login na Google Play Store.
CANNOT_BIND_TO_SERVICE Falha ao vincular ao serviço na Play Store. Isso pode ocorrer porque uma versão antiga da Play Store está instalada no dispositivo. Peça ao usuário para atualizar a Google Play Store.
APP_NOT_INSTALLED O app de chamada não está instalado. Há algo de errado, possivelmente um ataque. Não há soluções possíveis.
PLAY_SERVICES_NOT_FOUND O Google Play Services está indisponível ou precisa ser atualizado. Peça ao usuário para instalar ou atualizar o Google Play Services.
PLAY_SERVICES_VERSION_OUTDATED O Google Play Services precisa ser atualizado. Peça ao usuário para atualizar o Google Play Services.
TOO_MANY_REQUESTS O app de chamada está fazendo muitas solicitações à API e foi limitado. Tente de novo com uma espera exponencial.
GOOGLE_SERVER_UNAVAILABLE Erro desconhecido do servidor interno do Google. Tente de novo com uma espera exponencial.
CLIENT_TRANSIENT_ERROR Ocorreu um erro temporário no dispositivo cliente. Com suporte a partir da versão 1.1.0. Tente de novo com uma espera exponencial.
INTERNAL_ERROR Erro interno desconhecido. Tente de novo com uma espera exponencial.
NONCE_TOO_SHORT O valor de uso único é muito curto. O valor de uso único precisa ter um mínimo de 16 bytes antes da codificação de base64. Tente novamente com um valor de uso único mais longo.
NONCE_TOO_LONG O valor de uso único é muito longo. O valor de uso único precisa ter menos que 500 bytes antes da codificação de base64. Tente novamente com um valor de uso único mais curto.
NONCE_IS_NOT_BASE64 O valor de uso único não tem o formato de base64, com segurança na Web e sem wrapper. Tente novamente com o formato de uso único correto.
CLOUD_PROJECT_NUMBER_IS_INVALID O número fornecido de projeto na nuvem é inválido. Use o número de projeto na nuvem do projeto em que a API Play Integrity está ativada.
APP_UID_MISMATCH O UID (ID do usuário) do app de chamada não corresponde ao do gerenciador de pacotes. Há algo de errado, possivelmente um ataque. Não há soluções possíveis.

Códigos de erro nativos

O prefixo INTEGRITY_ é anexado aos códigos de erro nativos para evitar possíveis conflitos de nomenclatura. Além dos códigos de erro listados acima, a API nativa também inclui estes códigos de erro:

Código do erro Descrição O que fazer
INTEGRITY_INITIALIZATION_NEEDED O IntegrityManager não foi inicializado. Invoque o IntegrityManager_init() primeiro.
INTEGRITY_INITIALIZATION_FAILED Ocorreu um erro ao inicializar a API Integrity. Tente de novo com uma espera exponencial. Registre um bug, se necessário.
INTEGRITY_INVALID_ARGUMENT Um argumento inválido foi transmitido para a API Integrity. Tente de novo com o argumento correto.

Repetir lógica em caso de erro

Um app precisa repetir chamadas de API no caso de determinados códigos de erro. Revise todos os códigos de erro e verifique se o aplicativo tenta de novo com espera exponencial quando necessário. Veja a estratégia recomendada:

  1. Após a primeira falha, comece com um atraso inicial de cinco segundos antes de tentar de novo.
  2. Faça um total de três tentativas, aumentando o atraso exponencialmente a cada vez (10s, 20s).

Durante essas tentativas de repetição, confira se há uma conexão de rede e não sobrecarregue o dispositivo.

Se os erros continuarem ocorrendo após três tentativas, trate o resultado como se o cliente tivesse falhado em todas as verificações de integridade. O erro pode ocorrer por vários motivos, incluindo, entre outros: um dispositivo sobrecarregado, problemas com a conexão de rede ou tentativas de terceiros mal-intencionados.