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.
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 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.
http-server
usando npm
. Se você ainda não tiver instalado o npm
, siga as instruções de instalação do site Node.JS. Depois disso, execute o seguinte comando:> $ npm install -g http-server
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
# 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
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.
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.
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.
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:
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!
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.
Lembre-se de que a hospedagem do Facebook apresenta diversas restrições. Confira abaixo as mais importantes:
Consulte a documentação sobre hospedagem na web para mais detalhes.
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.
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.
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).
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.
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.
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.