Resolver problemas

Veja algumas dicas para solucionar problemas comuns.

Por que o raio de precisão é muito grande?

Se a resposta de geolocalização apresentar um valor muito alto no campo de precisão, o serviço poderá estar fazendo a geolocalização com base no IP da solicitação, não nos pontos de Wi-Fi ou nas torres de celular. Esse tipo de resposta pode acontecer se o serviço não reconhece torres de celular ou pontos de acesso.

Para confirmar que o serviço não conseguiu geolocalizar seus pontos de acesso, defina considerIp como falso na solicitação. Se a resposta for 404, você confirmou que não foi possível geolocalizar seus objetos wifiAccessPoints e cellTowers.

Como faço para resolver um erro de resposta?

Se a solicitação gerar um erro, o sistema retornará um corpo de resposta de erro de formato padrão e definirá o código de status HTTP como um status de erro.

A resposta de erro contém um objeto com um único objeto de erro com as seguintes chaves:

  • code: esse valor é o mesmo que o status HTTP da resposta.
  • message: uma breve descrição do erro.
  • errors: uma lista de erros que ocorreram. Cada erro contém um identificador para o tipo de erro (o motivo) e uma breve descrição (a mensagem).

Por exemplo, o envio de um JSON inválido retorna o seguinte erro:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error",
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}

Coletar informações de teste dos dispositivos

Para fazer testes adicionais, é possível coletar informações do seu dispositivo usando os seguintes SDKs e APIs:

Descrições de erros

Confira os possíveis erros com descrições.

Motivo Domínio Código de status HTTP Descrição
dailyLimitExceeded usageLimits 403 Você excedeu seu limite diário.
keyInvalid usageLimits 400 Sua chave de API não é válida para a API Geolocation. Verifique se você incluiu a chave inteira e se comprou a API ou ativou o faturamento e a API para receber a cota sem custos financeiros.
userRateLimitExceeded usageLimits 403 Você excedeu o limite de solicitações configurado no Console do Google Cloud. Normalmente, esse limite é definido como solicitações por dia, por 100 segundos e por 100 segundos por usuário. Configure seu limite para evitar que um usuário ou grupo de usuários esgote sua cota diária, mas ainda assim permita um acesso razoável a todos. Consulte Como limitar o uso da API para configurar esses limites.
notFound geolocation 404 A solicitação era válida, mas não retornou resultados.
parseError global 400 O corpo da solicitação não é um JSON válido. Consulte a seção Corpo da solicitação para ver detalhes sobre cada campo.