Ostrzeżenie: aplikacja błyskawiczna w Google Play nie będzie już dostępna. Od grudnia 2025 r. nie będzie można publikować aplikacji błyskawicznych w Google Play, a wszystkie interfejsy Instant API Usług Google Play przestaną działać. Użytkownicy nie będą już otrzymywać aplikacji błyskawicznych z Google Play za pomocą żadnego mechanizmu.
Wprowadzamy tę zmianę na podstawie opinii deweloperów i naszych ciągłych inwestycji w ulepszanie ekosystemu od czasu wprowadzenia aplikacji błyskawicznych w Google Play.
Aby nadal optymalizować wzrost liczby użytkowników, zachęcamy deweloperów do kierowania użytkowników do standardowej aplikacji lub gry za pomocą precyzyjnych linków, które w razie potrzeby przekierowują ich do określonych ścieżek lub funkcji.
Aplikację błyskawiczną Google Play tworzysz, dołączając ją do pakietu aplikacji na Androida. Taki pakiet nazywa się pakietem aplikacji z obsługą wersji błyskawicznej. Z tego dokumentu dowiesz się, jak skonfigurować środowisko deweloperskie dla pakietów aplikacji obsługujących aplikacje błyskawiczne, a także jak skonfigurować, skompilować, przetestować i opublikować taki pakiet.
Jeśli masz projekt aplikacji błyskawicznej, który korzysta z wtyczki funkcji wycofanej (com.android.feature
), dowiedz się, jak przenieść aplikację błyskawiczną, aby obsługiwała pakiety Android App Bundle.
Konfigurowanie środowiska programistycznego
Aby udostępnić aplikację błyskawiczną w pakiecie aplikacji, musisz mieć dostęp do pakietu SDK do tworzenia aplikacji błyskawicznych w Google Play. Pakiet SDK możesz zainstalować za pomocą jednej z tych metod:
- Zainstaluj Androida Studio w wersji 3.6 lub nowszej. Po otwarciu Android Studio pobierz pakiet SDK do tworzenia aplikacji na Androida Instant z karty Narzędzia SDK w Menedżerze SDK.
Instalowanie z poziomu wiersza poleceń:
cd path/to/android/sdk/tools/bin && \ ./sdkmanager 'extras;google;instantapps'
Jeśli chcesz przetestować reklamę natychmiastową lokalnie, uzyskaj dostęp do urządzenia fizycznego lub wirtualnego.
Więcej informacji o wymaganych warunkach wykonania
Google Play Instant uruchamia pakiety aplikacji obsługujących aplikacje błyskawiczne w specjalnym rodzaju piaskownicy SELinux, co zwiększa bezpieczeństwo. Ta piaskownica zezwala na podzbiór uprawnień, a także na ograniczone typy interakcji z innymi aplikacjami. W kolejnych sekcjach znajdziesz bardziej szczegółowe informacje o charakterystyce tej piaskownicy.
Obsługiwane uprawnienia i operacje
Pakiety aplikacji z obsługą wersji błyskawicznej mogą używać tylko uprawnień z tej listy:
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
ACCESS_NETWORK_STATE
BILLING
– wycofane w Bibliotece Płatności Google Play 1.0.CAMERA
INSTANT_APP_FOREGROUND_SERVICE
–Tylko na Androidzie 8.0 (poziom 26 interfejsu API) i nowszym.INTERNET
READ_PHONE_NUMBERS
– tylko na Androidzie 8.0 (poziom 26 interfejsu API) i nowszym.RECORD_AUDIO
VIBRATE
WAKE_LOCK
Obsługa często występujących nieobsługiwanych uprawnień
Poniżej znajdziesz listę typowych, nieobsługiwanych uprawnień, które musisz usunąć z aplikacji, oraz zalecane ścieżki migracji dla każdego z nich:
ACCESS_WIFI_STATE
: użyjACCESS_NETWORK_STATE
, które powinno zawierać informacje podobne doACCESS_WIFI_STATE
.BILLING
: to uprawnienie jest wycofane. Używaj Biblioteki płatności w Google Play, która nie wymaga już uprawnieniacom.android.vending.BILLING
.READ/WRITE_EXTERNAL_STORAGE
: aplikacje błyskawiczne nie mają dostępu do zewnętrznej pamięci masowej. Zamiast tego używaj pamięci wewnętrznej.com.google.android.c2dm.permission.RECEIVE
ipermission.C2D_MESSAGE
: C2DM zostało wycofane. Migracja do Komunikacji w chmurze Firebase (FCM). FCM nie wymaga żadnych dodatkowych uprawnień.
Pakiety aplikacji z obsługą wersji błyskawicznej nie mogą też:
- Używaj usług w tle.
- Wysyłaj powiadomienia, gdy aplikacja działa w tle.
Dostęp do zainstalowanych aplikacji
Podczas tworzenia aplikacji błyskawicznej pamiętaj, że nie może ona wchodzić w interakcje z zainstalowanymi na urządzeniu aplikacjami, chyba że spełniony jest jeden z tych warunków:
- Co najmniej 1 aktywność w zainstalowanej aplikacji ma ustawiony element
android:visibleToInstantApps
natrue
– ten element jest dostępny w aplikacjach działających na Androidzie 8.0 (API na poziomie 26) lub nowszym. - Zainstalowana aplikacja zawiera filtr intencji, który obejmuje
CATEGORY_BROWSABLE
. - Szybki podgląd wysyła intencję za pomocą działania
ACTION_SEND
,ACTION_SENDTO
lubACTION_SEND_MULTIPLE
.
Konfigurowanie projektu pod kątem aplikacji błyskawicznych
Aby pakiet aplikacji obsługujący aplikacje błyskawiczne był zgodny z Google Play Instant, musisz starannie skonfigurować kilka jego aspektów. W kolejnych sekcjach opisujemy te kwestie.
Deklarowanie zależności projektu
Aby używać w aplikacji interfejsów Google Play Instant API, dodaj do pliku konfiguracyjnego build.gradle
modułu aplikacji tę deklarację:
Groovy
implementation "com.google.android.gms:play-services-instantapps:17.0.0"
Kotlin
implementation("com.google.android.gms:play-services-instantapps:17.0.0")
Określ prawidłowe kody wersji
Kod wersji aplikacji błyskawicznej musi być mniejszy niż kod wersji aplikacji instalowanej. Zakładamy, że użytkownicy przejdą z wersji błyskawicznej w Google Play do pobrania i zainstalowania aplikacji na urządzeniu. Platforma Androida traktuje tę zmianę jako aktualizację aplikacji.
Aby mieć pewność, że używasz schematu wersji, którego oczekują użytkownicy, zastosuj jedną z tych strategii:
- Zresetuj kody wersji aplikacji błyskawicznej w Google Play do 1.
- Zwiększ kod wersji instalacyjnego pliku APK o dużą liczbę, np. 1000, aby zapewnić wystarczającą ilość miejsca na zwiększenie numeru wersji aplikacji błyskawicznej.
Aplikację błyskawiczną i aplikację instalacyjną możesz tworzyć w 2 osobnych projektach Android Studio. Jeśli to zrobisz, aby opublikować aplikację w Google Play, musisz wykonać te czynności:
- Użyj tej samej nazwy pakietu w obu projektach Android Studio.
- W Konsoli Google Play prześlij obie wersje do tej samej aplikacji.
Więcej informacji o ustawianiu wersji aplikacji znajdziesz w artykule Obsługa wersji aplikacji.
Aktualizowanie docelowej wersji piaskownicy
Plik AndroidManifest.xml
aplikacji błyskawicznej musi zostać zaktualizowany, aby był kierowany na środowisko piaskownicy obsługiwane przez aplikacje błyskawiczne w Google Play. Aby wprowadzić tę zmianę, dodaj atrybut android:targetSandboxVersion
do elementu <manifest>
w aplikacji, jak pokazano w tym fragmencie kodu:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
...
android:targetSandboxVersion="2" ...>
Więcej informacji znajdziesz w dokumentacji atrybutu
targetSandboxVersion
.
Deklarowanie modułów aplikacji obsługujących aplikacje błyskawiczne
Możesz zadeklarować, że pakiet aplikacji obsługuje aplikacje błyskawiczne, korzystając z jednej z tych metod:
Jeśli masz pakiet aplikacji, który zawiera tylko moduł podstawowy, możesz włączyć obsługę aplikacji błyskawicznej w ten sposób:
- Otwórz panel Project (Projekt), wybierając na pasku menu View > Tool Windows > Project (Widok > Okna narzędzi > Projekt).
- Kliknij prawym przyciskiem myszy moduł podstawowy, zwykle o nazwie „app”, i wybierz Refactor > Enable Instant Apps Support (Refaktoryzacja > Włącz obsługę aplikacji błyskawicznych).
- W wyświetlonym oknie wybierz moduł podstawowy z menu.
- Kliknij OK.
Android Studio dodaje do pliku manifestu modułu tę deklarację:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution"> <dist:module dist:instant="true" /> ... </manifest>
Jeśli masz pakiet aplikacji zawierający wiele modułów, możesz utworzyć moduł funkcji z obsługą wersji błyskawicznej. Ten proces natychmiast włącza podstawowy moduł aplikacji, dzięki czemu możesz obsługiwać wiele punktów wejścia w aplikacji.
Dodawanie obsługi logowania
Jeśli aplikacja błyskawiczna umożliwia użytkownikom logowanie się, pakiet aplikacji z obsługą wersji błyskawicznej musi obsługiwać Smart Lock na hasła na Androidzie. Jeśli tworzysz grę „natychmiastową”, zamiast tego użyj logowania za pomocą usług gier Google Play.
Obsługa środowiska wykonawczego
Aby pakiet z obsługą aplikacji błyskawicznych był zgodny z piaskownicą SELinux, w której działają aplikacje błyskawiczne, podczas jego tworzenia pamiętaj o tych kwestiach:
- Nie udostępniaj wartości
myUid()
, która jest przypisanym przez jądro identyfikatorem UID procesu aplikacji. - Jeśli Twoja aplikacja jest kierowana na Androida 8.1 (poziom interfejsu API 27) lub starszego, utwórz plik Network Security Config i ustaw wartość
cleartextTrafficPermitted
nafalse
. Aplikacje błyskawiczne nie obsługują ruchu HTTP. W przypadku aplikacji kierowanych na Androida 9 lub nowszego ruch w formie zwykłego tekstu jest domyślnie wyłączony. Aplikacja błyskawiczna pozostaje pobrana na urządzeniu użytkownika, dopóki nie zostanie wyczyszczona pamięć podręczna aplikacji błyskawicznej. Dzieje się to w jednej z tych sytuacji:
- Pamięć podręczna aplikacji błyskawicznej została oczyszczona, ponieważ na urządzeniu brakuje pamięci.
- Użytkownik ponownie uruchamia urządzenie.
W takim przypadku użytkownik musi ponownie pobrać reklamę natychmiastową, aby móc z niej korzystać.
Jeśli w systemie jest bardzo mało miejsca na dane, dane użytkownika związane z szybką reklamą mogą zostać usunięte z pamięci wewnętrznej. Dlatego zalecamy okresowe synchronizowanie danych użytkownika z serwerem aplikacji, aby zachować postępy użytkownika.
Dodawanie logiki do przepływów pracy związanych z reklamami natychmiastowymi
Po skonfigurowaniu pakietu aplikacji tak, aby obsługiwał aplikacje błyskawiczne, dodaj logikę przedstawioną w sekcjach poniżej.
Sprawdzanie, czy aplikacja działa w trybie błyskawicznym
Jeśli część logiki aplikacji zależy od tego, czy użytkownik korzysta z szybkiego podglądu, wywołaj metodę isInstantApp()
. Ta metoda zwraca wartość true
, jeśli aktualnie uruchomiony proces jest aplikacją natychmiastową.
Wyświetlanie prośby o instalację
Jeśli tworzysz wersję próbną aplikacji lub gry, Google Play Instant umożliwia wyświetlanie w wersji błyskawicznej prośby o zainstalowanie pełnej wersji na urządzeniu użytkownika. Aby wyświetlić ten komunikat, użyj metody InstantApps.showInstallPrompt()
, jak pokazano w tym fragmencie kodu:
Kotlin
class MyInstantExperienceActivity : AppCompatActivity { // ... private fun showInstallPrompt() { val postInstall = Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_DEFAULT) .setPackage(your-installed-experience-package-name) // The request code is passed to startActivityForResult(). InstantApps.showInstallPrompt(this@MyInstantExperienceActivity, postInstall, request-code, /* referrer= */ null) } }
Java
public class MyInstantExperienceActivity extends AppCompatActivity { // ... private void showInstallPrompt() { Intent postInstall = new Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_DEFAULT) .setPackage(your-installed-experience-package-name); // The request code is passed to startActivityForResult(). InstantApps.showInstallPrompt(MyInstantExperienceActivity.this, postInstall, request-code, /* referrer= */ null); } }
Przenoszenie danych do zainstalowanego doświadczenia
Jeśli użytkownikowi spodoba się Twoja aplikacja natychmiastowa, może zdecydować się na zainstalowanie aplikacji. Aby zapewnić użytkownikom wygodę, ważne jest, aby dane użytkownika były przenoszone z aplikacji natychmiastowej do pełnej wersji aplikacji.
Jeśli użytkownik korzysta z urządzenia z Androidem 8.0 (poziom interfejsu API 26) lub nowszym i Twoja aplikacja określa targetSandboxVersion
2
, dane użytkownika są automatycznie przenoszone do pełnej wersji aplikacji. W przeciwnym razie musisz przenieść dane ręcznie. Aby to zrobić, użyj jednego z tych interfejsów API:
- Użytkownicy urządzeń z Androidem 8.0 (poziom 26 interfejsu API) lub nowszym powinni korzystać z interfejsu Cookie API – przykładowa aplikacja
- Jeśli użytkownicy mogą korzystać z Twojej usługi na urządzeniach z Androidem 7.1 (interfejs API na poziomie 25) lub starszym, dodaj obsługę interfejsu Storage API – przykładowa aplikacja
Tworzenie pakietu aplikacji
Aby utworzyć pakiet aplikacji z włączoną funkcją aplikacji natychmiastowych, możesz użyć Androida Studio lub interfejsu wiersza poleceń.
Android Studio
Aby utworzyć pakiet aplikacji w Android Studio, wybierz Build > Build Bundle(s) / APK(s) > Build Bundle(s) (Utwórz > Utwórz pakiety / pliki APK > Utwórz pakiety). Więcej informacji o tworzeniu projektu znajdziesz w artykule Tworzenie projektu.
Interfejs wiersza poleceń
Możesz też skompilować pakiet aplikacji z poziomu wiersza poleceń za pomocą Gradle.
Obsługa architektur 64-bitowych
Aplikacje publikowane w Google Play muszą obsługiwać architektury 64-bitowe. Dodanie 64-bitowej wersji aplikacji zwiększa jej wydajność i przygotowuje ją do działania na urządzeniach z 64-bitowym sprzętem. Więcej informacji o obsłudze systemów 64-bitowych
Testowanie aplikacji błyskawicznej
Zanim opublikujesz pakiet aplikacji z obsługą aplikacji błyskawicznych, możesz przetestować aplikację błyskawiczną w jednym z tych miejsc, aby sprawdzić jej działanie:
- Zainstaluj na urządzeniu lokalnym za pomocą Android Studio.
- Zainstaluj na urządzeniu lokalnym za pomocą interfejsu wiersza poleceń.
- Opublikuj aplikację na ścieżce testu wewnętrznego w Konsoli Google Play.
Android Studio
Aby przetestować natychmiastowe wrażenia związane z aplikacją na komputerze lokalnym za pomocą Android Studio, wykonaj te czynności:
- Jeśli na urządzeniu testowym masz zainstalowaną wersję aplikacji, odinstaluj ją.
- W Android Studio w opcjach instalacji, które pojawią się na karcie Ogólne w oknie dialogowym Konfiguracje uruchamiania/debugowania, zaznacz pole wyboru Wdróż jako aplikację natychmiastową.
- Na pasku menu wybierz Uruchom > Uruchom lub na pasku narzędzi kliknij Uruchom
, a następnie wybierz urządzenie, na którym chcesz przetestować aplikację w wersji natychmiastowej. Aplikacja błyskawiczna wczytuje się na wybranym urządzeniu testowym.
Interfejs wiersza poleceń
Aby przetestować w wierszu poleceń na komputerze lokalnym funkcję natychmiastową aplikacji, wykonaj te czynności:
- Jeśli na urządzeniu testowym masz zainstalowaną wersję aplikacji, odinstaluj ją.
- Wgraj i uruchom aplikację natychmiastową na urządzeniu testowym, wpisując to polecenie:
ia run output-from-build-command
Ścieżka testu wewnętrznego
Aby przetestować wersję błyskawiczną aplikacji w Sklepie Play lub w banerze na stronie internetowej, opublikuj aplikację na ścieżce testu wewnętrznego w Konsoli Play.
Aby opublikować aplikację na ścieżce testu wewnętrznego, wykonaj te czynności:
- Prześlij pakiet aplikacji, wykonując czynności opisane w przewodniku Przesyłanie pakietu aplikacji do Konsoli Play.
- Przygotuj przesłany pakiet do wersji na ścieżce testu wewnętrznego. Więcej informacji znajdziesz w artykule pomocy na temat przygotowywania i wdrażania wersji.
Zaloguj się na urządzeniu na konto testera wewnętrznego, a potem uruchom aplikację błyskawiczną w jeden z tych sposobów:
- Przycisk Wypróbuj na stronie aplikacji w Sklepie Play.
- Link z banera w witrynie aplikacji.
Opublikuj pakiet aplikacji na ścieżce produkcyjnej
Aby opublikować pakiet aplikacji z aplikacją natychmiastową, wykonaj te czynności:
- Jeśli jeszcze tego nie zrobiono, podpisz pakiet aplikacji kluczem wersji i prześlij go do Konsoli Play.
- W Konsoli Play otwórz Zarządzanie wersjami > Aplikacje na Androida działające bez instalacji, a następnie przejdź do ścieżki wersji produkcyjnej aplikacji działającej bez instalacji.
- Kliknij Zaktualizuj z biblioteki, a potem wybierz przesłany pakiet aplikacji obsługujący aplikacje błyskawiczne.
Wybieranie miejsca publikowania aplikacji błyskawicznej
Możesz uruchomić wersję błyskawiczną aplikacji w wybranym podzbiorze krajów i regionów, w których użytkownicy mogą zainstalować Twoją aplikację. Ta funkcja jest przydatna, gdy chcesz promować wersję błyskawiczną aplikacji wśród użytkowników z określonych krajów i regionów.
Dodatkowe materiały
Więcej informacji o tworzeniu aplikacji błyskawicznych i pakietów Android App Bundle znajdziesz w tych materiałach:
- Film: pakowanie aplikacji w aplikacji błyskawicznej
- Dowiedz się, jak dodać wersję błyskawiczną do pakietu aplikacji na Androida, podczas tej sesji z Android Dev Summit 2018.
- Film: publikowanie mniejszych aplikacji za pomocą pakietu Android App Bundle
- Dowiedz się, jak pakiety aplikacji pomagają szybciej tworzyć aplikacje i generować mniejsze pliki APK dla użytkowników.
- Codelab: Twój pierwszy pakiet Android App Bundle
- Szczegółowy przewodnik tworzenia pakietu Android App Bundle i dodawania do niego funkcji.
- Format pakietu Android App Bundle
- Dowiedz się więcej o tym, jak program wiersza poleceń
bundletool
organizuje pakiet aplikacji na podstawie kodu i zasobów aplikacji.