Cette page explique comment les plates-formes de téléchargement d'applications tierces inscrites au programme d'accès au catalogue peuvent intégrer les installations intégrées de Google Play. Cette fonctionnalité permet aux plates-formes de téléchargement d'applications Android tierces basées aux États-Unis de rediriger les utilisateurs vers le téléchargement d'applications Play via Google Play, selon les mêmes conditions que pour tout autre téléchargement effectué directement depuis le Google Play Store.
Prérequis
Avant d'intégrer l'API d'installation intégrée à votre magasin d'applications tiers, vous devez effectuer la configuration suivante dans la Google Play Console :
- Inscrivez-vous au Programme d'accès au Catalogue Play : suivez les instructions d'inscription.
- Activez l'accès au catalogue : inscrivez-vous au programme d'accès au catalogue dans les paramètres de la Play Console.
- Récupérez les jetons de diffusion : traitez l'exportation du catalogue d'applications Play qui vous est fournie. Cette exportation contient le
catalog_token(jeton de diffusion) nécessaire pour chaque application que vous êtes autorisé à distribuer.
Conditions requises
Pour que l'interface de la demi-feuille s'affiche correctement pour les utilisateurs, les conditions suivantes doivent être remplies :
- L'utilisateur doit se trouver aux États-Unis.
- La version minimale de Google Play sur l'appareil doit être la 52.3.
- Le niveau d'API Android doit être 24 ou supérieur.
- Vous devez fournir un
catalog_tokenvalide et non expiré pour accéder au Play Store.
Appeler des installations intégrées depuis votre plate-forme de téléchargement d'applications
Pour appeler la demi-feuille d'installation intégrée, créez une instance de la
Intent classe qui cible l'URL de lien profond Google Play
et inclut votre catalog_token unique.
Utilisez l'exemple de code suivant (Kotlin ou Java) comme guide :
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 }
Paramètres de l'API d'installation intégrée
Les paramètres suivants doivent être transmis dans l'URL de votre intent ou en tant qu'extras d'intent pour autoriser l'installation intégrée :
| Champ | Emplacement | Description | Obligatoire |
|---|---|---|---|
id |
Requête d'URL | Nom du package de l'application cible à installer. | Oui |
referrer |
Requête d'URL | Chaîne de suivi de l'annonceur facultative. | Non |
overlay |
Extra d'intent | Définissez la valeur sur true pour demander l'interface de la demi-feuille intégrée. |
Oui |
callerId |
Extra d'intent | Nom du package de votre magasin d'applications tiers approuvé. | Oui |
catalog_token |
Extra d'intent | Jeton de diffusion unique fourni dans votre exportation d'accès au catalogue. Remarque : Les jetons sont validés en fonction de leur fraîcheur, de la correspondance du package cible et de la correspondance du package de l'appelant. | Oui |
(Facultatif) Installation intégrée de Google Play avec superposition de l'état de l'installation
Pour afficher une superposition de l'état de l'installation avec le flux d'installation intégrée, vous devez intégrer l'installation intégrée de Google Play à la fonctionnalité d'affordance persistante à l'aide du SDK HSDP Google Play.
Pour que le flux d'installation intégrée avec affordance persistante s'affiche :
- La version minimale du Google Play Store sur l'appareil cible doit être la 52.5 ou une version ultérieure.
- Le niveau d'API Android doit être 24 (Android M) ou supérieur.
- Intégrez le SDK HSDP avec la version 2.0.2 (à venir) ou une version ultérieure.
Exemple d'intégration
// 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 )
Exemple d'arrêt du suivi de l'affordance
Permet à l'application appelante d'arrêter manuellement le suivi de l'état de l'installation et de fermer la superposition HPOA. Remarque : Cela ne fermera pas la feuille d'installation HSDP elle-même, mais uniquement l'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 } } )
États de l'affordance et expérience utilisateur
La fonctionnalité d'installation intégrée de Google Play avec affordance persistante présente deux états visuels :
- État d'installation : affiche une vignette de l'application cible et un indicateur de progression de l'installation. Si vous cliquez sur la vignette, la feuille d'installation HSDP est relancée.
- État post-installation : affiche l'icône d'application cible avec une action « Ouvrir ». Si vous cliquez sur la vignette, l'appli installée s'ouvre.
| Installation | Post-installation |
|---|---|
![]() ![]() |
![]() |


