AVISO: Los servicios de juego de Google Maps Platform dejarán de estar disponibles el 18 de octubre de 2021. Los usuarios actuales tendrán acceso continuo hasta el 31 de diciembre de 2022. Durante este período, seguiremos brindando asistencia y soluciones para los errores y las interrupciones importantes. Consulta la Guía de transición a los servicios de juego para obtener recursos que te ayudarán a planificar los siguientes pasos de tus proyectos.

Prácticas recomendadas de producción

Google recomienda que sigas estas prácticas recomendadas cuando administres y ejecutes tu app.

Proteger claves de API

Necesitas una clave de API para usar nuestros servicios en línea, y su uso le permite a Google medir tu uso. Te recomendamos restringir tus claves de API para evitar el uso no autorizado.

Tipos de restricciones de clave de API

Existen dos tipos de restricciones de clave de API, y puedes usarlas al mismo tiempo.

Tipo de restricciónRestringe el uso de la clave a
Restricción de API Una API en particular
Restricción de aplicaciones Algunas direcciones IP, sitios web o aplicaciones

Recomendaciones de restricción de la clave de API

Te recomendamos que asignes claves de API independientes para las siguientes situaciones.

SituaciónRecomendación
Los servidores de juegos de backend llaman a la API de Playable Locations para recuperar ubicaciones reproducibles. Configura una clave con dos restricciones:
  • Restricción de API: Permite solo llamadas a la API de Playable Locations.
  • Restricción de la aplicación: Permite las llamadas que se originan solo desde las direcciones IP del servidor de juegos de backend.
La versión para Android de tu app llama al SDK de Maps para Unity a fin de recuperar datos geográficos. Configura una clave con una restricción de aplicaciones para permitir llamadas solo desde la versión de Android de tu app.
La versión para iOS de tu app llama al SDK de Maps para Unity a fin de recuperar datos geográficos. Configura una clave con una restricción de aplicaciones para permitir solo llamadas desde la versión de iOS de tu app.

Para obtener más información, consulta Prácticas recomendadas sobre la seguridad de la API.

Configura restricciones de clave de API

  1. Visita el panel de credenciales en Google Cloud Console.
  2. Selecciona la clave de API para la que deseas establecer una restricción. Aparecerá la página de propiedades de la clave de API.
  3. En Restricciones de clave, selecciona la pestaña Restricciones de aplicaciones y, luego, selecciona uno de los cuatro tipos de restricciones de aplicaciones.
    Tipo de restricción Descripción
    URL de referencia HTTP Acepta solicitudes de la lista de sitios web que proporciones.
    Direcciones IP Acepta solicitudes de la lista de direcciones IP de servidores web que proporciones.
    Apps para Android Agrega el nombre de tu paquete y la huella digital del certificado de firma SHA-1 a fin de restringir el uso a tu app para Android.
    Apps para iOS Acepta solicitudes de la app para iOS con el identificador de paquete que proporciones.
  4. En Restricciones de clave, selecciona la pestaña Restricciones de API y, luego, selecciona la API a la que deseas restringir tu clave de API.
  5. Haz clic en Guardar.

Compatibilidad con actualizaciones de claves de API

Asegúrate de tener la infraestructura necesaria para actualizar las claves de API en toda la pila de entrega. De esa manera, el juego podrá recuperarse si la clave de API está en riesgo y debes renovarla con poca anticipación.

Usa claves separadas para cada aplicación, de modo que puedas intercambiar una clave en una sin afectar otras apps.

Recomendaciones de seguridad del servidor de juegos

Cuando el servidor de la API de Ubicaciones reproducibles experimenta una interrupción por cualquier motivo, se producen problemas cuando vuelve a estar en línea, cuando varios servidores de juego intentan volver a conectarse a él al mismo tiempo. Este aumento de QPS puede enviar al servidor al modo DoS, lo que agrava la situación mediante el bloqueo del tráfico entrante.

Para mitigar esta situación, Google te solicita que implementes la retirada exponencial binaria en el servidor del juego. Es un enfoque sistemático para espaciar los reintentos de conexión. Específicamente, implementarás un algoritmo que espere N segundos después de un intento de reconexión con errores antes de volver a intentarlo. Si el siguiente intento falla, tu algoritmo duplica el período de espera y, luego, vuelve a intentarlo. Si el siguiente intento falla, tu algoritmo volverá a duplicar el período de espera y, luego, volverá a intentarlo. Continúa duplicando el período de espera después de cada intento, hasta que lo logras.

Cómo manejar códigos de estado de retorno HTTP

Debes implementar una retirada exponencial binaria para algunos códigos de retorno HTTP, pero no para todos.

400s
Estos son errores del cliente que, por lo general, no se recuperan, por lo que reintentar las solicitudes con errores que producen estos códigos de error no funcionará. Debes detectar estos tipos de errores durante las pruebas.
429
Se trata de un error de recurso agotado que se produce cuando comienzas a agotar tu cuota de API. Para ver los límites de QPS de las API de tu proyecto, visita Cuotas de las API de Google.
500s
Estos son los errores del servidor, el tipo de errores para los que la retirada exponencial es más útil.