Como testar, publicar e compartilhar um jogo instantâneo

Com os Jogos Instantâneos, ficou muito mais fácil para você testar a versão de desenvolvimento localmente, automatizar a publicação e compartilhar a compilação com a sua equipe. Este documento explicará essas etapas em detalhes.

Como testar o jogo em um servidor local

Grande parte da experiência dos Jogos Instantâneos vem das sobreposições nativas que são adicionadas ao jogo antes e depois de cada sessão. Para facilitar o fluxo de desenvolvimento e testes, damos aos desenvolvedores a possibilidade de executar o jogo de um servidor local, com uma experiência muito semelhante àquela que os jogadores verão na nossa plataforma. Isso é feito por meio do nosso player de testes incorporado, que exige poucos detalhes de configuração.

Como habilitar o SSL via localhost

Como o nosso player de testes incorporado funciona no domínio facebook.com, ele só pode ser executado por meio de https. Para incorporar conteúdo em uma página executada via https, o conteúdo em questão também precisa ser exibido via SSL. As próximas etapas trazem instruções passo a passo sobre como configurar um servidor localhost que exibe conteúdo seguro. Além da opção abaixo, há muitas outras soluções que permitem esse comportamento.

> $ npm install -g http-server
  • 2. Crie uma chave privada e um certificado usando openssl. Isso é necessário para executar o 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
  • 3. Execute o jogo a partir do localhost com SSL. Quando a chave e o certificado estiverem prontos, você poderá exibir a partir do localhost usando SSL.
# 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
  • 4. Em seguida, basta apontar o navegador para https://localhost:8080 a fim de ver o jogo em execução.

Observação: você deve tentar acessá-lo pelo menos uma vez, pois talvez seja preciso aprovar um aviso de segurança do navegador antes de continuar. Se esse for o caso, e você pular essa etapa, o jogo não será carregado.

Por exemplo, no Chrome, talvez você precise acessar chrome://flags/#allow-insecure-localhost e habilitar "Allow invalid certificates for resources loaded from localhost." para que o aviso não apareça.

Como executar o player incorporado no navegador

Agora que o jogo está sendo executado do localhost por meio de uma conexão segura, você poderá incorporá-lo no nosso player. Direcione o seu navegador para:

https://www.facebook.com/embed/instantgames/YOUR_GAME_ID/player?game_url=https://localhost:8080

O jogo será executado no player dos Jogos Instantâneos desta forma:

Observação: você precisa ter executado o jogo pelo menos uma vez no fb.gg/play/YOUR_GAME_ID para que o player incorporado funcione corretamente.

Neste ponto, você poderá usar todos os recursos do SDK dos Jogos Instantâneos por meio do jogo em execução no seu servidor local.

Por motivos de segurança, localhost é o único domínio compatível para os testes com o player de testes incorporado.

Como jogar do servidor local em uma conversa específica

Você pode executar o jogo do seu servidor local em um contexto específico. Para fazer isso, use o player incorporado conforme explicado acima. Aproveite os métodos do FBInstant.context (como switchAsync(), createAsync() e chooseAsync()) para mudar para contextos diferentes.

Isso permite testar o jogo de modo efetivo do localhost em um contexto de conversa e verificar se as atualizações de contexto são enviadas corretamente.

Como carregar a compilação

Compacte o jogo em um único arquivo .zip

O conteúdo dos Jogos instantâneos é hospedado na infraestrutura do Facebook, por isso não é preciso hospedar o conteúdo do jogo no próprio servidor ou usar servidores de terceiros. Quando o jogo estiver pronto para ser testado, compacte todos os arquivos em um único arquivo .zip. O arquivo index.html deverá estar na raiz desse arquivo, e não em uma subpasta. Há duas maneiras de enviar o pacote:

1. Enviar o arquivo .zip por meio do site do desenvolvedor

Para carregar o arquivo .zip, clique na aba Hospedagem da web no produto Jogos Instantâneos no Painel de Aplicativos. Nesse ponto, clique em Carregar versão, que permitirá o carregamento do arquivo .zip no serviço de hospedagem do Facebook.

Em seguida, o sistema processará o arquivo, o que leva apenas alguns segundos. Quando o estado mudar para "Em espera", o app estará pronto para ser enviado para produção!

2. Enviar o arquivo por meio da Graph API

Opcionalmente, você pode enviar o pacote por meio de uma chamada à Graph API. Este método é útil se você tem um sistema automático de implementação. Para isso, você precisa solicitar um token de carregamento na seção Hospedagem da web. Na parte superior da página, clique no botão Get Asset Upload Access Token.

Com o token da caixa de diálogo, você poderá enviar a seguinte chamada à nossa Graph API para enviar o .zip. Observe que estamos usando o subdomínio do vídeo, mas isso é intencional, já que a URL é configurada para receber carregamentos maiores.

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'

Depois disso, o jogo aparecerá normalmente na lista de pacotes carregados. Você pode usar essa chamada para fazer a integração com o sistema existente da sua compilação.

Restrições de hospedagem

Lembre-se de que a hospedagem do Facebook apresenta diversas restrições. Confira abaixo as mais importantes:

  • Não há compatibilidade com lógica de servidor (por exemplo, php).
  • O tamanho total dos arquivos carregados não pode exceder 200 MB.
  • O número de arquivos dentro de um único carregamento de aplicativo não pode exceder 500.

Consulte a documentação sobre hospedagem na web para mais detalhes.

Como testar a compilação carregada

Como produzir a compilação

Para testar o carregamento em um ambiente de produção, a compilação deve ser preparada para produção. Clique no botão "★" para enviar a compilação para produção.

Observação:

A compilação de produção é a que será exibida para cada pessoa que executar o jogo. Para testar as atualizações em produção sem afetar a base de jogadores existente, você pode preparar uma compilação para teste. Isso fará com que a compilação seja exibida somente para desenvolvedores e testadores do app.

Observação: não crie um app de teste para o jogo usando o botão "Criar aplicativo de teste". Preparar uma compilação para teste é a maneira de usar os Jogos Instantâneos.

Sempre que tiver uma compilação em produção, use-a para fazer testes em vez da compilação que é executada no seu servidor local. É possível testar a compilação de produção usando um dos seguintes métodos.

1. Testar o jogo no Facebook

Para compartilhar o jogo no Feed, clique no botão Compartilhar, na seção Compartilhe seu jogo. Isso permitirá compartilhar o jogo no Feed e testá-lo em qualquer superfície (Desktop, iOS ou Android).



2. Testar o jogo no Messenger

Na lista de Jogos Instantâneos no Messenger, você e a sua equipe (pessoas com funções de "Administrador", "Desenvolvedor" ou "Testador" no app) devem ter uma lista de todos os jogos que estão em construção. A lista é chamada Em desenvolvimento. Isso ajudará você a testar jogos no Messenger, mesmo que não estejam publicados.

Se você tiver associado uma página ao jogo, também poderá gerar um link compartilhável. Esse link levará os usuários para uma conversa com o bot no Messenger e abrirá o jogo automaticamente se você tiver uma configuração de bot. Caso contrário, os usuários serão levados para a sua Página no Facebook e o jogo será aberto de maneira automática na Página. De qualquer forma, uma pessoa que clicar no link poderá jogar imediatamente.

Enviar para a análise do app

Quando a versão publicada estiver pronta, envie o jogo para a análise do app de modo que a nossa equipe possa avaliar a qualidade dele e verificar a conformidade com as Políticas da Plataforma. Confira a lista de verificação de lançamento antes do envio e veja se o jogo se enquadra em todos os critérios especificados. Esse guia também contém instruções sobre como publicar o jogo depois da análise.

Próximas etapas

Agora que já sabe como testar e publicar o jogo, veja a nossa lista de verificação de lançamento antes de enviá-lo: lista de verificação de lançamento dos Jogos Instantâneos. Confira também a seção Melhores práticas para ver recomendações sobre design e atualizações de jogos.