Gracias a los Juegos instantáneos, ahora es mucho más fácil probar una versión en desarrollo en un entorno local, automatizar la publicación y compartir la compilación con tu equipo. En este documento se explican los pasos más detalladamente.
La experiencia que ofrecen los Juegos instantáneos se basa en gran parte en las superposiciones nativas que se les añaden antes y después de cada partida. A fin de facilitar el proceso de desarrollo y pruebas, ofrecemos a los desarrolladores la posibilidad de ejecutar el juego desde un servidor local con una experiencia muy similar a la que tendrán los jugadores en nuestra plataforma. Esto se consigue mediante nuestro reproductor de prueba insertado, para el que solo se requieren algunos ajustes.
Como nuestro reproductor de prueba insertado funciona en el dominio facebook.com
, solo se puede mostrar usando https
. Para poder insertar contenido en una página que se muestra mediante https
, el contenido insertado también necesita utilizar SSL. Los siguientes pasos te guiarán para configurar un servidor localhost
que muestre contenido seguro. A continuación, mostramos una de las opciones posibles aunque existen numerosas soluciones para activar este comportamiento.
http-server
a través de npm
. Si no tienes instalado npm
, sigue las instrucciones de instalación en el sitio web de Node.JS. Después, ejecuta este comando:> $ npm install -g http-server
openssl
. Esto es necesario para poner en funcionamiento el servidor local seguro.> $ cd path/to/my/game/ > $ openssl genrsa 2048 > key.pem > $ openssl req -x509 -days 1000 -new -key key.pem -out cert.pem # Fill out necessary information
# Starts to serve via HTTPS, with cache disabled > $ http-server --ssl -c-1 -p 8080 -a 127.0.0.1 Starting up http-server, serving ./ through https Available on: https://127.0.0.1:8080 Hit CTRL-C to stop the server
https://localhost:8080
desde el navegador se debería reproducir el juego.Nota: Debes intentar acceder al juego al menos una vez, ya que es posible que necesites aprobar una advertencia de seguridad del navegador antes de continuar. En caso de ser así, si te saltas este paso, el juego no cargará.
Por ejemplo, en Chrome, es posible que tengas que acceder a chrome://flags/#allow-insecure-localhost
y activar la opción “Allow invalid certificates for resources loaded from localhost.” (Permitir certificados no válidos para recursos cargados desde el servidor local) para eliminar la advertencia.
Ahora que el juego se muestra desde el servidor local a través de una conexión segura, puedes insertarlo en nuestro reproductor. Accede con tu navegador a:
https://www.facebook.com/embed/instantgames/YOUR_GAME_ID/player?game_url=https://localhost:8080
Deberías ver el juego ejecutándose en el reproductor de Juegos instantáneos, como se muestra a continuación:
Nota: Debes haber reproducido el juego al menos una vez en fb.gg/play/YOUR_GAME_ID
para que el reproductor insertado funcione correctamente.
Llegados a este punto, deberías poder usar todas las funciones del SDK de Juegos instantáneos desde el juego que se está ejecutando en tu servidor local.
Por razones de seguridad, localhost
es el único dominio admitido para hacer pruebas con el reproductor de prueba insertado.
Puedes ejecutar el juego desde tu servidor local en un contexto específico. Para ello, solo tienes que usar el reproductor insertado como se ha explicado anteriormente. Después, puedes utilizar los métodos de FBInstant.context
(como, por ejemplo, switchAsync()
, createAsync()
y chooseAsync()
) para cambiar a diferentes contextos.
Esto te permite reproducir el juego sin problemas desde localhost
en un contexto de conversación y probar si las actualizaciones de contexto se envían correctamente.
El contenido de Juegos instantáneos se aloja en la infraestructura de Facebook, por lo que no es necesario que alojes el contenido del juego en tu propio servidor ni que recurras a servicios de terceros. Una vez que el juego esté listo para probarse, comprime todos sus archivos en un único archivo .zip. Ten en cuenta que el archivo index.html
debe encontrarse en la raíz de este archivo (no en una subcarpeta). Hay dos formas de subir el paquete:
Para subir el archivo .zip, haz clic en la pestaña Alojamiento web del producto Juegos instantáneos del panel de aplicaciones. Después, haz clic en Subir versión; esto te permitirá subir el archivo .zip al servicio de alojamiento de Facebook.
A continuación, la compilación procesará el archivo, lo que solo debería llevar unos segundos. Cuando el estado cambia a “En pausa”, la aplicación está lista para producción.
Otra opción posible es subir el paquete con una llamada a la API Graph. Esta alternativa resulta útil si tienes un sistema de implementación automatizado. En este caso, tienes que solicitar un identificador de subida en la sección Alojamiento web. Para ello, haz clic en el botón Obtener identificador de acceso de carga de activo en la parte superior.
Con el identificador del cuadro de diálogo puedes enviar la siguiente llamada a la API Graph para subir el archivo .zip. Ten en cuenta que estamos usando el subdominio de vídeo, pero es una decisión deliberada, ya que dicha URL está configurada para recibir cargas de mayor tamaño.
curl -X POST https://graph-video.facebook.com/{App ID}/assets -F 'access_token={ASSET UPLOAD ACCESS TOKEN}' -F 'type=BUNDLE' -F 'asset=@./{YOUR GAME}.zip' -F 'comment=Graph API upload'
Tras este paso, el juego se mostrará sin problemas en la lista de paquetes subidos. Puedes usar esta llamada para realizar la integración con tu sistema de compilación actual.
Ten en cuenta que el alojamiento de Facebook tiene varias restricciones. Estas son las más importantes:
Consulta la documentación sobre el alojamiento web para obtener más detalles.
Para probar la carga en un entorno de producción, es necesario preparar la compilación para producción. Haz clic en el botón “★” para pasar la compilación a producción.
La versión de producción del juego es la compilación que se mostrará a los jugadores. A fin de probar las actualizaciones en producción sin que la base de jugadores existente se vea afectada, puedes preparar una compilación para pruebas. Esto hará que la compilación solo se muestre a los desarrolladores y evaluadores de la aplicación.
Nota: No crees una aplicación de prueba para el juego con el botón “Crear una aplicación de prueba”. La mejor manera de proceder con los Juegos instantáneos es preparar una compilación para pruebas.
Una vez tengas una compilación en producción, haz las pruebas siempre con esta versión, en lugar de con la que se ejecuta en tu servidor local. Puedes probar la compilación en producción mediante uno de los siguientes métodos:
Para compartir el juego en la sección de noticias, haz clic en el botón Compartir de la sección Comparte tu juego. Esto te permitirá compartir el juego en la sección de noticias y probarlo desde cualquier plataforma (ordenador, iOS o Android).
En la lista de Juegos instantáneos de Messenger, tú y tu equipo (los usuarios que tengan asignados los roles de administrador, desarrollador o evaluador en tu aplicación) deberíais ver una lista de todos los juegos que están en desarrollo. La lista se llama En desarrollo. Esto te permite probar juegos en Messenger, incluso los que aún no están publicados.
Si has asociado una página al juego, también puedes generar un enlace para compartir. Este enlace dirigirá a los usuarios a una conversación con tu bot en Messenger y abrirá el juego automáticamente si tienes un bot configurado para ello. En caso de no ser así, dirigirá a los usuarios a tu página de Facebook y abrirá el juego de forma automática desde ahí. En ambos casos, cuando un usuario haga clic en el enlace, debería acceder al juego directamente.
Cuando estés conforme con la versión publicada, deberás enviar el juego al proceso de revisión de la aplicación para que nuestro equipo evalúe su calidad y compruebe si cumple nuestras políticas de la plataforma. No te olvides de revisar nuestra Lista de comprobación para la publicación antes de enviar el juego y asegurarte de que cumple con todos los criterios que se especifican. En esta guía también se incluyen las instrucciones necesarias para publicar el juego una vez que se ha revisado.
Ahora que sabes cómo probar y publicar un juego, revisa nuestra lista de comprobación para el lanzamiento antes de enviarlo: Lista de comprobación para la publicación de Juegos instantáneos. También puedes consultar la sección de prácticas recomendadas para obtener recomendaciones sobre el diseño y las actualizaciones para tu juego.