Unterstützung für sofortigen Zugriff hinzufügen

Die Schritte zum Einrichten von Apps, auf denen sie ausgeführt werden sollen Google Play Instant, wie erklärt unter Erste Instant App erstellen, auch für Spiele. In diesem Leitfaden werden einige Einrichtungsschritte speziell für Spiele hervorgehoben.

Sie können Spiele für Google Play Instant entwickeln mit Unity (mit oder ohne Google Play Instant Unity Plug-in) Cocos2D Android Studio oder deine eigene benutzerdefinierte Engine verwenden.

In diesem Leitfaden wird davon ausgegangen, dass Sie bereits wissen, welches Spielerlebnis Sie die Sie bereitstellen möchten. Wenn Sie Ideen und Best Practices für eine zu qualitativ hochwertigen Spielen, lesen Sie sich die UX-Best Practices für Spiele Google Play Instant

Bevor Sie ein Spiel veröffentlichen, Google Play Instant verwenden, lesen Sie die technischen Anforderungen Checkliste.

Eine Aktivität, die den folgenden Intent-Filter enthält, wird zum Einstiegspunkt für die Google Play Instant-Funktion:

<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 tippt. Store oder den Sofort spielen in der Google Play Spiele App klicken. Sie können diese Aktivität auch direkt über die Deep Link API verwenden.

Die richtigen Versionscodes definieren

Der Versionscode der Instant-Funktion deines Spiels muss kleiner sein als der Versionscode des installierbaren Spiels. Wenn Sie Ihre App auf diese Weise von der Google Play Instant-Funktion zum Download zu wechseln, und das Spiel auf ihrem Gerät installieren. Das Android-Framework berücksichtigt das zu einem App-Update.

Um sicherzustellen, dass Sie dem empfohlenen Versionsverwaltungsschema folgen, folgen Sie einem der diesen Strategien:

  • Starte die Versionscodes für Google Play Instant unter 1 neu.
  • Erhöhe den Versionscode der installierbaren App um eine größere Anzahl von Apps, z. B. 1.000, damit genügend Speicherplatz für die Version der Instant-Funktion vorhanden ist um die Zahl zu erhöhen.

Sie können Ihr Instant-Game und Ihr installierbares Spiel in zwei separaten Android Studio-Projekte In diesem Fall müssen Sie jedoch wie folgt vorgehen, um Veröffentlichen Sie Ihr Spiel bei Google Play:

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

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

Ausführungsumgebung unterstützen

Wie andere Apps sind auch Spiele bei Google Play Instant nur eingeschränkt verfügbar Sandbox auf dem Gerät. Führen Sie die Schritte aus, um diese Ausführungsumgebung zu unterstützen die in den folgenden Abschnitten beschrieben werden.

Klartextzugriffe 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 Unterstützung für Klartext in deinem Spiel sind.

Wenn Ihr Spiel jedoch auf Android 8.1 (API-Level 27) oder niedriger ausgerichtet ist, müssen Sie Erstellen Sie eine Konfigurationsdatei für die Netzwerksicherheit. Legen Sie in dieser Datei cleartextTrafficPermitted auf false fest, wie in der folgenden Code-Snippet hinzu:

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>

Sandbox-Zielversion aktualisieren

Aktualisiere die AndroidManifest.xml-Datei deines Instant-Games so, dass sie auf die Sandbox-Umgebung, die Google Play Instant unterstützt. Sie können zu diesem Update, indem Sie das Attribut android:targetSandboxVersion zu Ihrem <manifest>-Element der Spiele, 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 .

Verlassen Sie sich nicht auf das Vorhandensein eines Cache oder App-Daten

Die Instant-Version bleibt auf das Gerät eines Nutzers heruntergeladen, bis der Instant Experience-Cache wird geleert. Dies geschieht in einem der folgenden Ereignisse: Situationen:

  • Der Cache der Instant-Version wird automatisch bereinigt, weil das Gerät nicht genügend Arbeitsspeicher zur Verfügung.
  • Der Nutzer startet sein Gerät neu.

In beiden Fällen muss der Nutzer die Instant-Version noch einmal herunterladen um damit zu interagieren.

Wenn nur noch wenig Speicherplatz verfügbar ist, kann es sein, dass Ihr Die Nutzerdaten der Instant-Funktion werden aus dem internen Speicher entfernt. Daher ist es regelmäßig die Nutzerdaten mit dem Spieleserver zu synchronisieren, der Fortschritt des Nutzers bleibt erhalten.

App-Größe reduzieren

Im Gegensatz zu anderen Arten von Apps haben Spiele bei Google Play Instant Die Downloadgröße beträgt maximal 15 MB. Um ein Spiel dieser Größe zu erstellen, die Spiellogik refaktorieren müssen. In diesem Abschnitt werden einige Tools und um die Größe deines Spiels zu optimieren.

Tools

Anhand der folgenden Liste können Sie ermitteln, was zur Größe deines Spiels:

  • APK Analyzer: Bietet einen ganzheitlichen Überblick über eines kompilierten APK. In dieser Ansicht können Sie die Anzahl der Byte, die jedes Element zur Gesamtgröße beiträgt. Mit diesem Tool können Sie die Größe von Ressourcen, Assets, Logik und nativen Bibliotheken, die Ihr Spiel nutzt.
  • Bloaty McBloatface: Zeigt die Größenprofil von Binärdateien.
  • Android GPU Inspector: Sehen Sie sich den Effekt der Dateigröße an. die Texturgröße zu reduzieren, ohne das Spiel neu kompilieren zu müssen.

Techniken

Im Folgenden finden Sie eine Liste mit Techniken, mit denen Sie die Größe Ihrer Ihr Spiel:

  • Extrahieren Sie einen Teil der Logik Ihres Spiels und platzieren Sie ihn in einer oder mehreren Funktionen Module, die nicht auf die Größenbeschränkung angerechnet.
  • Verringern Sie die Auflösung der Texturen Ihres Spiels.
  • Erwägen Sie die Verwendung des WebP insbesondere wenn Sie unkomprimierte Texturen auf der GPU verwenden. WebP erstellt Bilder mit derselben Qualität wie JPEG-Bilder, aber nur 15% bis 30% kleiner. Das Dekomprimieren von WebP-Bildern dauert zwar länger, Dekomprimierungszeit immer noch deutlich kürzer als die Download-Zeit Ihres die Texturen des Spiels. Google hat dieses Format außerdem in ein Open-Source-Spiel integriert, .
  • Töne und Musik komprimieren oder wiederverwenden
  • Verkleinern Sie Ihre Binärdatei mithilfe verschiedener Kompilierungs-Flags: <ph type="x-smartling-placeholder">
      </ph>
    • -fvisibility=hidden: Die wichtigste. In cmake können Sie Folgendes angeben: dann so:
      $ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
      
    • -Oz: Auch wichtig für die Größenreduzierung. Wenn Sie mit gcc kompilieren, verwenden Sie -Os.
    • -flto: Verkleinert manchmal die Dateigröße.
    • Verknüpfungs-Flags: Verwenden Sie --gc-sections in Verbindung mit Compiler-Flags, z. B. als -ffunction-sections und -fdata-sections.
  • Verwenden Sie Proguard, um Code und Ressourcen zu verkürzen.
  • Verwende Gradle 4.4 oder höher, um kleinere DEX-Dateien zu generieren.
  • Implementieren Sie die Bereitstellung von Assets in der Cloud.

Große Spiele in mehrere APKs aufteilen

Es kann schwierig sein, Google Play Instant zu optimieren, können Sie Ihr Spiel in ein einziges APK mit 15 MB einfügen, auch nachdem Sie Empfehlungen zur Reduzierung der APK-Größe. Ziel kannst du dein Spiel in mehrere APKs unterteilen. Spieler starten nach Herunterladen des primären Basis-APKs der verbleibende Split APKs werden für das Spiel im Hintergrund zur Verfügung gestellt.

Das Basis-APK kann beispielsweise die zentrale Spiel-Engine und die Assets enthalten erforderlich, um einen Ladebildschirm anzuzeigen. Beim Start des Basis-APKs wird das Ladebildschirms und fordert sofort ein zusätzliches unterteiltes APK an, das die Spiel- und Leveldaten. Sobald dieses unterteilte APK verfügbar ist, kann es seine Assets in die Spiel-Engine ein und stellen dem Spieler die gewünschten Inhalte zur Verfügung. für das Spiel.

Best Practices für die Nutzererfahrung umsetzen

Nachdem du dein Spiel so konfiguriert hast, dass es Instant-Funktionen unterstützt, füge die in den folgenden Abschnitten gezeigt wird, Nutzererfahrung.

64-Bit-Architekturen unterstützen

Apps, die bei Google Play veröffentlicht werden, müssen 64-Bit-Architekturen unterstützen. Hinzufügen eines Die 64-Bit-Version deiner App bietet Leistungsverbesserungen und ermöglicht dir für Geräte mit reiner 64-Bit-Hardware. Weitere Informationen zur 64-Bit-Unterstützung

Prüfen, ob für das Spiel eine Instant-Version angeboten wird

Wenn ein Teil der Logik Ihres Spiels davon abhängt, Instant-Version verwenden, nennen Sie die isInstantApp() . Diese Methode gibt true zurück, wenn der derzeit ausgeführte Prozess ein Instant-Funktion.

Mit dieser Prüfung können Sie ermitteln, ob Ihre App innerhalb eines bestimmten eingeschränkte Ausführungsumgebung nutzen oder Funktionen der Google-Plattform.

Installationsaufforderung anzeigen

Wenn Sie eine Google Play Instant-Testversion erstellt haben, sollte im Spiel irgendwann die Aufforderung um die Vollversion auf dem Gerät zu installieren. Verwenden Sie dazu die Methode showInstallPrompt() in den Google APIs for Android.

Weitere Informationen dazu, wie und wann du den Player zur Installation auffordern solltest, findest du unter siehe UX-Best Practices für Spiele auf Google Play Instant

Daten in eine installierte Websitevariante übertragen

Wenn einem Spieler die Testversion gefällt, kann er die App installieren. die Vollversion deines Spiels. Für eine gute User Experience ist es wichtig, dass der Fortschritt des Spielers aus der Instant-App die Vollversion deines Spiels.

Wenn in deinem Spiel ein targetSandboxVersion angegeben ist von 2, wird der Fortschritt des Spielers übertragen. automatisch auf die Vollversion deines Spiels. Andernfalls müssen Sie den manuell über den Fortschritt des Spielers. Verwenden Sie dazu die Beispiel-App der Cookie API.

Weitere Informationen

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
Eine App mit mehreren Funktionen modularisieren