Na tej stronie opisujemy, jak sklepy z aplikacjami innych firm zarejestrowane w programie Dostęp do katalogu mogą zintegrować Google Play instalacje w tekście. Ta funkcja umożliwia sklepom z aplikacjami na Androida innych firm w Stanach Zjednoczonych kierowanie użytkowników do pobierania aplikacji z Google Play na tych samych warunkach co każde inne pobieranie bezpośrednio ze Sklepu Google Play.
Wymagania wstępne
Zanim zintegrujesz interfejs API instalacji w tekście w sklepie innej firmy z aplikacjami, musisz wykonać te czynności w Konsoli Google Play:
- Zarejestruj się w programie Dostęp do katalogu Google Play: postępuj zgodnie z instrukcjami rejestracji.
- Zgłoś chęć udziału w programie Dostęp do katalogu: zarejestruj się w programie Dostęp do katalogu w ustawieniach Konsoli Play.
- Pobierz tokeny dostawy: przetwórz wyeksportowany katalog aplikacji w Google Play. Ten eksport zawiera niezbędny
catalog_token(token dostawy) dla każdej aplikacji, którą możesz rozpowszechniać.
Wymagania
Aby interfejs półekranu był prawidłowo wyświetlany użytkownikom, muszą być spełnione te wymagania:
- Użytkownik musi znajdować się w Stanach Zjednoczonych.
- Minimalna wersja Google Play na urządzeniu musi wynosić 52.3.
- Poziom interfejsu API Androida musi wynosić 24 lub więcej.
- Musisz podać prawidłowy, nieprzeterminowany
catalog_token, aby uzyskać dostęp do Sklepu Play.
Wywoływanie instalacji w tekście ze sklepu z aplikacjami
Aby wywołać półekran instalacji w tekście, utwórz instancję klasy
Intent, która kieruje na adres URL linku bezpośredniego do Google Play
i zawiera Twój unikalny catalog_token.
Jako wskazówkę możesz użyć tego przykładowego kodu (w Kotlinie lub Javie):
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 }
Parametry interfejsu API instalacji w tekście
Aby autoryzować instalację w tekście, musisz przekazać te parametry w adresie URL intencji lub jako dodatkowe informacje o intencji:
| Pole | Lokalizacja | Opis | Wymagane |
|---|---|---|---|
id |
Zapytanie URL | Nazwa pakietu docelowej aplikacji, która ma zostać zainstalowana. | Tak |
referrer |
Zapytanie URL | Opcjonalny ciąg znaków do śledzenia źródła. | Nie |
overlay |
Dodatkowe informacje o intencji | Ustaw na true, aby wysłać żądanie interfejsu półekranu w tekście. |
Tak |
callerId |
Dodatkowe informacje o intencji | Nazwa pakietu zatwierdzonego sklepu innej firmy z aplikacjami. | Tak |
catalog_token |
Dodatkowe informacje o intencji | Unikalny token dostawy podany w wyeksportowanym katalogu. Uwaga: tokeny są weryfikowane pod kątem aktualności, zgodności z pakietem docelowym i zgodności z pakietem wywołującym. | Tak |
(Opcjonalnie) Instalacja w tekście z Google Play z nakładką stanu instalacji
Aby wyświetlać nakładkę stanu instalacji w trakcie instalacji w tekście, musisz zintegrować instalację w tekście z Google Play z funkcją trwałego elementu interaktywnego za pomocą pakietu Google Play HSDP SDK.
Aby wyświetlić instalację w tekście z trwałym elementem interaktywnym:
- Minimalna wersja Sklepu Google Play na urządzeniu docelowym musi wynosić 52.5 lub więcej.
- Poziom interfejsu API Androida musi wynosić 24 (Android M) lub więcej.
- Zintegruj z pakietem HSDP SDK w wersji 2.0.2 (dostępna wkrótce) lub nowszej.
Przykład integracji
// 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 )
Przykład zatrzymania śledzenia elementu interaktywnego
Umożliwia aplikacji wywołującej ręczne zatrzymanie śledzenia stanu instalacji i zamknięcie nakładki HPOA. Uwaga: nie spowoduje to zamknięcia samego arkusza instalacji HSDP, tylko element interaktywny.
// 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 } } )
Stany afordancji i UX
Instalacja w tekście z Google Play z funkcją trwałego elementu interaktywnego ma 2 stany wizualne:
- Stan instalowania: wyświetla miniaturę aplikacji docelowej i spinner postępu instalacji. Kliknięcie miniatury powoduje ponowne uruchomienie arkusza instalacji HSDP.
- Stan po instalacji: wyświetla ikonę aplikacji docelowej z działaniem „Otwórz”. Kliknięcie miniatury powoduje otwarcie nowo zainstalowanej aplikacji.
| Instalowanie | Po instalacji |
|---|---|
![]() ![]() |
![]() |


