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 Google Play-Dienste-Instant-APIs funktionieren nicht mehr. Nutzer erhalten keine Instant Apps mehr von Play.
Wir nehmen diese Änderung aufgrund von Entwicklerfeedback und unserer kontinuierlichen Investitionen zur Verbesserung des Ökosystems seit der Einführung von Google Play Instant vor.
Damit du deine App weiter optimieren und noch mehr Nutzer gewinnen kannst, empfehlen wir, Nutzer über Deeplinks zu deiner regulären App oder deinem 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 mit Google Play Instant, wie in Erste Instant App erstellen beschrieben, gelten auch für Spiele. In diesem Leitfaden werden einige Einrichtungsschritte speziell für Spiele beschrieben.
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 in Google Play Instant ausgeführt werden kann, sollten Sie außerdem die Checkliste mit technischen Anforderungen durchgehen.
Einstiegspunkt angeben
Eine Aktivität, die den folgenden Intent-Filter enthält, 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 Spiele 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-Funktion Ihres Spiels muss niedriger sein als der Versionscode des installierbaren Spiels. Durch die Versionsverwaltung deiner App auf diese Weise können Nutzer von der Google Play Instant-Funktion zum Herunterladen und Installieren des Spiels auf ihrem Gerät wechseln. Das Android-Framework betrachtet diese Umstellung als App-Update.
Damit Sie das empfohlene Versionsschema einhalten, können Sie eine der folgenden Strategien anwenden:
- Setzen Sie die Versionscodes für die Google Play Instant-Version auf 1 zurück.
- Erhöhen Sie den Versionscode der installierbaren App um eine große Zahl, z. B. 1.000, damit genügend Spielraum für die Erhöhung der Versionsnummer Ihrer Instant-Funktion 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 beachten, um Ihr Spiel bei Google Play zu veröffentlichen:
- Verwenden Sie in beiden Android Studio-Projekten denselben Paketnamen.
- 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 auf 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 auf Google Play Instant unterstützen keinen HTTP-Traffic. Wenn Ihr Spiel auf Android 9 (API‑Level 28) oder höher ausgerichtet ist, wird die Unterstützung von Klartext in Ihrem Spiel unter Android standardmäßig deaktiviert.
Wenn Ihr Spiel jedoch auf Android 8.1 (API‑Level 27) oder niedriger ausgerichtet ist, müssen Sie eine Network Security Config-Datei 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, sodass sie auf die Sandbox-Umgebung ausgerichtet ist, die von Google Play Instant unterstützt wird. Sie können dieses Update abschließen, indem Sie das Attribut android:targetSandboxVersion
dem <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 Attribut targetSandboxVersion
.
Nicht auf das Vorhandensein von Cache oder App-Daten verlassen
Ihre Instant-Funktion bleibt auf dem Gerät eines Nutzers heruntergeladen, bis der Cache der Instant-Funktion geleert wird. Das geschieht in einer der folgenden Situationen:
- Der Cache der Instant-Version wird geleert, weil auf dem Gerät nur noch wenig Speicherplatz verfügbar ist.
- Der Nutzer startet sein Gerät neu.
Wenn einer dieser Vorgänge eintritt, muss der Nutzer Ihre Instant Experience noch einmal herunterladen, um damit interagieren zu können.
Wenn das System nur noch sehr wenig Speicherplatz hat, werden die Nutzerdaten Ihrer Instant-App 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 gilt für Spiele bei Google Play Instant eine Downloadgrößenbeschränkung 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 der folgenden Liste von Tools können Sie herausfinden, welche Faktoren zur Größe Ihres Spiels beitragen:
- 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 kannst du problemlos die Größe deiner Ressourcen, Assets, Logik und nativen Bibliotheken prüfen, die dein Spiel nutzt.
- Bloaty McBloatface: Zeigt das Größenprofil von Binärdateien an.
- Android GPU Inspector: Hier können Sie die Auswirkungen der Reduzierung der Texturgröße auf die Dateigröße sehen, ohne das Spiel neu kompilieren zu müssen.
Techniken
Im Folgenden finden Sie eine Liste mit Methoden, mit denen Sie die Größe Ihres Spiels reduzieren können:
- Lagern Sie einen Teil der Logik Ihres Spiels in ein oder mehrere Funktionsmodule aus, 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. Das WebP-Format erzeugt Bilder, die die gleiche Qualität wie JPEG-Bilder haben, aber 15% bis 30% kleiner sind. Obwohl das Dekomprimieren 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.
- Töne und Musik komprimieren oder wiederverwenden.
- Verwenden Sie verschiedene Kompilierungsflags, um die Binärdatei zu verkleinern:
-fvisibility=hidden
– Das ist der wichtigste. Incmake
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 mitgcc
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 zu kürzen 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-App so zu optimieren, dass Ihr Spiel in ein einzelnes 15 MB großes APK passt, selbst wenn Sie die Empfehlungen zur Reduzierung der APK-Größe befolgen. Um dieses Problem zu beheben, 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 Haupt-Game-Engine und die Assets enthalten, die zum Anzeigen eines Ladebildschirms erforderlich sind. Beim Start des Basis-APKs wird der Ladebildschirm angezeigt und sofort ein zusätzliches Split-APK mit den Spiel- und Leveldaten angefordert. Sobald das aufgeteilte APK verfügbar ist, können seine Assets in die Spiele-Engine geladen werden und der Spieler erhält die Inhalte, die er für den Spielbeginn benötigt.
UX-Best Practices anwenden
Nachdem Sie Ihr Spiel so konfiguriert haben, dass es Instant-Funktionen unterstützt, fügen Sie die in den folgenden Abschnitten beschriebene Logik hinzu, um eine gute Nutzererfahrung zu bieten.
64-Bit-Architekturen unterstützen
Bei Google Play veröffentlichte Apps müssen 64‑Bit-Architekturen unterstützen. Wenn Sie eine 64‑Bit-Version Ihrer App hinzufügen, können Sie die Leistung verbessern und sich auf Geräte mit reiner 64‑Bit-Hardware vorbereiten. Weitere Informationen zur 64-Bit-Unterstützung
Prüfen, ob das Spiel Instant-Experience ausführt
Wenn ein Teil der Logik Ihres Spiels davon abhängt, ob der Nutzer mit Ihrer Instant Experience interagiert, rufen Sie die Methode isInstantApp()
auf. Diese Methode gibt true
zurück, wenn der aktuell ausgeführte Prozess eine Instant Experience ist.
So 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 Google Play Instant-Testversion erstellt haben, sollte das Spiel den Nutzer irgendwann auffordern, die Vollversion auf seinem Gerät zu installieren. Verwenden Sie dazu die Methode showInstallPrompt()
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 an eine installierte App übertragen
Wenn ein Spieler die Testversion gut findet, entscheidet er sich möglicherweise, die Vollversion deines Spiels zu installieren. Aus Gründen der Nutzerfreundlichkeit ist es wichtig, dass der Fortschritt des Spielers von der Instant-App zur Vollversion des Spiels übertragen wird.
Wenn in Ihrem Spiel ein targetSandboxVersion
von 2
angegeben ist, wird der Fortschritt des Spielers automatisch in die Vollversion Ihres Spiels übertragen. Andernfalls müssen Sie die Daten zum Spielerfortschritt manuell übertragen. Verwenden Sie dazu die Cookie API – Beispiel-App.
Zusätzliche Ressourcen
Weitere Informationen zu Google Play Instant finden Sie in den folgenden 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
- Eine App mit mehreren Funktionen modularisieren