Testen, Veröffentlichen und Teilen von Instant Games

Mit Instant Games haben wir es dir ganz leicht gemacht, deine Entwicklungsversion lokal zu testen, die Veröffentlichung zu automatisieren und den Build mit deinem Team zu teilen. In diesem Dokument werden diese Schritte im Detail erläutert.

Testen des Spiels auf einem lokalen Server

Ein wesentlicher Bestandteil des Erlebnisses bei Instant Games liegt in den nativen Overlays, die dem Spiel vor und nach jeder Spielsitzung hinzugefügt werden. Um den Entwicklungs- und Test-Workflow zu erleichtern, ermöglichen wir es Entwicklern, das Spiel über einen lokalen Server auszuführen und eine sehr ähnliche Erfahrung wie die von Spielern auf unserer Plattform zu sehen. Das erfolgt über unseren eingebetteten Test-Player. Dazu musst du ein paar Elemente konfigurieren.

Aktivieren von SSL über localhost

Da unser eingebetteter Test-Player unter der facebook.com-Domain läuft, kann er nur über https bereitgestellt werden. Um Inhalt auf einer Seite einzubetten, die über https bereitgestellt wird, muss der eingebettete Inhalt ebenfalls über SSL bereitgestellt werden. In den nächsten Schritten richtest du einen localhost-Server ein, der sicheren Inhalt bereitstellt. Wir zeigen dir hierzu jetzt nur eine Option. Du kannst dieses Verhalten aber auf vielerlei Arten aktivieren.

> $ npm install -g http-server
  • 2. Erstelle einen privaten Schlüssel und ein Zertifikat über openssl. Das ist erforderlich, um den sicheren lokalen Server auszuführen.
> $ 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. Führe das Spiel von localhost mit SSL aus. Sobald der Schlüssel und das Zertifikat bereit sind, kannst du Inhalte von localhost mit SSL bereitstellen.
# 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. Wenn du im Browser danach zu https://localhost:8080 gehst, solltest du das ausgeführte Spiel sehen.

Hinweis: Du musst mindestens einmal versuchen darauf zuzugreifen, da du möglicherweise eine Sicherheitswarnung vom Browser bestätigen musst, bevor du fortfährst. Wenn das der Fall ist und du diesen Schritt überspringst, wird dein Spiel nicht geladen.

Auf Chrome kann es beispielsweise sein, dass du auf chrome://flags/#allow-insecure-localhost zugreifen und „Allow invalid certificates for resources loaded from localhost“ (Ungültige Zertifikate für aus localhost geladene Ressourcen zulassen) aktivieren musst, um die Warnung zu verwerfen.

Ausführen des eingebetteten Players mit dem Browser

Wenn das Spiel über eine sichere Verbindung aus localhost bereitgestellt wird, kannst du es in unseren Player einbetten. Gehe im Browser an diese Stelle:

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

Dein Spiel sollte im Player für Instant Games ausgeführt werden:

Hinweis: Du musst dein Spiel mindestens einmal auf fb.gg/play/YOUR_GAME_ID gespielt haben, damit der eingebettete Player richtig funktioniert.

Jetzt solltest du alle Features des Instant Games-SDK im Spiel, das in deinem lokalen Server ausgeführt wird, verwenden können.

Aus Sicherheitsgründen ist localhost die einzige unterstützte Domain zum Testen mit dem eingebetteten Test-Player.

Spielen aus dem lokalen Server in einer bestimmten Unterhaltung

Du kannst das Spiel in einem speziellen Kontext auf deinem lokalen Server ausführen. Verwende dazu einfach den eingebetteten Player wie weiter oben erklärt. Dann kannst du die FBInstant.context-Methoden (wie switchAsync(), createAsync() und chooseAsync()) einsetzen, um zu anderen Kontexten zu wechseln.

So ist es dir möglich, das Spiel in einem Unterhaltungskontext aus localhost auszuführen und zu testen, ob deine Kontext-Updates richtig gesendet werden.

Hochladen des Builds

Verpacke dein Spiel in einer einzelnen ZIP-Datei

Inhalte von Instant Games werden auf Facebook-Infrastruktur gehostet. Du musst den Spieleinhalt also nicht in deinem eigenen Server hosten oder Drittanbieterdienste verwenden. Wenn das Spiel zum Testen bereit ist, verpacke alle Spieldateien in einer einzelnen ZIP-Datei. Beachte, dass die index.html-Datei sich im Stammverzeichnis dieses Archivs befinden muss und nicht in einem Unterordner sein darf. Du kannst dein Bundle auf zwei Arten hochladen:

1. Lade die ZIP-Datei über die Entwickler-Webseite hoch.

Klicke zum Hochladen der ZIP-Datei auf den Tab Webhosting im App-Dashboard des Produkts Instant Games. Klicke dort auf Version hochladen. Damit kannst du die ZIP-Datei in den Hosting-Dienst von Facebook hochladen.

Anschließend wird die Datei verarbeitet. Dieser Vorgang sollte nur ein paar Sekunden dauern. Wenn der Status zu „Standby“ übergeht, kann die App der Produktion übergeben werden.

2. Lade ein Archiv über die Graph API hoch.

Du kannst dein Bundle auch über einen Graph API-Aufruf hochladen. Das ist nützlich, wenn du ein automatisiertes Bereitstellungssystem verwendest. Dazu musst du ein Upload-Token über den Abschnitt Webhosting anfragen, indem du oben auf den Button Zugriffsschlüssel für Hochladen von Element klickst.

Mit dem Token aus dem Dialog kannst du den folgenden Aufruf an unsere Graph API senden, um deine ZIP-Datei einzureichen. Beachte, dass wir die Video-Subdomain verwenden. Das ist aber Absicht, da diese URL für den Empfang größerer Uploads konfiguriert ist.

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'

Anschließend wird dein Spiel ganz normal in der Liste der hochgeladenen Bundles angezeigt. Mit diesem Aufruf kannst du die Integration in dein vorhandenes Build-System vornehmen.

Einschränkungen beim Hosting

Beim Facebook-Hosting gibt es mehrere Einschränkungen zu beachten, vor allem Folgende:

  • Serverseitige Logik (z. B. php) wird nicht unterstützt.
  • Die Gesamtgröße der hochgeladenen Dateien darf 200 MB nicht überschreiten.
  • Die Anzahl der Dateien in einem einzelnen App-Upload darf 500 nicht überschreiten.

Weitere Details dazu findest du in der Dokumentation zum Webhosting.

Testen des hochgeladenen Builds

Übergebe den Build an die Produktion.

Um einen Upload in einer Produktionsumgebung testen zu können, muss der Build zunächst der Produktion übergeben werden. Klicke auf den Button „★“, um den Build an die Produktion zu übergeben.

Hinweis

:

Dein Produktions-Build ist der Build, der allen Spielern deines Spiels bereitgestellt wird. Um deine Updates in der Produktion ohne Auswirkungen auf deine aktuellen Spieler testen zu können, kannst du einen Build zu Testzwecken übergeben. Das heißt, dass der Build nur Entwickler und Testern der App zur Verfügung gestellt wird.

Hinweis: Erstelle keine Test-App für dein Spiel über den Button „Test-App erstellen“. Die richtige Methode mit Instant Games ist es, einen Build zum Testen zu erstellen.

Wenn du deinen Build der Produktion übergeben hast, teste immer den Produktions-Build anstelle des Builds auf deinem lokalen Server. Du kannst den Produktions-Build mit einer der folgenden Methoden testen.

1. Dein Spiel auf Facebook spielen

Um dein Spiel im Feed zu teilen, klicke im Abschnitt Dein Spiel teilen auf den Button Teilen. So kannst du das Spiel im Feed teilen und auf jeder Oberfläche (Desktop, iOS oder Android) testen.



2. Dein Spiel im Messenger spielen

In der Instant Games-Liste im Messenger sollten du und dein Team (Personen mit der Rolle „Administrator“, „Entwickler“ oder „Tester“ in deiner App) eine Liste aller Spiele sehen, die gerade entwickelt werden. Diese Liste heißt In Entwicklung. Damit kannst du selbst noch nicht veröffentlichte Spiele im Messenger testen.

Wenn du eine Seite mit deinem Spiel verknüpft hast, kannst du auch einen teilbaren Link erstellen. Über diesen Link gelangen Nutzer zu einer Unterhaltung mit deinem Bot im Messenger. Das Spiel wird automatisch geöffnet, wenn du einen Bot eingerichtet hast. Andernfalls gelangen Nutzer zu deiner Seite auf Facebook, von wo aus sich das Spiel automatisch öffnet. In jedem Fall sollten alle, die auf den Link klicken, das Spiel sofort spielen können.

Zum App Review einreichen

Sobald du mit deiner veröffentlichten Version zufrieden bist, solltest du dein Spiel zum App Review einreichen, damit unser Team es auf Qualität und Konformität mit unseren Plattformrichtlinien hin überprüfen kann. Überprüfe vor der Einreichung die Checkliste für die Veröffentlichung, um sicherzustellen, dass dein Spiel alle angegebenen Kriterien erfüllt. Dieser Leitfaden enthält auch Anweisungen zur Veröffentlichung deines Spiels, nachdem es überprüft wurde.

Nächste Schritte

Jetzt weißt du, wie du dein Spiel testest und veröffentlichst. Sieh dir als Nächstes unsere Checkliste zum Launch an, bevor du dein Spiel einreichst: Checkliste zum Launch von Instant Games. Sieh dir auch den Abschnitt Best Practices an, in dem sich Empfehlungen für das Design und Updates für dein Spiel befinden.