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 sie so bei Bedarf zu bestimmten Abläufen oder Funktionen zu führen.
Mit dem Google Play Instant-Plug-in für Unity wird Ihr Unity-Projekt so konfiguriert, dass eine Instant-App-Version Ihres Spiels erstellt wird. In dieser Anleitung wird beschrieben, wie Sie dieses Plug-in installieren und verwenden.
Plug-in herunterladen und importieren
Das Plug-in ist Teil der Google Play-Plug-ins für Unity. So importieren Sie das Plug-in:
- Laden Sie die aktuelle Version von den Google Play-Plug-ins für Unity herunter.
- Importieren Sie die Datei
.unitypackage, indem Sie in der Unity IDE-Menüoption Assets > Import package > Custom Package (Assets > Paket importieren > Benutzerdefiniertes Paket) auswählen und alle Elemente importieren.
Funktionen des Unity-Editors
Importieren Sie das Plug-in, um in Unity das Untermenü Google > Play Instant hinzuzufügen. Dieses Untermenü bietet die folgenden Optionen.
Build-Einstellungen
Öffnet ein Fenster, in dem Sie zwischen den Entwicklungsmodi Installed (Installiert) und Instant (Instant) wechseln können. Wenn Sie zu Instant wechseln, werden die folgenden Änderungen vorgenommen:
- Es wird ein Scripting Define Symbol namens
PLAY_INSTANTerstellt, das für Skripts mit#if PLAY_INSTANTund#endifverwendet werden kann. - Es werden Updates an der Datei AndroidManifest.xml für bestimmte erforderliche Änderungen wie as android:targetSandboxVersion vorgenommen.
Videoplayer-Einstellungen
Im Dialogfeld Player Settings (Videoplayer-Einstellungen), das in Abbildung 1 dargestellt ist, werden Vorschläge angezeigt, mit denen Sie die Unterstützung für Google Play Instant optimieren, mit kompatibleren Grafik-APIs entwickeln und die Größe Ihrer APK-Datei reduzieren können.
Diese Videoplayer-Einstellungen sind in Required (Erforderlich) und Recommended (Empfohlen) unterteilt. Wenn eine Einstellung eine entsprechende Schaltfläche Update (Aktualisieren) hat, klicken Sie darauf, um die Einstellung auf den bevorzugten Wert zu ändern.
Um die APK-Größe weiter zu reduzieren, öffnen Sie den Unity Package Manager und entfernen Sie alle nicht verwendeten Pakete.
Schnell bereitstellen
Mit der Funktion „Schnell bereitstellen“ kann die Größe einer auf Unity basierenden Instant App reduziert werden, indem einige Assets in einem AssetBundle verpackt werden. Wenn Sie die Funktion „Schnell bereitstellen“ verwenden, werden die Unity-Spiel-Engine und ein Ladebildschirm in einer Instant-App-APK verpackt. Nachdem die Instant App gestartet wurde, ruft sie das AssetBundle von einem Server ab.
Installationsabläufe unterstützen
Viele Instant Apps sollen Nutzern die Möglichkeit geben, die App auszuprobieren, bevor sie die Vollversion installieren. Das Google Play Instant-Plug-in für Unity bietet APIs zum Anzeigen eines Play Store-Installationsdialogfelds und zum Übertragen des Status von der Instant App zur installierten App.
Installationsaufforderung anzeigen
Eine Instant App mit einer Schaltfläche Install (Installieren) kann ein Google Play Store-Installationsdialogfeld anzeigen, indem sie Folgendes aus einem Klick-Handler für die Schaltfläche „Installieren“ aufruft:
Google.Play.Instant.InstallLauncher.ShowInstallPrompt();
Die Methode ShowInstallPrompt() hat eine Überladung, die eine oder mehrere der folgenden Aktionen ermöglicht:
- Feststellen, ob der Nutzer den Installationsvorgang abbricht. Überschreiben Sie
onActivityResult()in der Hauptaktivität der Instant App und prüfen Sie aufRESULT_CANCELEDfür die angegebenerequestCode. - Übergeben Sie eine Installations-Referrer-String über den Parameter
referrer. - Übergeben Sie den Status der aktuellen Spielsitzung über
PutPostInstallIntentStringExtra().
Diese werden im folgenden Beispiel veranschaulicht:
using Google.Play.Instant;
...
const int requestCode = 123;
var sessionInfo = /* Object serialized as a string representing player's current location, etc. */;
using (var activity = UnityPlayerHelper.GetCurrentActivity())
using (var postInstallIntent = InstallLauncher.CreatePostInstallIntent(activity))
{
InstallLauncher.PutPostInstallIntentStringExtra(postInstallIntent, "sessionInfo", sessionInfo);
InstallLauncher.ShowInstallPrompt(activity, requestCode, postInstallIntent, "test-referrer");
}
Wenn der Nutzer die App-Installation abschließt, startet der Google Play Store die App mit dem angegebenen postInstallIntent neu. Die installierte App kann einen in postInstallIntent festgelegten Wert mit Folgendem abrufen:
var sessionInfo = InstallLauncher.GetPostInstallIntentStringExtra("sessionInfo");
Hinweise :
- Die in
postInstallIntententhaltenen Extras erreichen die installierte App möglicherweise nicht, wenn der Nutzer die App installiert, den Start nach der Installation aber abbricht. Das Übergeben von Intent-Extras eignet sich besser zum Beibehalten des aktiven Sitzungsstatus als zum Beibehalten des persistenten Status. Für Letzteres siehe Cookie API. - Jeder kann einen Intent mit zusätzlichen Feldern erstellen, um die installierte App zu starten. Wenn die Nutzlast also etwas Wertvolles gewährt, gestalten Sie sie so, dass sie nur einmal verwendet werden kann, signieren Sie sie kryptografisch und prüfen Sie die Signatur auf einem Server.
Cookie API verwenden
Die Cookie API bietet Methoden zum Übergeben eines Cookies (z.B. einer Spieler-ID oder Daten zum Abschluss eines Levels) von einer Instant App an die entsprechende installierte App. Im Gegensatz zu postInstallIntent-Extras ist der Cookie-Status auch dann verfügbar, wenn der Nutzer die installierte App nicht sofort startet. Eine Instant App könnte beispielsweise den folgenden Code aus einem Klick-Handler für die Schaltfläche „Installieren“ aufrufen:
using Google.Play.Instant;
...
var playerInfo = /* Object serialized as a string representing game levels completed, etc. */;
var cookieBytes = System.Text.Encoding.UTF8.GetBytes(playerInfo);
try
{
var maxCookieSize = CookieApi.GetInstantAppCookieMaxSize();
if (cookieBytes.Length > maxCookieSize)
{
UnityEngine.Debug.LogErrorFormat("Cookie length {0} exceeds limit {1}.", cookieBytes.Length, maxCookieSize);
}
else if (CookieApi.SetInstantAppCookie(cookieBytes))
{
UnityEngine.Debug.Log("Successfully set cookie. Now display the app install dialog...");
InstallLauncher.ShowInstallPrompt();
}
else
{
UnityEngine.Debug.LogError("Failed to set cookie.");
}
}
catch (CookieApi.InstantAppCookieException ex)
{
UnityEngine.Debug.LogErrorFormat("Failed to set cookie: {0}", ex);
}
Wenn der Nutzer die App-Installation abschließt, kann die installierte App die Cookie-Daten mit dem folgenden Code abrufen:
var cookieBytes = CookieApi.GetInstantAppCookie();
var playerInfoString = System.Text.Encoding.UTF8.GetString(cookieBytes);
if (!string.IsNullOrEmpty(playerInfoString))
{
// Initialize game state based on the cookie, e.g. skip tutorial level completed in instant app.
}