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.
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.
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.
http-server
tramite npm
. Se non hai installato npm
, segui le istruzioni di installazione sul sito web Node.JS. Successivamente, esegui questo comando:> $ npm install -g http-server
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
# 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
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.
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.
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.
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:
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!
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.
Tieni presente che l'hosting di Facebook prevede diverse limitazioni, tra cui:
Consulta la documentazione relativa al web hosting per ulteriori dettagli.
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.
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.
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).
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.
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.
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.