Auf dieser Seite wird beschrieben, wie App-Shops von Drittanbietern, die für das Programm zum Zugriff auf den Katalog registriert sind, Inline-Installationen von Google Play einbinden können. Mit dieser Funktion können US amerikanische Android-App-Shops von Drittanbietern Nutzer zu Downloads von Play-Apps über Google Play weiterleiten. Dabei gelten dieselben Bedingungen wie für alle anderen Downloads, die direkt über den Google Play Store erfolgen.
Vorbereitung
Bevor Sie die Inline-Installations-API in Ihren Drittanbieter-App-Shop einbinden, müssen Sie in der Google Play Console die folgenden Schritte ausführen:
- Für das Programm zum Zugriff auf den Play-Katalog registrieren:Folgen Sie der Registrierungsanleitung.
- Zugriff auf den Katalog aktivieren:Registrieren Sie sich in den Play Console-Einstellungen für das Programm zum Zugriff auf den Katalog.
- Lieferungstokens abrufen:Verarbeiten Sie den Export des Google Play-App-Katalogs, der Ihnen zur Verfügung gestellt wurde. Dieser Export enthält das erforderliche
catalog_token(Lieferungstoken) für jede App, die Sie vertreiben dürfen.
Voraussetzungen
Damit die Half-Sheet-Oberfläche für Nutzer angezeigt werden kann, müssen die folgenden Voraussetzungen erfüllt sein:
- Der Nutzer muss sich in den USA befinden.
- Die Google Play-Version auf dem Gerät muss mindestens 52.3 sein.
- Die Android API-Ebene muss 24 oder höher sein.
- Sie müssen ein gültiges, nicht abgelaufenes
catalog_tokenfür den Zugriff auf den Google Play Store angeben.
Inline-Installationen über Ihren App-Shop aufrufen
Um das Half-Sheet für die Inline-Installation aufzurufen, erstellen Sie eine Instanz der
Intent Klasse, die auf die Deeplink-URL von Google Play
verweist und Ihr eindeutiges catalog_token enthält.
Verwenden Sie den folgenden Beispielcode (Kotlin oder Java) als Richtlinie:
Kotlin
val intent = Intent(Intent.ACTION_VIEW) val referrer = "<Your referrer string>" val id = "<Package name of the app to be installed>" val callerId = "<Package name of your third-party app store>" // Retrieve the app-specific token from your processed catalog export val catalogToken = getVerificationTokenByDocId(id) intent.setPackage("com.android.vending") val deepLinkUrl = "https://play.google.com/d?id=$id&referrer=$referrer" intent.data = Uri.parse(deepLinkUrl) // Set the required intent extras intent.putExtra("overlay", true) intent.putExtra("callerId", callerId) intent.putExtra("catalog_token", catalogToken) val packageManager = context.getPackageManager() if (intent.resolveActivity(packageManager) != null) { startActivityForResult(intent, 0) // Call with a request code to receive ActivityResults }
Java
Intent intent = new Intent(Intent.ACTION_VIEW); String referrer = "<Your referrer string>"; String id = "<Package name of the app to be installed>"; String callerId = "<Package name of your third-party app store>"; // Retrieve the app-specific token from your processed catalog export byte[] catalogToken = getVerificationTokenByDocId(id); intent.setPackage("com.android.vending"); String deepLinkUrl = "https://play.google.com/d?id=" + id + "&referrer=" + referrer; intent.setData(Uri.parse(deepLinkUrl)); // Set the required intent extras intent.putExtra("overlay", true); intent.putExtra("callerId", callerId); intent.putExtra("catalog_token", catalogToken); PackageManager packageManager = context.getPackageManager(); if (intent.resolveActivity(packageManager) != null) { startActivityForResult(intent, 0); // Call with a request code to receive ActivityResults }
Parameter der Inline-Installations-API
Die folgenden Parameter müssen in Ihrer Intent-URL oder als Intent-Extras übergeben werden, um die Inline-Installation zu autorisieren:
| Feld | Standort | Beschreibung | Erforderlich |
|---|---|---|---|
id |
URL-Abfrage | Der Paketname der Ziel-App, die installiert werden soll. | Ja |
referrer |
URL-Abfrage | Ein optionaler String für das Referrer-Tracking. | Nein |
overlay |
Intent-Extra | Auf true setzen, um die Half-Sheet-Oberfläche für die Inline-Installation anzufordern. |
Ja |
callerId |
Intent-Extra | Der Paketname Ihres genehmigten Drittanbieter-App-Shops. | Ja |
catalog_token |
Intent-Extra | Das eindeutige Lieferungstoken, das in Ihrem Export für den Zugriff auf den Katalog angegeben ist. Hinweis:Tokens werden auf Aktualität, Übereinstimmung mit dem Zielpaket und Übereinstimmung mit dem Aufruferpaket geprüft. | Ja |
(Optional) Google Play-Inline-Installation mit Overlay für den Installationsstatus
Wenn Sie ein Overlay für den Installationsstatus im Inline-Installationsprozess anzeigen möchten, müssen Sie die Google Play-Inline-Installation mit der Funktion „Persistent Affordance“ mithilfe des Google Play HSDP SDK einbinden.
Damit der Inline-Installationsprozess mit der Funktion „Persistent Affordance“ angezeigt wird, müssen folgende Voraussetzungen erfüllt sein:
- Die Google Play Store-Version auf dem Zielgerät muss mindestens 52.6 sein.
- Die Android API-Ebene muss 24 (Android M) oder höher sein.
- Die Einbindung muss mit dem HSDP SDK in der Version 2.1.0 oder höher erfolgen.
Beispiel für die Einbindung
// Step 1: Initialize HSDP Service // Note: Calling create(activity) automatically configures useServiceBasedHsdp = false // (Activity Path) under the hood without requiring manual boolean flags. val hsdpService = HsdpDeepLinkServiceFactory.create(activity) // Step 2: Construct Extra Query Parameters with Catalog Token val extraQueryParams = mapOf("catalog_token" to "YOUR_SECURE_CATALOG_TOKEN_VALUE") // Step 3: Trigger Inline Install Flow hsdpService.open( targetAppPackageName = "com.example.targetapp", referrer = "3pas_ad_campaign_123", listener = object : HsdpDeepLinkServiceListener { override fun onDeepLinkStarted() { // Inline details dialog started successfully } override fun onAffordanceStarted() { // HPOA persistent affordance UI attached } override fun onAffordanceEnded() { // Affordance UI detached } override fun onError(errorMessage: String) { // Handle error or fallback } }, extraQueryParams = extraQueryParams )
Beispiel für das Beenden des Affordance-Trackings
Ermöglicht der aufrufenden App, das Tracking des Installationsstatus manuell zu beenden und das HPOA-Overlay zu schließen. Hinweis: Dadurch wird nicht das HSDP-Installations-Sheet selbst geschlossen, sondern nur die Affordance.
// Stop tracking the installation state and dismiss the affordance overlay hsdpService.stopAffordance( targetAppPackageName = "com.example.targetapp", listener = object : HsdpDeepLinkService.AffordanceListener { override fun onAffordanceStopped() { // Affordance overlay stopped successfully } } )
Affordance-Status und Benutzeroberfläche
Die Google Play-Inline-Installation mit der Funktion „Persistent Affordance“ hat zwei visuelle Status:
- Installationsstatus: Zeigt eine Miniaturansicht der Ziel-App und einen Spinner für den Installationsfortschritt an. Wenn Sie auf die Miniaturansicht klicken, wird das HSDP-Installations-Sheet neu gestartet.
- Status nach der Installation: Zeigt das Symbol der Ziel-App mit der Aktion „Öffnen“ an. Wenn Sie auf die Miniaturansicht klicken, wird die neu installierte App geöffnet.
| Installation | Nach der Installation |
|---|---|
![]() ![]() |
![]() |


