Resolver problemas

Confira algumas dicas para resolver problemas comuns.

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

Se a resposta da API Geolocation mostrar um valor muito alto no campo de precisão, o serviço poderá estar geolocalizando com base no IP da solicitação, em vez de pontos de Wi-Fi ou torres de celular. Esses tipos de respostas podem ocorrer se o serviço não reconhecer nenhuma torre de celular ou ponto de acesso.

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

Como resolver um erro de resposta?

Se a solicitação gerar um erro, o sistema vai retornar um corpo de resposta de erro em 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: é 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 mais testes, colete informações do seu dispositivo usando os seguintes SDKs e APIs:

Descrições de erros

Confira abaixo os possíveis erros que você pode encontrar e as respectivas descrições.

Motivo Domínio Código de status HTTP Descrição
dailyLimitExceeded usageLimits 403 Você atingiu seu limite diário.
keyInvalid usageLimits 400 Sua chave de API não é válida para a API Geolocation. Inclua a chave inteira e verifique se você 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, solicitações por 100 segundos e solicitações por 100 segundos por usuário. Configure seu limite para evitar que um único usuário ou um pequeno grupo esgote sua cota diária, mas ainda permita acesso razoável a todos os usuários. 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 mais detalhes sobre cada campo.