En este documento, se usan los siguientes términos (según la RFC 2119):
- debe y no debe cumplir con estos requisitos: son requisitos estrictos que todos los juegos deben cumplir.
- debes y no debes: Estas son recomendaciones que no son obligatorias, pero que se pueden usar para decidir cómo clasificar o filtrar los juegos que se muestran a los usuarios. Por ejemplo, si la pantalla del usuario es horizontal, GameSnacks podría elegir solo recomendar juegos que admitan esta relación de aspecto.
- may: Son sugerencias que no son necesarias y que no se usarán para filtrar juegos, excepto cuando el usuario lo solicite explícitamente. Por ejemplo, las funciones futuras podrían permitir al usuario ver una lista de juegos compatibles con la entrada de un control de juegos.
Los siguientes requisitos se aplican a tu juego y sus recursos:
Estructura del juego
Tu juego se sube como un paquete de archivos que incluye el código y los recursos de tiempo de ejecución del juego en sí, los recursos de marketing para mostrarlo en el catálogo de GameSnacks y un archivo game.json
que almacena metadatos que describen el juego y enumera todos los recursos del paquete.
game.json
El archivo de configuración que contiene los metadatos del juego.
- El juego debe incluir un archivo
game.json
que contenga todos los campos obligatorios. - Este archivo debe colocarse en el directorio raíz del juego.
Punto de entrada de HTML
El documento HTML que carga tu juego.
- Tu punto de entrada debe ser un archivo HTML válido.
Este archivo debe incluir como máximo un elemento
head
y un elementobody
.- Ambos elementos, si están presentes, deben tener una etiqueta de inicio y una de final.
Se ignorará el contenido que esté fuera de estos elementos y atributos.
En lugar de configurar atributos directamente en el elemento
body
, puedes usar lo siguiente:onload
: El evento de carga deWindow
style
: Estilo de CSS
Archivos
Todos los archivos individuales del paquete, incluidos el juego y sus recursos de marketing asociados, deben cumplir con lo siguiente:
- Cada archivo debe tener menos de 10 MiB.
- Solo se debe hacer referencia a los archivos mediante rutas de acceso relativas.
- Las rutas de acceso deben usar solo
/
como separador de directorios. - Los nombres de archivo deben usar solo caracteres sin reservar (RFC 3986).
- Los nombres de archivo y todas las rutas de acceso deben estar en minúscula.
Tamaño del juego
El tamaño del juego es el tamaño total de todos los códigos y recursos que se descargan en el dispositivo del usuario.
- El tamaño del juego no debe ser superior a 100 MiB.
Requisitos técnicos
Tu juego debe cumplir con los siguientes requisitos técnicos.
SDK de GameSnacks
- Tu juego debe estar integrado en el SDK para desarrolladores de GameSnacks, incluidas todas las interfaces obligatorias.
- Tu juego no debe cargar directamente ninguna API de anuncios (p.ej., insertar una etiqueta de anuncios como adsbygoogle.js).
- GameSnacks cargará todos los servicios de anuncios requeridos por ti.
- Consulta los requisitos de monetización para obtener más información sobre la compatibilidad de anuncios en tu juego.
Compatibilidad del navegador
- Tu juego debe usar la API de Canvas o WebGL para renderizarlo.
- El juego debe ejecutarse correctamente en las dos versiones principales más recientes de los siguientes navegadores:
- Chrome en Android, iOS, Windows y macOS
- Safari en iOS y macOS
- Firefox en Android y Windows
- Edge en Windows
- El juego debe ejecutarse correctamente en las vistas web de las versiones más recientes de las dos últimas versiones principales de iOS y Android:
- WebView en Android
- WKWebView en iOS
- El juego debe probarse en la mayor variedad de procesadores web incorporados y independientes que sea posible.
Capacidades mínimas del dispositivo
El juego debe ejecutarse correctamente en dispositivos de gama baja. A modo de orientación, las siguientes opciones son indicadores de las capacidades mínimas del dispositivo necesarias para los juegos de GameSnacks.
El juego debe ejecutarse a 30 FPS o más en cualquier dispositivo con las siguientes especificaciones o mejores:
- CPU: Qualcomm 215, Samsung Exynos 7570, Mediatek MT6737 o similar
- RAM: 2 GiB
- GPU: Arm Mali-T720 MP1, Qualcomm Adreno 308 o similar
Algunos ejemplos de teléfonos que coinciden con esta especificación incluyen JioPhone Next, Nokia 1.4, LG K22, Samsung J2 Core y Motorola Moto E4.
Tamaño de descarga inicial
El tamaño de descarga inicial es la cantidad de datos que se descargarán al cliente para iniciar el juego.
- La descarga inicial debe ser inferior a 15 MiB.
- La descarga inicial debe ser inferior a 5 MiB.
Requisitos funcionales
Tu juego debe cumplir con los siguientes requisitos funcionales.
Tiempo de carga
El tiempo de carga es el tiempo que lleva ejecutar el código inicialmente e iniciar el juego.
- Tu juego debe mostrar una pantalla de carga o ser interactivo en menos de 1 segundo en cualquier conexión de al menos 10 Mbps.
- El juego debe poder jugarse en menos de 15 segundos con cualquier conexión de al menos 10 Mbps.
Fallas
- El juego no debe causar fallas que se puedan reproducir de manera constante.
- El juego no debe causar fallas reproducibles de manera constante en las apps o sitios web que lo incorporan.
Relación de aspecto
GameSnacks creará un fotograma para que tu juego lo renderice. El tamaño y la relación de aspecto de este fotograma variarán según la superficie de distribución, el dispositivo y la presencia de anuncios ubicados alrededor del juego. Este marco puede cambiar de tamaño si, por ejemplo, un usuario cambia el tamaño de la ventana del navegador.
- Tu juego debe usar toda el área disponible dentro del fotograma para el contenido interactivo, sin padding ni relleno adicionales.
- Tu juego debe admitir una relación de aspecto vertical de 9:16.
- Tu juego debe admitir una relación de aspecto horizontal de 16:9.
- Tu juego debe admitir una relación de aspecto cuadrada de 1:1.
- Idealmente, el juego debería ser responsivo y admitir una amplia gama de relaciones de aspecto vertical, horizontal y cuadrada.
- Cuando cambia el tamaño del fotograma, el juego debe cambiar de tamaño inmediatamente para seguir estos requisitos.
- Tu juego debe realizar una transición fluida al nuevo tamaño.
- El juego no debe bloquear la orientación del navegador.
Interacción del juego
- El juego debe poder jugarse por completo con la entrada táctil.
- El juego debe poder jugarse por completo con la entrada del mouse.
- El juego debe poder jugarse por completo con la entrada del teclado.
- El juego puede poder jugarse por completo con la entrada del control de juegos.
- Todos los elementos de la IU que se muestran en el juego deben implementarse y funcionar correctamente.
- El juego no debe incluir controles inhabilitados. Si una función no está disponible, debe quitarse por completo de la IU.
- Esto incluye mensajes de recompensa. Solo renderiza un mensaje de recompensa si se llama a la devolución de llamada
beforeReward
para esa pausa publicitaria.
- Esto incluye mensajes de recompensa. Solo renderiza un mensaje de recompensa si se llama a la devolución de llamada
- Tu juego no debe mostrar mensajes para compartir dentro del juego.
- El juego no debe mostrar la IU ni vínculos dentro del juego que dirijan al usuario a juegos, sitios ni otro contenido externos.
- El juego debe comunicarse claramente con el usuario cuando haya completado el último nivel o el juego.
- Tu juego no debe usar palabras como "comprar" o "compra" que puedan confundirse con funciones de compra directa desde la aplicación que no son compatibles con los juegos de GameSnacks.
- Si tu juego incluye respuestas táctiles, el usuario debe poder desactivarla.
Inicio del juego
Al momento del inicio, tu juego debe coordinar correctamente con el tiempo de ejecución de GameSnacks.
La interfaz Game
de GameSnacks proporciona funciones para indicar el estado de carga de tu juego, como firstFrameReady
cuando estás listo para dibujar en la pantalla por primera vez y ready
cuando el usuario puede comenzar a interactuar con el juego.
- Tu juego debe llamar a
firstFrameReady
cuando el primer fotograma del juego esté listo para renderizarse. - El juego debe llamar a
ready
cuando esté listo para la interacción del usuario. - Tu juego no debe llamar a
ready
mientras aún se muestran elementos no interactivos, como pantallas de presentación o de carga.
Controles de silencio y manejo del sonido
Tu juego debe respetar los controles de sonido de la plataforma de GameSnacks.
- El juego no debería mostrar un botón de silencio general y, en cambio, debería basarse en el control de silencio de la plataforma de GameSnacks.
- Tu juego debe integrarse en la interfaz de audio y debe respetar el método
audio.isEnabled
. - Tu juego puede tener controles de audio detallados por separado, como para la música de fondo o los efectos de sonido, pero debe seguir estos requisitos.
Cómo detener y reanudar propuestas y líneas de pedido propuestas
Tu juego debe admitir la pausa y la reanudación.
- Tu juego debe integrarse en la interfaz del juego
onPause
y los métodosonResume
para pausar y reanudar el juego. - El juego no debe usar la API de visibilidad de páginas web ni APIs web similares.
- El juego debe comunicarse claramente con el usuario si está pausado.
- El juego debe guardar el progreso del usuario cuando se pausa.
Manejo de datos
Solo debes usar las APIs de almacenamiento de GameSnacks para manejar los datos.
- El juego solo debe usar la interfaz de almacenamiento para guardar los datos del juego.
- El juego no debe usar ninguna otra forma de almacenamiento, como cookies,
localStorage
,sessionStorage
yIndexedDB
. - El juego no debe recopilar datos del usuario.
- El juego no debe realizar llamadas externas ni solicitudes de datos hacia o desde ningún servidor mediante ningún protocolo.
- El juego no debe mostrar acuerdos de usuario adicionales, políticas de privacidad ni otros mensajes regulatorios o de recopilación de datos.
Guardando progreso
Guardar el progreso del usuario y poder restablecer su progreso cuando regrese al juego
- Tu juego debe usar la interfaz de almacenamiento para guardar el progreso cuando los usuarios realicen un progreso material, como completar un nivel.
- El tamaño total del juego guardado debe ser menor que 3 MiB y debe ser menor que 500 KiB.
- El juego debe restablecer el progreso guardado cuando se inicie.
- Tu juego debe poder restablecer el progreso guardado de versiones anteriores.
Puntuaciones altas
Almacena la puntuación más alta del usuario o realiza un seguimiento de su progreso con otra métrica.
- Si el juego tiene puntuaciones, debe hacer un seguimiento de ellas con la interfaz de la interfaz de puntuaciones.
- Si el juego no tiene puntuaciones, debes realizar un seguimiento de una métrica alternativa de progreso, como la cantidad de niveles completados.
Contenido del juego
Los siguientes requisitos se aplican al contenido de tu juego:
IU del juego
- El juego debe renderizarse claramente en diferentes resoluciones de pantalla. Por ejemplo, los elementos de la IU no deben estar borrosos, pixelados ni estirados.
- El juego no debe usar elementos de baja resolución rasterizados que se muestren borrosos cuando se escalan a pantallas más grandes.
- El juego no debe usar íconos que puedan confundirse con los de la barra de acciones de GameSnacks.
- El juego no debe incluir botones de salida o salida integrados en el juego. La app o el sitio que incorpora tu juego se encargará de esto.
Localización y accesibilidad
- Tu juego debe admitir el idioma inglés.
- Tu juego debería hacer todo lo posible para que sea accesible. Recomendamos cumplir con los Lineamientos de accesibilidad para el contenido web (WCAG), nivel AA.
- El texto del juego debe ser legible en todos los dispositivos y tamaños de pantalla. Consulta las WCAG 2.2 §1.4.3.
Contenido dirigido a niños
- El juego no debe orientarse específicamente a niños. Consulta Cómo determinar si tu contenido califica como “creado para niños” para obtener más información.
Derechos y permisos
- Tu juego debe contar con todos los derechos de propiedad intelectual de terceros.
- El juego no debe infringir ningún derecho de marca comercial ni de imagen comercial de terceros.
- Tu juego debe tener todos los derechos musicales necesarios.
- Tu juego debe tener todos los derechos de personalidad necesarios, incluidos el nombre y la similitud.
¿Dónde se mostrarán mis juegos?
Publicamos juegos de GameSnacks en diferentes plataformas, tanto en productos de Google como en apps y sitios asociados de GameSnacks, tanto en dispositivos móviles como en computadoras. Algunos ejemplos de los lugares en los que publicamos juegos de GameSnacks incluyen la app de Google Play Juegos en dispositivos Android y el sitio web gamesnacks.com. De aquí proviene gran parte de nuestro tráfico actualmente. Sin embargo, las ubicaciones en las que publicamos juegos evolucionan constantemente y siempre buscamos ampliar el público de los juegos de GameSnacks. Por lo tanto, con el tiempo, es posible que agreguemos nuevas plataformas de Google o socios de distribución. De vez en cuando, también podemos ejecutar experimentos mientras trabajamos con plataformas de distribución nuevas.
Monetización
GameSnacks monetizará tu juego y te proporcionará una parte de esos ingresos según el contrato de licencia para desarrolladores de GameSnacks.
GameSnacks puede colocar anuncios automáticamente en eventos naturales del juego, como eventos previos al video y eventos de nivel siguiente y final. También puedes colocar pausas publicitarias adicionales dentro del juego (tanto intersticiales como recompensados) con la interfaz de anuncios del SDK para desarrolladores de GameSnacks.
Los juegos que tienen muy pocas oportunidades de monetización o que se monetizan de manera deficiente pueden aparecer con menos frecuencia o no aprobarse para su distribución. Una buena regla general es asegurarse de que exista la oportunidad de un anuncio al menos una vez por minuto. Esto incluye los anuncios intersticiales y recompensados que coloques, así como las pausas publicitarias que GameSnacks configura automáticamente por ti.
Sin embargo, esto no significa que siempre mostraremos un anuncio. GameSnacks equilibrará cuidadosamente la carga de anuncios, la participación y la experiencia del usuario. Por lo tanto, puedes crear pausas publicitarias en cualquier lugar que se adapten a tu juego (es decir, más de una vez por minuto) y dejar que GameSnacks ajuste la velocidad final con la que se muestran los anuncios.
Requisitos de monetización:
Tu juego debe ofrecer una experiencia continua, sin interrupciones y de juego principal con oportunidades adecuadas para mostrar anuncios intersticiales y recompensados que se deben configurar con la interfaz de anuncios.
No debe incluir ninguna otra forma de promoción o monetización. Esto incluye anuncios en el juego, pagos, patrocinios y colocaciones de productos, mensajes en redes sociales y vínculos que dirigen a los usuarios a juegos, sitios o algún otro tipo de contenido externos.
Debes asegurarte de que tus juegos proporcionen suficientes oportunidades para mostrar anuncios, de manera que tanto tú como los socios de distribución de GameSnacks puedan generar ingresos sustentables. Ya sea de forma orgánica debido a eventos normales del juego (p.ej., el siguiente nivel) o explícitamente mediante los métodos de la interfaz de anuncios en otros momentos apropiados durante el juego.
Cuando uses los métodos de la interfaz de anuncios para colocar anuncios en el juego, debes cumplir con todas las políticas de anuncios intersticiales y de comportamiento recompensado relevantes. Consulta también este conjunto de prácticas recomendadas para obtener más sugerencias sobre la configuración de anuncios en el juego.
Si colocas anuncios intersticiales dentro del juego, debes asegurarte de que ocurran en las pausas naturales del juego. Los anuncios deben ajustarse al flujo de tu juego. No debes activar anuncios intersticiales en medio de un período continuo de juego.
Si la mecánica de tu juego lo admite, debes colocar anuncios recompensados. Estas oportunidades de recompensas deben ser opcionales, debes describirlas con claridad y no debes alentar al usuario a hacer clic en los anuncios. Consulta las políticas de comportamiento para conocer todos los requisitos.