Publica un juego HTML simple desde tu app de IA
Publica un archivo HTML autónomo de hasta 10 MiB con upload_game: qué cabe, el minicatálogo, la visibilidad, las actualizaciones y cuándo pasar a un paquete.
La vía simple publica un juego HTML estándar, como un arcade en canvas o un puzle con el DOM, con una sola llamada a upload_game. No necesita el SDK de PlayDrop, ni una carpeta de compilación, ni archivos adicionales, y devuelve un enlace que cualquiera puede abrir en un móvil o un ordenador.
Cuándo encaja la vía simple
- Todo el juego es un único archivo HTML de 10 MiB como máximo (10.485.760 bytes UTF-8), con sus scripts, estilos, imágenes y sonidos incrustados.
- Es un juego de navegador corriente: no llama al SDK de PlayDrop, así que no tiene partidas guardadas en la nube, clasificaciones, logros, opciones para compartir, grupos, compras ni anuncios.
- No necesita archivos separados: ni imágenes o vídeos para la ficha ni servidor de juego.
Si alguna de estas condiciones no se cumple, usa un paquete. Conserva las funciones que pidió tu usuario; nunca las elimines ni aplanes un juego de varios archivos para que encaje en esta vía. La subida rechaza las llamadas al SDK, el código de servidor y los campos del catálogo exclusivos de los paquetes con advanced_upload_required.
Envía el juego
Llama a upload_game con un nuevo requestId, el HTML completo y un minicatálogo para un juego:
{
"requestId": "moon-jump-first-upload",
"html": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Moon Jump</title></head><body>…</body></html>",
"catalogue": {
"apps": [{
"name": "moon-jump",
"displayName": "Moon Jump",
"description": "Jump between lunar platforms and reach the flag.",
"controls": "Tap or press Space to jump.",
"tags": ["game-genre/casual"],
"types": ["solo"],
"controller": { "support": "off" },
"authMode": "NONE",
"primarySurface": "MOBILE_PORTRAIT"
}]
}
}namees el slug permanente del juego: de 1 a 100 letras minúsculas, dígitos o guiones.tagsdebe incluir un género, comogame-genre/casual; consulta géneros y etiquetas.typesdeclara cómo se juega; un juego de un solo archivo suele ser["solo"]. Los tamaños de grupo y el juego en línea son exclusivos de los paquetes.controller.supportindica la compatibilidad real con mandos, incluidooff.authModedecide el inicio de sesión:NONEuOPTIONALpermite jugar a cualquiera; si se omite, el valor por defecto esREQUIRED. Inclúyelo en cada actualización.primarySurfaceindica la orientación para la que está diseñado el juego; las subidas simples aparecen para ordenador, horizontal y vertical.
Los demás campos aceptados son subtitle, emoji, color, license, creation, releaseNotes, inspirationPrompt, makingOf, sourceRepository, sourceLocale, offlineSupported e instant. PlayDrop asigna el número de versión.
Elige quién puede jugar
- Omite
visibilitypara seguir el ajuste de la cuenta del creador en un juego nuevo (Público, salvo que haya elegido No listado o Privado); una actualización conserva el público actual del juego. "private"guarda una versión que solo puede abrir el creador, para probarla. Publica después esa misma versión conpublish_game_version; no la vuelvas a subir."unlisted"la publica para cualquiera con el enlace, sin que aparezca en listados;"public"la publica para que pueda descubrirse.
Haz lo que te pidió tu usuario y nunca hagas un juego más visible de lo que pretendía. Consulta quién puede jugar.
Lee el recibo
El recibo incluye gameId, slug, version, status, visibility y url, el enlace de esa versión exacta para el propietario. Los juegos públicos y no listados reciben también shareUrl, la página permanente del juego; esa es la que debes dar a tu usuario. Para una versión privada, dale url. instant e instantReason indican si el juego es apto como juego instantáneo.
Actualiza el juego
Llama a list_games, pasa el gameId del juego y conserva su name. Vuelve a enviar el HTML completo y el minicatálogo completo: cada subida es una instantánea completa, y los campos omitidos no estarán en la nueva versión. El enlace no cambia. Un juego que se subió por primera vez como paquete debe seguir usando la vía de paquete, para no perder sus archivos ni sus funciones.
Pasa a un paquete más adelante
Añadir partidas guardadas en la nube, una clasificación, imágenes para la ficha o un servidor convierte el juego en un paquete. Es una actualización normal del mismo juego: conserva el name, súbelo con prepare_catalogue_upload y establece expectedCurrentVersion con la versión actual de list_games. Lee empaquetado.