Tworzenie pakietu aplikacji z obsługą wersji błyskawicznej

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:

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ści ACCESS_NETWORK_STATE, która powinna zapewnić informacje podobne do ACCESS_WIFI_STATE.
  • BILLING: to uprawnienie zostało wycofane. Użyj Biblioteka płatności w Google Play, które nie wymagają już uprawnienia com.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 i permission.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ą:

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 w trueten 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 lub ACTION_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:

  1. Użyj tej samej nazwy pakietu w obu projektach Android Studio.
  2. 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:

    1. Otwórz panel Projekt, klikając Widok > Okna narzędziowe > Projekt na pasku menu.
    2. Kliknij prawym przyciskiem myszy moduł podstawowy (zazwyczaj nazywa się on „aplikacja”) i wybierz Refaktoryzacja > Włącz obsługę aplikacji błyskawicznych.
    3. W wyświetlonym oknie dialogowym wybierz z menu moduł podstawowy.
    4. 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 do false. 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:

.

Android Studio,

Aby przetestować aplikację błyskawiczną na komputerze lokalnym za pomocą Android Studio: wykonaj te czynności:

  1. Jeśli na urządzeniu testowym masz zainstalowaną wersję aplikacji, odinstaluj ją. .
  2. 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.
  3. 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:

  1. Jeśli na urządzeniu testowym masz zainstalowaną wersję aplikacji, odinstaluj ją. .
  2. 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:

  1. Prześlij pakiet aplikacji, wykonując czynności opisane w artykule Przesyłanie pakietu aplikacji w przewodniku po Konsoli Play.
  2. Przygotuj przesłany pakiet do wydania na ścieżce testu wewnętrznego. Dla: przeczytaj artykuł pomocy na temat przygotowywania wdrożyć .
  3. 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:

  1. Podpisz pakiet aplikacji za pomocą wersji i prześlij pakiet aplikacji do Konsola Play.
  2. W Konsoli Play wybierz Zarządzanie wersjami > Aplikacje błyskawiczne na Androida, przejść na ścieżkę błyskawicznej produkcji aplikacji.
  3. 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.