Test, pubblicazione e condivisione di un Gioco istantaneo

Con Giochi istantanei, abbiamo semplificato il più possibile le funzioni di test in locale della versione in fase di sviluppo, automatizzazione della pubblicazione e condivisione della build con il tuo team. Questo documento illustra nel dettaglio questi passaggi.

Test del gioco da un server locale

Una parte importante dell'esperienza di Giochi istantanei deriva dagli overlay nativi aggiunti al gioco prima e dopo ciascuna sessione di gioco. Per semplificare il flusso di lavoro di sviluppo e test, consentiamo agli sviluppatori di eseguire il gioco da un server locale, con un'esperienza molto simile a quella che vedranno i giocatori sulla nostra piattaforma. Questo è possibile grazie al nostro strumento di riproduzione dei test incorporato, che richiede una breve configurazione.

Abilitazione di SSL tramite localhost

Dato che il nostro strumento di riproduzione dei test incorporato lavora nel dominio facebook.com, può essere servito solo tramite https. Per incorporare un contenuto in una pagina servita tramite https, tale contenuto deve essere anche servito tramite SSL. Nei prossimi passaggi, ti illustreremo come configurare un server localhost che mostri contenuti protetti. Di seguito ti illustriamo un'opzione, ma ci sono molte soluzioni possibili per abilitare questo comportamento.

> $ npm install -g http-server
  • 2. Crea una chiave privata e un certificato tramite openssl. Questo passaggio è necessario per avviare il server locale protetto.
> $ 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. Esegui il gioco da localhost con SSL. Quando la chiave e il certificato sono pronti, puoi servire da 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. A questo punto, accedendo a https://localhost:8080 nel browser dovresti vedere il gioco in esecuzione.

Nota: devi provare ad accedervi almeno una volta, poiché potresti dover approvare un avviso di sicurezza dal tuo browser prima di continuare. Se questo è il caso e salti questo passaggio, il gioco non verrà caricato.

Per esempio, su Chrome potresti aver bisogno di accedere a chrome://flags/#allow-insecure-localhost e abilitare "Allow invalid certificates for resources loaded from localhost." (Consenti certificati non validi per le risorse caricate da localhost.) per eliminare l'avvertimento.

Esecuzione dello strumento per la riproduzione dal tuo browser

Ora che il gioco viene servito da localhost tramite una connessione protetta, puoi incorporarlo nel nostro strumento di riproduzione. Accedi a questo indirizzo nel browser:

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

Dovresti vedere il tuo gioco in esecuzione nello strumento di riproduzione di Giochi istantanei in questo modo:

Nota: devi provare il tuo gioco almeno una volta su fb.gg/play/YOUR_GAME_ID perché lo strumento di riproduzione incorporato funzioni correttamente.

A questo punto, dovresti essere in grado di usare tutte le funzioni dell'SDK per Giochi istantanei dal gioco in esecuzione nel tuo server locale.

Per motivi di sicurezza, localhost è l'unico dominio supportato per il test con lo strumento per la riproduzione dei test incorporato.

Giocare dal server locale in una conversazione specifica

Puoi avviare il gioco dal tuo server locale in un contesto specifico. Per eseguire l'operazione, usa lo strumento per la riproduzione incorporato come spiegato in precedenza. Puoi sfruttare i metodi FBInstant.context (ad es. switchAsync(), createAsync() e chooseAsync()) per passare a contesti diversi.

Ciò ti consente di usare il gioco in modo ottimale da localhost in un contesto di conversazione e testare il corretto invio degli aggiornamenti di contesto.

Caricamento della tua build

Crea un pacchetto del tuo gioco con un singolo file .zip.

I contenuti di Giochi istantanei sono ospitati sull'infrastruttura Facebook, quindi non hai bisogno di ospitare i contenuti del gioco o di usare servizi di terzi. Quando il gioco è pronto per il test, crea un pacchetto di tutti i file del gioco con un singolo file .zip. Tieni presente che il file index.html deve trovarsi nella root dell'archivio e non in una sottocartella. Ci sono due modi per caricare il tuo bundle:

1. Caricare il file .zip tramite il sito web per gli sviluppatori

Per caricare il file .zip, clicca sulla tab web hosting dal prodotto Giochi istantanei nella dashboard gestione app. Da lì, clicca su Carica versione che ti consentirà di caricare il file .zip sul servizio di hosting di Facebook.

Dopodiché la build elaborerà il file entro pochi secondi. Quando lo stato diventa "Standby", l'app è pronta per essere spostata in produzione!

2. Caricare un archivio tramite API Graph

In alternativa, puoi caricare il tuo bundle tramite una chiamata API Graph. Questo procedimento è utile se disponi di un sistema di distribuzione automatica. Per farlo, devi richiedere un token per il caricamento dalla sezione web hosting cliccando sul pulsante Get Asset Upload Access Token (Ricevi token d'accesso per il caricamento della risorsa) nella parte superiore.

Con il token della finestra di dialogo, puoi inviare la seguente chiamata alla nostra API Graph per inviare il tuo file .zip. Tieni presente che stiamo usando il sottodominio del video, ma è intenzionale, poiché tale URL è configurato per ricevere upload di maggiori dimensioni.

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'

A questo punto, il tuo gioco verrà mostrato normalmente nella lista dei pacchetti caricati. Puoi usare questa chiamata per l'integrazione con il sistema della build esistente.

Limitazioni di hosting

Tieni presente che l'hosting di Facebook prevede diverse limitazioni, tra cui:

  • La logica lato server (ad es. php) non è supportata.
  • Le dimensioni totali dei file caricati non devono superare 200 MB.
  • Il numero di file in una singola app caricata non deve essere superiore a 500.

Consulta la documentazione relativa al web hosting per ulteriori dettagli.

Test della build caricata

Mettere in produzione la build

Per testare il caricamento in un ambiente di produzione, è necessario innanzitutto allestire la build per la produzione. Clicca sul pulsante "★" per inviare la build in produzione.

Nota:

la build di produzione è la build che verrà mostrata a ogni utente che usa il tuo gioco. Per testare gli aggiornamenti in produzione senza influenzare la base di giocatori esistente, puoi preparare una build per il test. Ciò farà sì che la build venga mostrata solo agli sviluppatori e ai tester dell'app.

Nota: non creare un'app test per il tuo gioco utilizzando il pulsante "Crea app test". Realizzare una build per i test è la via da seguire con i giochi istantanei.

Una volta che la build è in "produzione", dovrai testarla al posto di quella in esecuzione sul tuo server locale. Puoi testare la build in produzione usando uno dei metodi seguenti.

1. Utilizzare il tuo gioco su Facebook

Per condividere il tuo gioco nella sezione Feed, clicca sul pulsante Condividi nella sezione Condividi il tuo gioco. Questo ti permetterà di condividere il gioco nel feed e di testarlo da qualsiasi piattaforma (computer, iOS o Android).



2. Utilizzare il tuo gioco su Messenger

Nella lista dei Giochi istantanei su Messenger, tu e il tuo team (utenti con il ruolo "Amministratore", "Sviluppatore" o "Tester" assegnato nella tua app) dovete disporre di una lista di tutti i giochi in fase di sviluppo. Questa lista è denominata In fase di sviluppo. Questo ti consente di testare i giochi su Messenger anche se non sono ancora stati pubblicati.

Se hai associato una Pagina al tuo gioco, puoi anche generare un link da condividere. Questo link indirizza gli utenti a una conversazione con il tuo bot su Messenger e apre il gioco in automatico se disponi di un bot configurato. In caso contrario, indirizza gli utenti alla tua Pagina su Facebook, aprendo automaticamente il gioco da tale posizione. In ogni caso, chiunque clicchi sul link deve essere in grado di giocare immediatamente.

Invio per l'analisi dell'app

Una volta che la versione pubblicata ti soddisfa, devi inviare il gioco per l'analisi dell'app, in questo modo il nostro team può valutarne la qualità e la conformità alle nostre Normative della piattaforma. Assicurati di consultare la nostra checklist delle versioni prima di effettuare l'invio e verifica che il gioco soddisfi tutti i criteri indicati. La guida contiene anche istruzioni su come pubblicare il gioco dopo l'analisi.

Passaggi successivi

Ora che sai come testare e pubblicare i tuoi giochi, consulta la nostra checklist per il lancio prima di inviare il tuo gioco. Checklist per il lancio di Giochi istantanei. Consulta anche la sezione Best practice per i consigli sulla progettazione e gli aggiornamenti del tuo gioco.