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

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Google recomienda que sigas estas prácticas recomendadas para administrar y ejecutar 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. 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 a la vez.

Tipo de restricciónRestringe el uso de la clave a
Restricción de API Una API en particular.
Restricción de aplicaciones Direcciones IP, sitios web o aplicaciones específicos.

Recomendaciones de restricción de la clave de API

Te recomendamos que pongas en marcha claves de API independientes para las siguientes situaciones.

SituaciónRecomendación
Los servidores de juegos de backend llaman a la API de Ubicaciones reproducibles para recuperar ubicaciones reproducibles. Configura una clave con dos restricciones:
  • Restricción de API: Permite las llamadas solo a la API de Ubicaciones reproducibles.
  • Restricción de la aplicación: Permite las llamadas que se originan solo en las direcciones IP del servidor 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 aplicación para permitir llamadas solo desde la versión de Android de tu app.
La versión para iOS de tu app llama a la API de Maps SDK for Unity a fin de recuperar datos geográficos. Configura una clave con una restricción de aplicación para permitir llamadas solo desde la versión de iOS de tu app.

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

Cómo configurar 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 aplicación y, luego, elige 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 del servidor 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 establecida para actualizar las claves de API en tu pila de entrega. De esa manera, el juego podrá recuperarse si la clave de API está en riesgo y debes renovarla con poco tiempo.

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

Recomendaciones de seguridad del servidor de juegos

Cuando el servidor de la API de ubicaciones reproducibles experimenta una interrupción por algún motivo, ocurren problemas cuando vuelve a estar en línea: cuando varios servidores de juegos intentan volver a conectarse a la vez. Este aumento de QPS puede enviar al servidor al modo DoS, 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 espera N segundos después de un intento de reconexión fallido antes de volver a intentarlo. Si el siguiente intento falla, tu algoritmo duplica el período de espera y 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 el último intento sea correcto.

Manejo de códigos de estado de retorno HTTP

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

400s
Estos son errores de 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
Este es un error de recurso agotado que se produce cuando comienzas a agotar tu cuota de API. Para ver los límites de QPS 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.