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ó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) Confira se a API Play Integrity está ativada no Google Play Console. 2) Peça ao usuário para 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. |
|
REQUEST_HASH_TOO_LONG |
O requestHash fornecido é muito longo. O requestHash precisa ter menos de 500 caracteres. |
Tente de novo com um requestHash mais curto. |
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. Tem suporte na versão 1.1.0 e mais recentes da biblioteca para as linguagens de programação Kotlin e Java, na versão 1.1.0 e mais recentes do Plug-in da API Play Integrity para Unity e na versão 1.12.1 e mais recentes do SDK nativo da biblioteca Play Core. | 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 de novo 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 base64. | Tente de novo 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 do projeto do Cloud em que você ativou a API Play Integrity. |
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 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:
- Após a primeira falha, comece com um atraso inicial de cinco segundos antes de tentar de novo.
- Faça um total de três tentativas, aumentando o atraso exponencialmente a cada vez (10s, 20s).
Durante essas tentativas, 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 de conexão de rede ou uma tentativa de ataque.