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 zum Download von Apps von Google Play weiterleiten. Der Download erfolgt über Google Play zu denselben Bedingungen wie jeder andere Download, der direkt über den Google Play Store erfolgt.
Vorbereitung
Bevor Sie die Inline-Installations-API in Ihren App-Shop von Drittanbietern 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, den Sie erhalten haben. 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 String 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 | Typ | Standort | Beschreibung | Erforderlich |
|---|---|---|---|---|
id |
String |
URL-Abfrage | Der Paketname der Ziel-App, die installiert werden soll. | Ja |
referrer |
String |
URL-Abfrage | Ein optionaler String für das Referrer-Tracking. | Nein |
overlay |
boolean |
Intent-Extra | Auf true setzen, um die Half-Sheet-Oberfläche für die Inline-Installation anzufordern. |
Ja |
callerId |
String |
Intent-Extra | Der Paketname Ihres genehmigten App-Shops von Drittanbietern. | Ja |
catalog_token |
String |
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 Version 2.1.0 oder höher erfolgen.
Beispiel für die Einbindung
Kotlin
// 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 )
Java
// Step 1: Initialize HSDP Service // Note: Calling create(activity) automatically configures useServiceBasedHsdp = false // (Activity Path) under the hood without requiring manual boolean flags. HsdpDeepLinkService hsdpService = HsdpDeepLinkServiceFactory.create(activity); // Step 2: Construct Extra Query Parameters with Catalog Token Map<String, String> extraQueryParams = new HashMap<>(); extraQueryParams.put("catalog_token", "YOUR_SECURE_CATALOG_TOKEN_VALUE"); // Step 3: Trigger Inline Install Flow hsdpService.open( "com.example.targetapp", "3pas_ad_campaign_123", new HsdpDeepLinkServiceListener() { @Override public void onDeepLinkStarted() { // Inline details dialog started successfully } @Override public void onAffordanceStarted() { // HPOA persistent affordance UI attached } @Override public void onAffordanceEnded() { // Affordance UI detached } @Override public void onError(String errorMessage) { // Handle error or fallback } }, 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.
Kotlin
// 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 } } )
Java
// Stop tracking the installation state and dismiss the affordance overlay hsdpService.stopAffordance( "com.example.targetapp", new HsdpDeepLinkService.AffordanceListener() { @Override public void onAffordanceStopped() { // Affordance overlay stopped successfully } });
Affordance-Status und Benutzeroberfläche
Die Funktion „Google Play-Inline-Installation mit 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 |
|---|---|
![]() ![]() |
![]() |


