AVISO: os serviços relacionados a jogos da Plataforma Google Maps foram descontinuados em 18 de outubro de 2021. Os usuários atuais continuarão tendo acesso até 31 de dezembro de 2022. Durante esse período, continuaremos oferecendo suporte e corrigindo os principais bugs e interrupções. Consulte o Guia de transição para serviços relacionados a jogos se quiser ver os recursos que ajudam a planejar as próximas etapas dos projetos.

Práticas recomendadas de produção

O Google recomenda que você siga estas práticas recomendadas ao administrar e executar o app.

Como proteger chaves de API

Você precisa de uma chave de API para usar nossos serviços on-line, e o uso dela permite que o Google meça seu uso. Recomendamos restringir as chaves de API para evitar o uso não autorizado.

Tipos de restrição da chave de API

Há dois tipos de restrições de chave de API, e você pode usá-las ao mesmo tempo.

Tipo de restriçãoRestringe o uso de chaves a
Restrição de APIs Uma API específica.
Restrição de aplicativo Endereços IP, websites ou aplicativos específicos.

Recomendações de restrição de chave de API

Recomendamos encomendar chaves de API separadas para os seguintes cenários.

CenárioRecomendação
Os servidores de jogo de back-end chamam a API Playable Locations para recuperar os locais. Configure uma chave com duas restrições:
  • Restrição de API: permite chamadas apenas para a API Playable Locations.
  • Restrição de aplicativo: permite chamadas originadas apenas dos endereços IP do seu servidor de jogos de back-end.
A versão do Android do seu app chama o SDK do Maps para Unity para recuperar dados geográficos. Configure uma chave com uma restrição ao aplicativo para permitir chamadas apenas da versão Android do seu app.
A versão do iOS do seu app chama a API Maps SDK for Unity para recuperar dados geográficos. Configure uma chave com uma restrição ao aplicativo para permitir chamadas apenas da versão para iOS do seu aplicativo.

Para mais informações, consulte Práticas recomendadas de segurança de APIs.

Para configurar restrições de chaves de API

  1. Acesse o painel de credenciais no Console do Google Cloud.
  2. Selecione a chave de API em que você quer definir uma restrição. A página de propriedades da chave de API será exibida.
  3. Em Restrições de chave, selecione a guia Restrições do aplicativo e, em seguida, selecione um dos quatro tipos de restrição do aplicativo.
    Tipo de restrição Descrição
    Referenciadores HTTP Aceita solicitações da lista de sites que você disponibilizar.
    Endereços IP Aceite as solicitações da lista de endereços IP do servidor da Web que você fornecer.
    Apps Android Adicione o nome do seu pacote e a impressão digital do certificado de assinatura SHA-1 para restringir o uso ao seu aplicativo Android.
    Apps iOS Aceita solicitações do app iOS com o identificador do pacote que você disponibilizar.
  4. Em Restrições da chave, selecione a guia Restrições da API e selecione a API para a qual você quer restringir a chave de API.
  5. Clique em Salvar.

Atualizações de chaves de API de suporte

Verifique se você tem uma infraestrutura para atualizar as chaves de API em toda a sua pilha de exibição. Dessa forma, o jogo poderá se recuperar se a chave de API for comprometida e você precisar renová-la em pouco tempo.

Use chaves separadas para cada aplicativo, para poder facilmente trocar uma chave em uma sem afetar os outros aplicativos.

Recomendações de segurança do servidor de jogos

Quando o servidor da API Playable Locations passa por uma interrupção por qualquer motivo, eles ocorrem problemas quando ele fica on-line novamente, quando vários servidores de jogos tentam se reconectar ao mesmo tempo. Esse pico de QPS pode enviar o servidor para o modo DoS, o que exagere na situação ao bloquear o tráfego de entrada.

Para atenuar essa situação, o Google pede para você implementar a retirada exponencial binária em seu servidor de jogos. É uma abordagem sistemática para espaçar as tentativas de conexão. Especificamente, você implementaria um algoritmo que aguarda N segundos após uma tentativa de reconexão com falha antes de tentar novamente. Se a próxima tentativa falhar, seu algoritmo duplicará o período de espera e tentará novamente. Se a próxima tentativa falhar, o algoritmo dobrará o período de espera e tentará novamente. Continue dobrando o período de espera após cada tentativa até que a tentativa final seja bem-sucedida.

Como lidar com códigos de status de retorno HTTP

Implemente a espera exponencial binária para alguns códigos de retorno HTTP, mas não para todos eles.

400s
Como esses erros de cliente geralmente não são recuperados, tentar novamente as solicitações com falha que produzem esses códigos de erro não funcionará. Esses tipos de erros serão detectados durante o teste.
429
Esse é um erro de recurso esgotado que ocorre quando você começa a ficar sem cota da API. Para ver os limites de QPS da API do seu projeto, acesse Cotas das APIs do Google.
500s
Esses são os erros do servidor, para os quais o retorno exponencial é mais útil.