Vorhandenes Spiel in ein Instant-Game umwandeln

Warnung:Google Play Instant ist nicht mehr verfügbar. Ab Dezember 2025, können Instant Apps nicht mehr über Google Play veröffentlicht werden und alle Instant-APIs für Google Play-Dienste funktionieren nicht mehr. Nutzer erhalten dann keine Instant Apps mehr von Google Play über irgendeinen Mechanismus.

Wir nehmen diese Änderung aufgrund von Feedback von Entwicklern und unserer kontinuierlichen Investitionen zur Verbesserung des Ökosystems seit der Einführung von Google Play Instant vor.

Damit Sie Ihre App weiter optimieren und noch mehr Nutzer gewinnen können, empfehlen wir, Nutzer über Deeplinks zu Ihrer regulären App oder Ihrem regulären Spiel weiterzuleiten und so ihr Interesse für bestimmte Inhalte zu wecken.

Die Schritte zum Einrichten von Apps für die Ausführung auf Google Play Instant, wie unter Erste Instant App erstellen beschrieben, gelten auch für Spiele. In diesem Leitfaden werden einige Einrichtungsschritte speziell für Spiele erläutert.

Sie können Spiele für Google Play Instant mit Unity (mit oder ohne das Google Play Instant Unity Plug-in), Cocos2D, Android Studio oder Ihrer eigenen benutzerdefinierten Engine entwickeln.

In diesem Leitfaden wird davon ausgegangen, dass Sie bereits wissen, welche Art von Spielerlebnis Sie bieten möchten. Ideen und Best Practices für die Entwicklung hochwertiger Spiele finden Sie unter UX-Best Practices für Spiele bei Google Play Instant.

Bevor Sie ein Spiel veröffentlichen, das auf Google Play Instant ausgeführt werden kann, sollten Sie außerdem die Checkliste mit den technischen Anforderungen durchgehen.

Eine Aktivität mit dem folgenden Intent-Filter wird zum Einstiegspunkt für die Google Play Instant-Version:

<activity android:name=".GameActivity">
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

Diese Aktivität wird gestartet, wenn ein Nutzer im Play Store auf die Schaltfläche Jetzt testen oder in der Google Play Games App auf die Schaltfläche Sofort spielen tippt. Sie können diese Aktivität auch direkt über die Deeplink API starten.

Richtige Versionscodes definieren

Der Versionscode der Instant-Version Ihres Spiels muss kleiner sein als der Versionscode des installierbaren Spiels. Wenn Sie Ihre App auf diese Weise versionieren, können Spieler von der Google Play Instant-Version zum Herunterladen und Installieren des Spiels auf ihrem Gerät wechseln. Das Android-Framework betrachtet diesen Übergang als App-Update.

Damit Sie das empfohlene Versionierungsschema einhalten, haben Sie folgende Möglichkeiten:

  • Starten Sie die Versionscodes für die Google Play Instant-Version bei 1.
  • Erhöhen Sie den Versionscode der installierbaren App um eine große Zahl, z. B. 1000, damit genügend Platz für die Erhöhung der Versionsnummer Ihrer Instant-Version vorhanden ist.

Sie können Ihr Instant-Game und Ihr installierbares Spiel in zwei separaten Android Studio-Projekten entwickeln. Wenn Sie das tun, müssen Sie jedoch Folgendes tun, um Ihr Spiel bei Google Play zu veröffentlichen:

  1. Verwenden Sie in beiden Android Studio-Projekten denselben Paketnamen.
  2. Laden Sie in der Google Play Console beide Varianten in dieselbe Anwendung hoch.

Weitere Informationen zum Festlegen der Version Ihres Spiels finden Sie unter App versionieren.

Ausführungsumgebung unterstützen

Wie andere Apps werden auch Spiele bei Google Play Instant in einer eingeschränkten Sandbox auf dem Gerät ausgeführt. Führen Sie die Schritte in den folgenden Abschnitten aus, um diese Ausführungsumgebung zu unterstützen.

Cleartext-Traffic deaktivieren

Spiele bei Google Play Instant unterstützen keinen HTTP-Traffic. Wenn Ihr Spiel auf Android 9 (API-Level 28) oder höher ausgerichtet ist, deaktiviert Android die Cleartext-Unterstützung in Ihrem Spiel standardmäßig.

Wenn Ihr Spiel jedoch auf Android 8.1 (API-Level 27) oder niedriger ausgerichtet ist, müssen Sie eine Netzwerksicherheitskonfigurationsdatei erstellen. Legen Sie in dieser Datei cleartextTrafficPermitted auf false fest, wie im folgenden Code-Snippet gezeigt:

res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">secure.example.com</domain>
    </domain-config>
</network-security-config>

Ziel-Sandbox-Version aktualisieren

Aktualisieren Sie die Datei AndroidManifest.xml Ihres Instant-Games, damit sie auf die Sandbox-Umgebung ausgerichtet ist, die von Google Play Instant unterstützt wird. Sie können diese Aktualisierung vornehmen, indem Sie das android:targetSandboxVersion Attribut zum <manifest> Element Ihres Spiels hinzufügen, wie im folgenden Code-Snippet gezeigt:

<manifest
   xmlns:android="http://schemas.android.com/apk/res/android"
  ...
   android:targetSandboxVersion="2" ...>

Weitere Informationen finden Sie in der Dokumentation zum targetSandboxVersion Attribut.

Nicht auf das Vorhandensein eines Cache oder von App-Daten verlassen

Die Instant-Version bleibt auf dem Gerät eines Nutzers heruntergeladen, bis der Cache der Instant-Version geleert wird. Das geschieht in einer der folgenden Situationen:

  • Der Cache der Instant-Version wird bereinigt, weil auf dem Gerät nicht mehr genügend Arbeitsspeicher verfügbar ist.
  • Der Nutzer startet sein Gerät neu.

In beiden Fällen muss der Nutzer die Instant-Version noch einmal herunterladen, um sie verwenden zu können.

Wenn auf dem System nur noch sehr wenig Speicherplatz verfügbar ist, werden die Nutzerdaten Ihrer Instant-Version möglicherweise aus dem internen Speicher entfernt. Daher empfiehlt es sich, Nutzerdaten regelmäßig mit dem Server Ihres Spiels zu synchronisieren, damit der Fortschritt des Nutzers erhalten bleibt.

App-Größe reduzieren

Im Gegensatz zu anderen App-Typen haben Spiele bei Google Play Instant eine Beschränkung der Downloadgröße von 15 MB. Um ein Spiel dieser Größe zu erstellen, müssen Sie möglicherweise die Logik Ihres Spiels umgestalten. In diesem Abschnitt werden einige Tools und Techniken beschrieben, mit denen Sie die Größe Ihres Spiels optimieren können.

Tools

Mit den folgenden Tools können Sie ermitteln, was zur Größe Ihres Spiels beiträgt:

  • APK Analyzer: Bietet einen umfassenden Überblick über die Inhalte eines kompilierten APK. In dieser Ansicht können Sie die Anzahl der Byte ermitteln, die jedes Element zur Gesamtgröße beiträgt. Mit diesem Tool können Sie problemlos die Größe Ihrer Ressourcen, Inhalte, Logik und nativen Bibliotheken prüfen, die Ihre App nutzt.
  • Bloaty McBloatface: Zeigt das Größenprofil von Binärdateien.
  • Android GPU Inspector: Hier sehen Sie die Auswirkungen der Reduzierung der Texturgröße auf die Dateigröße , ohne Ihr Spiel neu kompilieren zu müssen.

Techniken

Im Folgenden finden Sie eine Liste von Techniken, mit denen Sie die Größe Ihres Spiels reduzieren können:

  • Extrahieren Sie einen Teil der Logik Ihres Spiels und platzieren Sie sie in einem oder mehreren Feature Modulen, die nicht auf die Größenbeschränkung angerechnet werden.
  • Reduzieren Sie die Auflösung der Texturen Ihres Spiels.
  • Verwenden Sie das WebP Format, insbesondere wenn Sie unkomprimierte Texturen auf der GPU verwenden. Mit dem WebP-Format werden Bilder in derselben Qualität wie JPEG-Bilder erstellt, die jedoch 15 bis 30 % kleiner sind. Obwohl die Dekomprimierung von WebP-Bildern länger dauert, ist diese Dekomprimierungszeit immer noch deutlich kürzer als die Downloadzeit der Texturen Ihres Spiels. Google hat das Format auch in eine Open-Source-Game Engine integriert.
  • Komprimieren oder verwenden Sie Sounds und Musik wieder.
  • Verwenden Sie verschiedene Kompilierungsflags, um die Größe Ihrer Binärdatei zu reduzieren:
    • -fvisibility=hidden – Das wichtigste Flag. In cmake können Sie es so angeben:
      $ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
      
    • -Oz – Auch wichtig, um die Größe zu reduzieren. Wenn Sie mit gcc kompilieren, verwenden Sie stattdessen -Os.
    • -flto – Verringert manchmal die Dateigröße.
    • Linker-Flags – Verwenden Sie --gc-sections in Verbindung mit Compiler-Flags wie -ffunction-sections und -fdata-sections.
  • Verwenden Sie ProGuard, um Code und Ressourcen zu verkleinern.
  • Verwenden Sie Gradle 4.4 oder höher, um kleinere DEX-Dateien zu generieren.
  • Implementieren Sie die Cloud-Bereitstellung von Assets.

Großes Spiel in mehrere APKs aufteilen

Es kann schwierig sein, die Google Play Instant-Version so zu optimieren, dass Ihr Spiel in ein einzelnes 15-MB-APK passt, auch wenn Sie die Empfehlungen zur Reduzierung der APK-Größe befolgen. Um dieses Problem zu lösen, können Sie Ihr Spiel in mehrere APKs aufteilen. Spieler laden zuerst das primäre Basis-APK herunter. Während sie spielen, werden die verbleibenden Split-APKs im Hintergrund für das Spiel verfügbar gemacht.

Das Basis-APK kann beispielsweise die Kern-Game-Engine und die Assets enthalten, die zum Anzeigen eines Ladebildschirms erforderlich sind. Wenn das Basis-APK gestartet wird, wird der Ladebildschirm angezeigt und sofort ein zusätzliches unterteiltes APK angefordert, das die Spiel- und Leveldaten enthält. Sobald dieses unterteilte APK verfügbar ist, können seine Assets in die Spiel-Engine geladen werden und der Spieler erhält die Inhalte, die er zum Starten des Spiels benötigt.

UX-Best Practices nutzen

Nachdem Sie Ihr Spiel so konfiguriert haben, dass es Instant-Versionen unterstützt, fügen Sie die Logik hinzu, die in den folgenden Abschnitten beschrieben wird, um eine gute Nutzererfahrung zu bieten.

64-Bit-Architekturen unterstützen

Apps, die bei Google Play veröffentlicht werden, müssen 64-Bit-Architekturen unterstützen. Wenn Sie eine 64-Bit-Version Ihrer App hinzufügen, wird die Leistung verbessert und Sie sind für Geräte mit reiner 64-Bit-Hardware gerüstet. Weitere Informationen zur 64-Bit-Unterstützung.

Prüfen, ob das Spiel als Instant-Version ausgeführt wird

Wenn ein Teil der Logik Ihres Spiels davon abhängt, ob der Nutzer die Instant-Version verwendet, rufen Sie die isInstantApp() Methode auf. Diese Methode gibt true zurück, wenn der aktuell ausgeführte Prozess eine Instant-Version ist.

Mit dieser Prüfung können Sie feststellen, ob Ihre App in einer eingeschränkten Ausführungsumgebung ausgeführt werden muss oder Plattformfunktionen nutzen kann.

Installationsaufforderung anzeigen

Wenn Sie eine Testversion von Google Play Instant erstellt haben, sollte das Spiel den Spieler irgendwann auffordern, die Vollversion auf seinem Gerät zu installieren. Verwenden Sie dazu die showInstallPrompt() Methode in den Google APIs for Android.

Weitere Informationen dazu, wie und wann Sie den Spieler zur Installation auffordern sollten, finden Sie unter UX-Best Practices für Spiele bei Google Play Instant.

Daten in eine installierte Version übertragen

Wenn ein Spieler Ihre Testversion mag, entscheidet er sich möglicherweise, die Vollversion Ihres Spiels zu installieren. Um eine gute Nutzererfahrung zu bieten, ist es wichtig, dass der Fortschritt des Spielers von der Instant-Version in die Vollversion Ihres Spiels übertragen wird.

Wenn für Ihr Spiel festgelegt ist, targetSandboxVersion wird der Fortschritt des Spielers automatisch in die Vollversion Ihres Spiels übertragen.2 Andernfalls müssen Sie die Daten zum Fortschritt des Spielers manuell übertragen. Verwenden Sie dazu die Cookie API – Beispiel-App.

Zusätzliche Ressourcen

Weitere Informationen zu Google Play Instant finden Sie in diesen zusätzlichen Ressourcen:

Codelab: Erste Instant App erstellen
Unterstützung für Google Play Instant in einer vorhandenen App hinzufügen
Codelab: Instant App mit mehreren Funktionen erstellen
App mit mehreren Funktionen modularisieren