Aby utworzyć aplikację błyskawiczną w Google Play, należy dołączyć ją do pakietu Android App Bundle. Taki pakiet to tzw. pakietu aplikacji błyskawicznej. Z tego dokumentu dowiesz się, jak skonfigurować środowiska programistycznego dla pakietów aplikacji z obsługą wersji błyskawicznej konfigurowania, kompilowania, testowania i publikowania pakietów aplikacji obsługujących aplikacje błyskawiczne;
Jeśli masz już projekt aplikacji błyskawicznej korzystający z wycofanej funkcji
(com.android.feature
), dowiedz się, jak
przenieś swoją aplikację błyskawiczną, aby obsługiwała pakiety Android App Bundle.
Skonfiguruj środowisko programistyczne
Aby udostępnić aplikację błyskawiczną w ramach pakietu aplikacji, musisz mieć dostęp do Pakiet SDK do tworzenia aplikacji błyskawicznych w Google Play. Pakiet SDK możesz zainstalować za pomocą za pomocą poniższych metod:
- Zainstaluj Android Studio w wersji 3.6 lub nowszej. Po otwarciu Android Studio pobierz pakiet SDK dla programistów błyskawicznych w Google Play z narzędzi SDK w Menedżerze SDK.
Zainstaluj z poziomu wiersza poleceń:
cd path/to/android/sdk/tools/bin && \ ./sdkmanager 'extras;google;instantapps'
Jeśli chcesz przetestować aplikację błyskawiczną lokalnie, otwórz fizyczne lub wirtualne.
Więcej informacji o wymaganych warunkach wykonania
Aplikacja błyskawiczna w Google Play uruchamia pakiety aplikacji z obsługą wersji błyskawicznej w specjalnym rodzaju Piaskownica SELinux zwiększa bezpieczeństwo. Ta piaskownica zezwala na podzbiór uprawnień, a także ograniczonych typów interakcji z innymi aplikacjami. W poniższych sekcjach znajdziesz bardziej szczegółowy opis specyfiki tej piaskownicy.
Obsługiwane uprawnienia i operacje
Pakiety aplikacji z obsługą wersji błyskawicznej mogą używać uprawnień tylko z tej listy:
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
ACCESS_NETWORK_STATE
BILLING
– wycofane od Play Biblioteka płatności 1.0CAMERA
INSTANT_APP_FOREGROUND_SERVICE
– Tylko w Androidzie 8.0 (poziom interfejsu API 26) i nowszych.INTERNET
READ_PHONE_NUMBERS
– Tylko w Androidzie 8.0 (poziom interfejsu API 26) i nowszych.RECORD_AUDIO
VIBRATE
WAKE_LOCK
Obsługa typowych nieobsługiwanych uprawnień
Oto lista typowych, nieobsługiwanych uprawnień, które musisz usunąć z aplikacji i zalecaną ścieżkę migracji dla każdego:
ACCESS_WIFI_STATE
: użyj właściwościACCESS_NETWORK_STATE
, która powinna zapewnić informacje podobne doACCESS_WIFI_STATE
.BILLING
: to uprawnienie zostało wycofane. Użyj Biblioteka płatności w Google Play, które nie wymagają już uprawnieniacom.android.vending.BILLING
.READ/WRITE_EXTERNAL_STORAGE
: aplikacje błyskawiczne nie mają dostępu do zewnętrznych pamięć masowa; użyj pamięci wewnętrznej.com.google.android.c2dm.permission.RECEIVE
ipermission.C2D_MESSAGE
: Usługa C2DM została wycofana. Przejdź na Komunikację w chmurze Firebase (FCM). FCM robi tak: nie potrzebuje żadnych dodatkowych uprawnień.
Oprócz tego pakiety aplikacji z obsługą wersji błyskawicznej nie mogą:
- korzystać z usług w tle,
- Wysyłaj powiadomienia podczas korzystania z w tle.
Dostęp do zainstalowanych aplikacji
Tworząc aplikację błyskawiczną, pamiętaj, że nie może ona wejść w interakcję z: zainstalowane aplikacje na urządzeniu, chyba że spełniony jest jeden z tych warunków:
- Co najmniej 1 działanie w zainstalowanej aplikacji ustawiło
android:visibleToInstantApps
element wtrue
– ten element jest dostępny w aplikacjach z Androidem 8.0 (poziom interfejsu API 26) lub nowszym. - Zainstalowana aplikacja zawiera filtr intencji zawierający parametr
CATEGORY_BROWSABLE
- Aplikacja błyskawiczna wysyła intencję za pomocą
ACTION_SEND
ACTION_SENDTO
lubACTION_SEND_MULTIPLE
działania.
Konfigurowanie projektu pod kątem aplikacji błyskawicznych
Aby korzystać z aplikacji Aplikacja błyskawiczna w Google Play, musisz skonfigurować kilka w Twoim pakiecie aplikacji z obsługą wersji błyskawicznej. W poniższych sekcjach tych kwestii.
Deklarowanie zależności projektu
Aby korzystać w aplikacji z interfejsów API błyskawicznych Google Play, podaj te informacje:
w pliku konfiguracji build.gradle
modułu aplikacji:
Odlotowe
implementation "com.google.android.gms:play-services-instantapps:17.0.0"
Kotlin
implementation("com.google.android.gms:play-services-instantapps:17.0.0")
Definiowanie prawidłowych kodów wersji
Kod wersji aplikacji błyskawicznej musi być niższy niż kod wersji instalowanej aplikacji. Oczekiwane jest to, że użytkownicy przechodzą z witryny Aplikacja błyskawiczna w Google Play, która umożliwia pobranie i zainstalowanie aplikacji urządzenia użytkownika. Według platformy Androida ta zmiana jest traktowana jako aplikacja .
Aby zapewnić zgodność ze schematem obsługi wersji, którego oczekują użytkownicy, zastosuj się do jednego jedną z tych strategii:
- Uruchom ponownie kody wersji aplikacji błyskawicznej w Google Play na 1.
- Zwiększ o dużą liczbę kod wersji instalowanego pliku APK, np. 1000, aby zapewnić wystarczającą ilość miejsca na wersję aplikacji błyskawicznej ma zostać zwiększona.
Możesz tworzyć aplikację błyskawiczną i aplikację z możliwością zainstalowania jako 2 oddzielne: Projekty w Android Studio. Jeśli to zrobisz, musisz wykonać następujące czynności, aby: opublikuj aplikację w Google Play:
- Użyj tej samej nazwy pakietu w obu projektach Android Studio.
- W Konsoli Google Play prześlij oba warianty do tej samej aplikacji.
Więcej informacji o ustawianiu wersji aplikacji znajdziesz w sekcji Tworzenie wersji
Zaktualizuj docelową wersję piaskownicy
Plik AndroidManifest.xml
aplikacji błyskawicznej musi zostać zaktualizowany, aby był kierowany na
(środowisko piaskownicy obsługiwane przez aplikację błyskawiczną w Google Play). Możesz ukończyć
tę aktualizację poprzez dodanie atrybutu android:targetSandboxVersion
do
<manifest>
zgodnie z tym fragmentem kodu:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
...
android:targetSandboxVersion="2" ...>
Więcej informacji znajdziesz w dokumentacji
targetSandboxVersion
.
Deklarowanie modułów aplikacji z obsługą wersji błyskawicznej
Możesz zadeklarować, że Twój pakiet aplikacji obsługuje aplikacje błyskawiczne za pomocą jednej ze następujące metody:
Jeśli masz istniejący pakiet aplikacji zawierający tylko podstawowy pakiet , możesz włączyć funkcję błyskawicznej pakiet aplikacji w taki sposób:
- Otwórz panel Projekt, klikając Widok > Okna narzędziowe > Projekt na pasku menu.
- Kliknij prawym przyciskiem myszy moduł podstawowy (zazwyczaj nazywa się on „aplikacja”) i wybierz Refaktoryzacja > Włącz obsługę aplikacji błyskawicznych.
- W wyświetlonym oknie dialogowym wybierz z menu moduł podstawowy.
- 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 istniejący pakiet aplikacji zawierający wiele modułów, Tworzenie funkcji z obsługą wersji błyskawicznej . Ten proces Aplikacja błyskawiczna też włącza moduł podstawowy aplikacji, umożliwiając obsługę wiele szybkich wpisywanych haseł punktów w ramach .
Dodaj obsługę logowania
Jeśli Twoja aplikacja z obsługą błyskawiczną umożliwia użytkownikom logowanie się, pakiet musi obsługiwać funkcję Smart Lock na hasła na urządzeniu z Androidem. Jeśli tworzysz „Zagraj od razu” gry, skorzystaj z logowania się w usługach gier Google Play.
Obsługa środowiska wykonawczego
Aby zachować zgodność z piaskownicą SELinux, w której działają aplikacje błyskawiczne, pozostaw Tworząc pakiet z obsługą wersji błyskawicznej, pamiętaj o tych kwestiach:
- Nie udostępniaj wartości
myUid()
, czyli jądromu procesowi Twojej aplikacji Identyfikator UID. - Jeśli Twoja aplikacja jest kierowana na Androida 8.1 (poziom interfejsu API 27) lub starszego, utwórz
Network Security Config i ustawione
cleartextTrafficPermitted
dofalse
. Aplikacje błyskawiczne nie obsługują HTTP ruchu. W przypadku aplikacji kierowanych na Androida 9 lub nowszego ruch nieszyfrowany domyślnie wyłączone. Aplikacja błyskawiczna pozostaje pobrana na urządzenie użytkownika do momentu pamięć podręczna aplikacji błyskawicznej została wyczyszczona, co ma miejsce w jednym z następujących problemów w sytuacjach:
- Pamięć podręczna aplikacji błyskawicznej jest usuwana, ponieważ urządzenie jest na wyczerpaniu dostępnej pamięci.
- użytkownik uruchomi ponownie swoje urządzenie;
Jeśli wystąpi któryś z tych procesów, użytkownik będzie musiał ponownie pobrać aplikację błyskawiczną. aby wejść z nim w interakcję.
Jeśli w systemie kończy się miejsce na dysku, możliwe, że dane użytkownika aplikacji błyskawicznej są usuwane z pamięci wewnętrznej. Dlatego zalecamy okresowe synchronizowanie danych użytkowników z serwerem aplikacji, aby postęp użytkownika jest zachowywany.
Dodaj logikę do przepływów pracy aplikacji błyskawicznej
Po skonfigurowaniu pakietu aplikacji tak, aby obsługiwał aplikacje błyskawiczne, dodaj do niego zgodnie z zasadami przedstawionymi w kolejnych sekcjach.
Sprawdzanie, czy aplikacja działa w trybie błyskawicznym
Jeśli część logiki aplikacji zależy od tego, czy użytkownik jest zaangażowany
aplikacji błyskawicznych, wywołaj metodę
isInstantApp()
. Ta metoda zwraca wartość true
, jeśli aktualnie uruchomiony proces to
aplikację błyskawiczną.
Wyświetl prośbę o instalację
Jeśli tworzysz wersję próbną aplikacji lub gry, funkcja Aplikacja błyskawiczna w Google Play umożliwia
pojawi się prośba
aplikację błyskawiczną, zapraszając użytkowników do zainstalowania
urządzenia. Aby wyświetlić ten prompt, użyj
InstantApps.showInstallPrompt()
zgodnie z poniższym fragmentem 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 zainstalowanej usługi
Jeśli użytkownikowi podoba się aplikacja błyskawiczna, może zdecydować się na zainstalowanie Twojej . Dla wygody użytkowników ważne jest, że dane użytkownika są przenoszone z aplikacji błyskawicznej do pełnej wersji Twojej aplikacji.
Jeśli użytkownik korzysta z urządzenia z Androidem 8.0 (poziom interfejsu API 26) lub nowszym,
a jeśli aplikacja określa atrybut targetSandboxVersion
z 2
, dane użytkownika zostaną przeniesione
do pełnej wersji aplikacji. W przeciwnym razie musisz przenieść
ręcznie. Aby to zrobić, użyj jednego z tych interfejsów API:
- W przypadku użytkowników urządzeń z Androidem 8.0 (poziom interfejsu API 26) lub nowszym: korzysta z interfejsu Cookie API – przykładowa aplikacja
- Czy użytkownicy mogą korzystać z funkcji na urządzeniach z Androidem 7.1 (poziom API 25) i starszy, dodaj obsługę Storage API – przykładowa aplikacja
Tworzenie pakietu aplikacji
Możesz używać Androida Studio lub interfejsu wiersza poleceń, by tworzyć pakiet aplikacji z obsługą wersji błyskawicznej.
Android Studio,
W Android Studio możesz utworzyć pakiet aplikacji, wybierając Kompilacja > Pakiety kompilacji / pliki APK > Utwórz pakiety. Więcej informacji na temat konfiguracji o tworzeniu projektu znajdziesz w artykule Tworzenie projektu.
Interfejs wiersza poleceń
Możesz też utworzyć pakiet aplikacji za pomocą polecenia za pomocą Gradle.
Obsługa architektur 64-bitowych
Aplikacje opublikowane w Google Play muszą obsługiwać architektury 64-bitowe. Dodanie 64-bitowa wersja aplikacji zwiększa wydajność i umożliwia konfigurację dla urządzeń z architekturą 64-bitową. Więcej informacji o obsłudze 64-bitowej
Testowanie aplikacji błyskawicznej
Zanim opublikujesz pakiet aplikacji z obsługą wersji błyskawicznej, możesz przetestować ją usługi w jednej z tych lokalizacji, aby zweryfikować działanie:
- Zainstaluj aplikację na urządzeniu lokalnym za pomocą Android Studio.
- Instalowanie na urządzeniu lokalnym przy użyciu wiersza poleceń .
- Opublikuj na ścieżce testu wewnętrznego w Konsola Google Play.
Android Studio,
Aby przetestować aplikację błyskawiczną 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, wybierając opcje instalacji widoczne na Karta Ogólne na karcie Konfiguracja uruchamiania/debugowania , włącz opcję Wdróż jako błyskawiczną aplikacji.
- Wybierz Uruchom > Uruchom na pasku menu lub kliknij Uruchom w pasek narzędzi, a następnie wybierz urządzenie, na którym chcesz przetestować i aplikacji. Aplikacja błyskawiczna wczytuje się na urządzeniu testowym, na którym wybrano.
Interfejs wiersza poleceń
Aby przetestować aplikację błyskawiczną na komputerze lokalnym za pomocą wiersza poleceń: wykonaj te czynności:
- Jeśli na urządzeniu testowym masz zainstalowaną wersję aplikacji, odinstaluj ją. .
- Zainstaluj aplikację błyskawiczną z innego urządzenia i uruchom ją na urządzeniu testowym, wpisując w polu to polecenie:
ia run output-from-build-command
Ścieżka testów wewnętrznych
Aby przetestować aplikację błyskawiczną ze Sklepu Play lub baner na opublikuj aplikację na testach wewnętrznych, ścieżka dźwiękowa 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 artykule Przesyłanie pakietu aplikacji w przewodniku po Konsoli Play.
- Przygotuj przesłany pakiet do wydania na ścieżce testu wewnętrznego. Dla: przeczytaj artykuł pomocy na temat przygotowywania wdrożyć .
Zaloguj się na wewnętrzne konto testera na urządzeniu i uruchom aplikację błyskawiczną na jednej z tych platform:
- przycisk Wypróbuj na stronie z informacjami o aplikacji w Sklepie Play.
- Link z banera w witrynie aplikacji.
Publikowanie pakietu aplikacji na ścieżce produkcyjnej
Aby opublikować pakiet aplikacji z obsługą wersji błyskawicznej, wykonaj te czynności:
- Podpisz pakiet aplikacji za pomocą wersji i prześlij pakiet aplikacji do Konsola Play.
- W Konsoli Play wybierz Zarządzanie wersjami > Aplikacje błyskawiczne na Androida, przejść na ścieżkę błyskawicznej produkcji aplikacji.
- Kliknij Aktualizuj z biblioteki, a następnie wybierz pakiet aplikacji z obsługą wersji błyskawicznej. przesłanych przez Ciebie plików.
Wybierz, gdzie chcesz opublikować aplikację błyskawiczną
Możesz uruchomić aplikację błyskawiczną w części krajów i regionów, w których użytkownicy mogą instalować Twoją aplikację. Ta funkcja jest przydaje się wtedy, gdy chcesz promować aplikację błyskawiczną w aplikacji, użytkowników mieszkających w określonym zestawie krajów i regionów.
Dodatkowe materiały
Więcej informacji o tworzeniu aplikacji błyskawicznych i pakietów Android App Bundle znajdziesz tutaj te zasoby:
- Wideo: łączenie aplikacji w czasie błyskawicznego
- Dowiedz się, jak dodać aplikację błyskawiczną do pakietu Android App Bundle podczas konferencji Android Dev Summit 2018.
- Wideo: publikowanie mniejszych aplikacji za pomocą pakietu Android App Bundle
- Dowiedz się, jak pakiety aplikacji pomagają szybciej tworzyć aplikacje na mniejsze pliki APK.
- Ćwiczenie z programowania: pierwszy pakiet Android App Bundle
- Szczegółowy przewodnik tworzenia pakietu Android App Bundle i dodawania funkcji do
- Format Android App Bundle
- Dowiedz się więcej o tym, jak program wiersza poleceń
bundletool
porządkuje aplikację z kodu i zasobów aplikacji.