Instant-fähiges App Bundle erstellen

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.

Sie erstellen eine Google Play Instant-Version, indem Sie sie als Teil von einem Android App Bundle einbinden. Ein solches Bundle wird als App Bundle mit aktivierter Instant-Version bezeichnet. In diesem Dokument erfahren Sie, wie Sie Ihre Entwicklungsumgebung für App Bundles mit aktivierter Instant-Version einrichten und wie Sie ein solches App Bundle konfigurieren, erstellen, testen und veröffentlichen.

Wenn Sie ein vorhandenes Instant App-Projekt haben, das das eingestellte Feature Plug-in (com.android.feature) verwendet, erfahren Sie hier, wie Sie Ihre Instant App migrieren, um Android App Bundles zu unterstützen.

Entwicklungsumgebung einrichten

Wenn Sie eine Instant-Version in einem App Bundle bereitstellen möchten, benötigen Sie Zugriff auf das Google Play Instant Development SDK. Sie können das SDK mit einer der folgenden Methoden installieren:

  • Installieren Sie Android Studio 3.6 oder höher. Nachdem Sie Android Studio geöffnet haben, laden Sie das Google Play Instant Development SDK auf dem Tab SDK Tools (SDK-Tools) im SDK Manager herunter.
  • Installation über die Befehlszeile:

    cd path/to/android/sdk/tools/bin && \
      ./sdkmanager 'extras;google;instantapps'
    

Wenn Sie Ihre Instant-Version lokal testen möchten, benötigen Sie außerdem Zugriff auf ein physisches oder virtuelles Gerät.

Erforderliche Ausführungsbedingungen

Google Play Instant führt App Bundles mit aktivierter Instant-Version in einer speziellen SELinux-Sandbox aus, um die Sicherheit zu erhöhen. In dieser Sandbox ist nur eine Teilmenge von Berechtigungen zulässig und die Interaktionen mit anderen Apps sind eingeschränkt. In den folgenden Abschnitten werden die Merkmale dieser Sandbox genauer erläutert.

Unterstützte Berechtigungen und Vorgänge

App Bundles mit aktivierter Instant-Version können nur Berechtigungen aus der folgenden Liste verwenden:

Umgang mit häufigen nicht unterstützten Berechtigungen

Im Folgenden finden Sie eine Liste häufiger, nicht unterstützter Berechtigungen, die Sie aus Ihrer Anwendung entfernen müssen, sowie den empfohlenen Migrationspfad für jede Berechtigung:

  • ACCESS_WIFI_STATE: Verwenden Sie stattdessen ACCESS_NETWORK_STATE. Diese Berechtigung sollte ähnliche Informationen wie ACCESS_WIFI_STATE liefern.
  • BILLING: Diese Berechtigung ist eingestellt. Verwenden Sie die Google Play Billing Library, für die die com.android.vending.BILLING Berechtigung nicht mehr erforderlich ist.
  • READ/WRITE_EXTERNAL_STORAGE: Instant Apps haben keinen Zugriff auf externen Speicher. Verwenden Sie stattdessen internen Speicher.
  • com.google.android.c2dm.permission.RECEIVE und permission.C2D_MESSAGE: C2DM ist eingestellt. Migrieren Sie zu Firebase Cloud Messaging (FCM). Für FCM sind keine zusätzlichen Berechtigungen erforderlich.

Außerdem können App Bundles mit aktivierter Instant-Version Folgendes nicht tun:

Zugriff auf installierte Apps

Wenn Sie eine Instant-Version entwickeln, beachten Sie, dass sie nur dann mit installierten Apps auf einem Gerät interagieren kann, wenn eine der folgenden Bedingungen erfüllt ist:

  • Für eine oder mehrere Aktivitäten in einer installierten App ist das Element android:visibleToInstantApps auf true gesetzt. Dieses Element ist für Apps verfügbar, die unter Android 8.0 (API-Level 26) oder höher ausgeführt werden.
  • Eine installierte App enthält einen Intent-Filter mit CATEGORY_BROWSABLE.
  • Die Instant-Version sendet einen Intent mit der ACTION_SEND, ACTION_SENDTOoder ACTION_SEND_MULTIPLE Aktion.

Projekt für Instant-Versionen konfigurieren

Damit Ihr App Bundle mit aktivierter Instant-Version mit Google Play Instant kompatibel ist, müssen Sie mehrere Aspekte sorgfältig konfigurieren. In den folgenden Abschnitten werden diese Aspekte beschrieben.

Projektabhängigkeiten deklarieren

Wenn Sie die Google Play Instant APIs in Ihrer App verwenden möchten, fügen Sie die folgende Deklaration in die Konfigurationsdatei build.gradle Ihres App-Moduls ein:

Groovy

implementation "com.google.android.gms:play-services-instantapps:17.0.0"

Kotlin

implementation("com.google.android.gms:play-services-instantapps:17.0.0")

Richtige Versionscodes definieren

Der Versionscode der Instant-Version Ihrer App muss niedriger sein als der Versionscode der installierbaren App. Es wird erwartet, dass Nutzer von der Google Play Instant-Version zur installierbaren App wechseln, indem sie sie auf ihr Gerät herunterladen und installieren. Das Android-Framework betrachtet diesen Übergang als App-Update.

Damit Sie das Versionsschema verwenden, das Nutzer erwarten, haben Sie folgende Möglichkeiten:

  • Setzen Sie die Versionscodes für die Google Play Instant-Version auf 1 zurück.
  • Erhöhen Sie den Versionscode des installierbaren APK um eine große Zahl, z. B. 1000, damit genügend Spielraum für die Erhöhung der Versionsnummer Ihrer Instant-Version vorhanden ist.

Sie können Ihre Instant App und Ihre installierbare App in zwei separaten Android Studio-Projekten entwickeln. Wenn Sie das tun, müssen Sie jedoch Folgendes tun, um Ihre App 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 Ihrer App finden Sie unter App versionieren.

Ziel-Sandbox-Version aktualisieren

Die Datei AndroidManifest.xml Ihrer Instant App muss aktualisiert werden, um auf die Sandbox-Umgebung ausgerichtet zu sein, die von Google Play Instant unterstützt wird. Fügen Sie dazu das Attribut android:targetSandboxVersion zum Element <manifest> Ihrer App hinzu, 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.

App-Module mit aktivierter Instant-Version deklarieren

Sie können deklarieren, dass Ihr App Bundle Instant-Versionen unterstützt, indem Sie eine der folgenden Methoden verwenden:

  • Wenn Sie ein vorhandenes App Bundle haben, das nur ein Basis modul enthält, können Sie das App Bundle so für Instant-Versionen aktivieren:

    1. Öffnen Sie den Bereich Project (Projekt), indem Sie in der Menüleiste View > Tool Windows > Project (Ansicht > Tool Windows > Projekt) auswählen.
    2. Klicken Sie mit der rechten Maustaste auf Ihr Basismodul, das normalerweise „app“ heißt, und wählen Sie Refactor > Enable Instant Apps Support (Refaktorieren > Unterstützung für Instant Apps aktivieren) aus.
    3. Wählen Sie im angezeigten Dialogfeld Ihr Basismodul aus dem Drop-down-Menü aus.
    4. Klicken Sie auf OK.

    Android Studio fügt dem Manifest des Moduls die folgende Deklaration hinzu:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  • Wenn Sie ein vorhandenes App Bundle haben, das mehrere Module enthält, können Sie ein Funktionsmodul mit aktivierter Instant-Version erstellen. Dadurch wird auch das Basismodul Ihrer App für Instant-Versionen aktiviert, sodass Sie die Option haben, mehrere Instant-Einsprungpunkte in Ihrer App zu unterstützen.

Unterstützung für die Anmeldung hinzufügen

Wenn Nutzer sich in Ihrer Instant-Version anmelden können, muss Ihr App Bundle Smart Lock für Passwörter unter Android unterstützen. Wenn Sie ein Instant-Game entwickeln, sollten Sie stattdessen die Anmeldung über Google Play Games-Dienste verwenden.

Ausführungsumgebung unterstützen

Damit Ihr App Bundle mit aktivierter Instant-Version mit der SELinux-Sandbox kompatibel ist, in der Instant-Versionen ausgeführt werden, beachten Sie beim Erstellen des App Bundle Folgendes:

  • Geben Sie den Wert von myUid() nicht weiter, das ist die vom Kernel zugewiesene UID Ihres App-Prozesses.
  • Wenn Ihre App auf Android 8.1 (API-Level 27) oder niedriger ausgerichtet ist, erstellen Sie eine Netzwerksicherheitskonfigurationsdatei und setzen Sie cleartextTrafficPermitted auf false. Instant-Versionen unterstützen keinen HTTP-Traffic. Bei Apps, die auf Android 9 oder höher ausgerichtet sind, ist der Cleartext-Traffic standardmäßig deaktiviert.
  • Ihre Instant-Version bleibt auf dem Gerät eines Nutzers heruntergeladen, bis der Cache der Instant-Version gelöscht wird. Das geschieht in einer der folgenden Situationen:

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

    In beiden Fällen muss der Nutzer Ihre 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 Ihrer App zu synchronisieren, damit der Fortschritt des Nutzers erhalten bleibt.

Logik für Instant-Version-Workflows hinzufügen

Nachdem Sie Ihr App Bundle so konfiguriert haben, dass es Instant-Versionen unterstützt, fügen Sie die Logik hinzu, die in den folgenden Abschnitten beschrieben wird.

Prüfen, ob die App als Instant-Version ausgeführt wird

Wenn ein Teil der Logik Ihrer App davon abhängt, ob der Nutzer Ihre 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.

Installationsaufforderung anzeigen

Wenn Sie eine Testversion Ihrer App oder Ihres Spiels erstellen, können Sie mit Google Play Instant eine Aufforderung in Ihrer Instant-Version anzeigen, in der Nutzer aufgefordert werden, die Vollversion auf ihrem Gerät zu installieren. Verwenden Sie dazu die InstantApps.showInstallPrompt() Methode, wie im folgenden Code-Snippet gezeigt:

Kotlin

class MyInstantExperienceActivity : AppCompatActivity {
    // ...
    private fun showInstallPrompt() {
        val postInstall = Intent(Intent.ACTION_MAIN)
                .addCategory(Intent.CATEGORY_DEFAULT)
                .setPackage(your-installed-experience-package-name)

        // The request code is passed to startActivityForResult().
        InstantApps.showInstallPrompt(this@MyInstantExperienceActivity,
                postInstall, request-code, /* referrer= */ null)
    }
}

Java

public class MyInstantExperienceActivity extends AppCompatActivity {
    // ...
    private void showInstallPrompt() {
        Intent postInstall = new Intent(Intent.ACTION_MAIN)
                .addCategory(Intent.CATEGORY_DEFAULT)
                .setPackage(your-installed-experience-package-name);

        // The request code is passed to startActivityForResult().
        InstantApps.showInstallPrompt(MyInstantExperienceActivity.this,
                postInstall, request-code, /* referrer= */ null);
    }
}

Daten in eine installierte Version übertragen

Wenn der Nutzer Ihre Instant-Version mag, entscheidet er sich möglicherweise, Ihre App zu installieren. Damit die Nutzererfahrung gut ist, müssen die Daten des Nutzers von Ihrer Instant-Version in die Vollversion Ihrer App übertragen werden.

Wenn der Nutzer ein Gerät mit Android 8.0 (API-Level 26) oder höher verwendet, und in Ihrer App auf targetSandboxVersion von 2 gesetzt ist, werden die Daten des Nutzers automatisch in die Vollversion Ihrer App übertragen. Andernfalls müssen Sie die Daten manuell übertragen. Verwenden Sie dazu eine der folgenden APIs:

  • Für Nutzer, die Geräte mit Android 8.0 (API-Level 26) und höher verwenden, verwenden Sie die Cookie API – Beispiel-App
  • Wenn Nutzer Ihre Instant-Version auf Geräten mit Android 7.1 (API-Level 25) und niedriger verwenden können, fügen Sie Unterstützung für die Storage API - Beispiel-App hinzu.

App Bundle erstellen

Sie können Ihr App Bundle mit aktivierter Instant-Version entweder mit Android Studio oder über die Befehlszeile erstellen.

Android Studio

In Android Studio können Sie Ihr App Bundle erstellen, indem Sie Build > Build Bundle(s) / APK(s) > Build Bundle(s) (Erstellen > App Bundle/APK erstellen > App Bundle erstellen) auswählen. Weitere Informationen zum Erstellen Ihres Projekts finden Sie unter Projekt erstellen.

Befehlszeile

Sie können das App Bundle auch über die Befehlszeile mit Gradle erstellen.

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.

Instant-Version testen

Bevor Sie Ihr App Bundle mit aktivierter Instant-Version veröffentlichen, können Sie die Instant-Version an einem der folgenden Orte testen, um die Funktionalität zu überprüfen:

Android Studio

So testen Sie die Instant-Version Ihrer App auf einem lokalen Computer mit Android Studio:

  1. Wenn auf Ihrem Testgerät eine installierte Version Ihrer App vorhanden ist, deinstallieren Sie sie.
  2. Aktivieren Sie in Android Studio in den Installationsoptionen auf dem General Tab des Run/Debug Configurations Dialogfelds das Kästchen Deploy as instant app.
  3. Wählen Sie in der Menüleiste Run > Run (Ausführen > Ausführen) aus oder klicken Sie in der Symbolleiste auf Run und wählen Sie dann das Gerät aus, auf dem Sie die Instant-Versionen Ihrer App testen möchten. Die Instant-Version Ihrer App wird auf dem ausgewählten Testgerät geladen.

Befehlszeile

So testen Sie die Instant-Version Ihrer App auf einem lokalen Computer über die Befehlszeile:

  1. Wenn auf Ihrem Testgerät eine installierte Version Ihrer App vorhanden ist, deinstallieren Sie sie.
  2. Laden Sie Ihre Instant App per Sideloading auf Ihr Testgerät und führen Sie sie aus, indem Sie den folgenden Befehl eingeben:
ia run output-from-build-command

Interner Test-Track

Wenn Sie die Instant-Version Ihrer App im Google Play Store oder über ein Banner auf Ihrer Website testen möchten, veröffentlichen Sie die App im Internen-Test-Track in der Play Console.

So veröffentlichen Sie Ihre App im internen Test-Track:

  1. Laden Sie Ihr App Bundle hoch. Folgen Sie dazu der Anleitung unter App Bundle in die Play Console hochladen.
  2. Bereiten Sie das hochgeladene Bundle für einen Release im internen Test-Track vor. Weitere Informationen finden Sie im Hilfeartikel Releases vorbereiten und einführen.
  3. Melden Sie sich auf einem Gerät in einem internen Testerkonto an und starten Sie Ihre Instant-Version über eine der folgenden Oberflächen:

    • Die Schaltfläche Jetzt testen im Google Play Store-Eintrag Ihrer App
    • Ein Link in einem Banner auf der Website Ihrer App

App Bundle im Produktions-Track veröffentlichen

So veröffentlichen Sie Ihr App Bundle mit aktivierter Instant-Version:

  1. Wenn Sie es noch nicht getan haben, signieren Sie Ihr App Bundle mit einem Release schlüssel und laden Sie es in die Play Console hoch.
  2. Öffnen Sie in der Play Console Release-Verwaltung > Android Instant Apps und rufen Sie den Track Instant App-Produktion auf.
  3. Wählen Sie Aus Bibliothek aktualisieren aus und wählen Sie dann das hochgeladene App Bundle mit aktivierter Instant-Version aus.

Auswählen, wo Ihre Instant-Version veröffentlicht werden soll

Sie können eine Instant-Version Ihrer App in einer Teilmenge der Länder und Regionen starten, in denen Nutzer Ihre App installieren können. Das ist nützlich, wenn Sie die Instant-Version Ihrer App für Nutzer bewerben möchten, die in bestimmten Ländern und Regionen ansässig sind.

Zusätzliche Ressourcen

Weitere Informationen zum Erstellen von Instant-Versionen und Android App Bundles finden Sie in den folgenden Ressourcen:

Video: Sofort verfügbare App Bundles
In dieser Sitzung auf dem Android Dev Summit 2018 erfahren Sie, wie Sie einem Android App Bundle eine Instant-Version hinzufügen.
Video: Mit dem Android App Bundle kleinere Apps veröffentlichen
Hier erfahren Sie, wie App Bundles Ihnen helfen, Ihre App schneller zu entwickeln und kleinere APKs für Ihre Nutzer zu erstellen.
Codelab: Dein erstes Android App Bundle
Eine Schritt-für-Schritt-Anleitung zum Erstellen eines Android App Bundle und zum Hinzufügen von Funktionen
Das Android App Bundle-Format
Hier erfahren Sie, wie das Befehlszeilenprogramm bundletool ein App Bundle aus dem Code und den Ressourcen Ihrer App erstellt.