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ção | Restringe 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ário | Recomendação |
---|---|
Os servidores de jogo de back-end chamam a API Playable Locations para recuperar os locais. | Configure uma chave com duas restrições:
|
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
- Acesse o painel de credenciais no Console do Google Cloud.
- Selecione a chave de API em que você quer definir uma restrição. A página de propriedades da chave de API será exibida.
- 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. - 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.
- 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.