Uruchamianie PWA w aplikacji na Androida
Progresywne aplikacje internetowe (PWA) to aplikacje internetowe, które korzystają z funkcji podobnych do aplikacji, aby tworzyć wysokiej jakości aplikacje, które są szybkie, niezawodne i angażujące.
Internet ma ogromny zasięg i oferuje użytkownikom zaawansowane możliwości odkrywania nowych wrażeń. Użytkownicy są też przyzwyczajeni do wyszukiwania aplikacji w magazynie systemów operacyjnych. Tacy użytkownicy w wielu przypadkach już znają poszukiwaną markę lub usługę i wykazują się wysoki poziom celowości, co skutkuje wyższymi niż przeciętne wskaźniki zaangażowania.
Sklep Play to sklep z aplikacjami na Androida, a deweloperzy często chcą w nich otwierać progresywne aplikacje internetowe.
Zaufana aktywność w internecie to otwarty standard, który umożliwia przeglądarkom udostępnienie w pełni zgodnego z platformą kontenera kontenera, który renderuje aplikacje PWA w aplikacji na Androida. Ta funkcja jest dostępna w Chrome oraz w wersji deweloperskiej Firefox Nightly.
Dotychczasowe rozwiązania były ograniczone
Zawsze można było dodawać do aplikacji na Androida treści z internetu, korzystając z takich technologii jak komponent WebView lub platformy takie jak Cordova.
Ograniczenie w komponencie WebView Androida polega na tym, że nie powinien on być zamiennikiem przeglądarki. Android WebView to narzędzie dla programistów do używania interfejsu internetowego w aplikacji na Androida. Nie zapewnia ono pełnego dostępu do nowoczesnych funkcji platformy internetowej, takich jak selektor kontaktów czy system plików w tym.
Aplikacja Cordova została zaprojektowana tak, aby uzupełnić luki w komponencie WebView, ale interfejsy API są ograniczone do środowiska Cordova. Oznacza to, że musisz utrzymywać dodatkową bazę kodu do używania interfejsów Cordova API na potrzeby aplikacji na Androida, niezależnie od PWA w otwartej sieci.
Ponadto wykrywalność funkcji nie zawsze działa zgodnie z oczekiwaniami. Występują też problemy ze zgodnością między wersjami Androida i producentami OEM. W przypadku korzystania z jednego z tych rozwiązań deweloperzy potrzebują dodatkowych procesów zapewniania jakości, a także ponoszą dodatkowe koszty programowania, aby wykryć i stworzyć obejścia.
Zaufana aktywność internetowa to nowy kontener na aplikacje internetowe na Androida.
Deweloperzy mogą teraz używać zaufanej aktywności w internecie jako kontenera, aby uwzględnić PWA jako działanie uruchamiania aplikacji na Androida. Technologia wykorzystuje przeglądarkę do renderowania PWA na pełnym ekranie, aby zapewnić zgodność zaufanej aktywności internetowej z funkcjami i interfejsami API platformy internetowej, z których korzysta bazowa przeglądarka. Dostępne są też narzędzia typu open source, które jeszcze bardziej ułatwiają wdrażanie aplikacji na Androida za pomocą zaufanej aktywności internetowej.
Kolejną zaletą niedostępną w innych rozwiązaniach jest to, że kontener współużytkuje miejsce na dane z przeglądarką. Stany logowania i ustawienia użytkownika są bezproblemowo udostępniane w różnych usługach.
Zgodność z przeglądarką
Funkcja jest dostępna w Chrome od wersji 75, a w wersji nocnej w przeglądarce Firefox jest ona wdrażana.
Kryteria jakościowe
Deweloperzy, którzy chcą umieścić treści internetowe w aplikacji na Androida, powinni używać funkcji Zaufanej aktywności w internecie.
Treści internetowe zawarte w zaufanej aktywności internetowej muszą spełniać kryteria możliwości instalacji PWA.
Poza tym, aby dostosować działanie aplikacji na Androida do zachowania, którego oczekują użytkownicy, wprowadziliśmy w Chrome 86 zmianę, w ramach której takie sytuacje są uznawane za awarie:
- Brak weryfikacji linków do zasobów cyfrowych podczas uruchamiania aplikacji.
- Nie udało się zwrócić kodu HTTP 200 w przypadku żądania zasobu sieciowego offline.
- Żądanie nawigacji zwraca błąd HTTP 404 lub 5xx”.
Jeśli jeden z tych scenariuszy ma miejsce w zaufanej aktywności internetowej, powoduje to widoczne dla użytkownika awarie aplikacji na Androida. Zapoznaj się ze wskazówkami dotyczącymi obsługi tych scenariuszy w skryptach service worker.
Aplikacja musi też spełniać dodatkowe kryteria specyficzne dla Androida, takie jak zgodność z zasadami.
![Zrzut ekranu przedstawiający wynik w Lighthouse dla AirHorn z plakietką PWA i wynikiem wydajności na poziomie 100.](https://web.developers.google.cn/static/articles/using-a-pwa-in-your-android-app/image/a-screenshot-showing-lig-821b74a33707e.png?authuser=0&hl=pl)
Narzędzia
Deweloperzy, którzy chcą korzystać z zaufanej aktywności w internecie, nie muszą uczyć się nowych technologii ani interfejsów API, aby przekształcić swoją aplikację PWA w aplikację na Androida. Bubblewrap i PWABuilder wspólnie udostępniają narzędzia dla programistów w postaci biblioteki, interfejsu wiersza poleceń (CLI) oraz graficznego interfejsu użytkownika (GUI).
Folia bąbelkowa
Projekt Bubblewrap generuje aplikacje na Androida w postaci biblioteki NodeJS i interfejsu wiersza poleceń (CLI).
Wczytywanie nowego projektu odbywa się przez uruchomienie narzędzia i przekazanie adresu URL pliku manifestu internetowego:
npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json
Narzędzie może też utworzyć projekt, a poniższym poleceniem wyświetli się aplikacja na Androida gotowa do przesłania do Sklepu Play:
npx @bubblewrap/cli build
Po uruchomieniu tego polecenia w katalogu głównym projektu będzie dostępny plik o nazwie app-release-signed.apk
. Plik zostanie przesłany do Sklepu Play.
PWABuilder
PWABuilder pomaga programistom przekształcać istniejące witryny w progresywne aplikacje internetowe. Integracja z Bubblewrap zapewnia też interfejs GUI, który pozwala na umieszczenie tych PWA w aplikacji na Androida. Zespół PWABuilder opublikował świetny post na blogu o tym, jak wygenerować aplikację na Androida za pomocą tego narzędzia.
Weryfikowanie własności aplikacji PWA w aplikacji na Androida
Deweloper tworzący świetną progresywną aplikację internetową nie chciałby, żeby inny programista tworzył w niej aplikację na Androida bez jego zgody. Aby tego uniknąć, musisz sparować aplikację na Androida z progresywną aplikacją internetową za pomocą narzędzia Digital Asset Links.
Bubblewrap i PWABuilder zajmują się niezbędną konfiguracją aplikacji na Androida, ale pozostaje już tylko dodanie pliku assetlinks.json
do PWA.
Aby wygenerować ten plik, deweloperzy potrzebują podpisu SHA-256 klucza używanego do podpisywania pakietu APK pobieranego przez użytkowników.
Klucz można wygenerować na wiele sposobów. Najłatwiejszym sposobem na znalezienie klucza, który podpisał plik APK udostępniany użytkownikom, jest pobranie go ze Sklepu Play.
Aby uniknąć pokazywania użytkownikom uszkodzonej aplikacji, wdróż ją w kanale testowym zamkniętym, zainstaluj ją na urządzeniu testowym, a następnie użyj narzędzia Piotra, by wygenerować prawidłowy plik assetlinks.json
dla aplikacji. Udostępnij wygenerowany plik assetlinks.json
na /.well-known/assetlinks.json
w zweryfikowanej domenie.
Co dalej
Progresywna aplikacja internetowa to wysokiej jakości aplikacja internetowa. Zaufana aktywność w internecie to nowy sposób udostępniania takich usług wysokiej jakości z aplikacji na Androida, które spełniają minimalne kryteria jakościowe.
Jeśli dopiero zaczynasz korzystać z progresywnych aplikacji internetowych, przeczytaj nasze wskazówki o tym, jak tworzyć świetne aplikacje PWA. W przypadku deweloperów, którzy mają już aplikację PWA, użyj Lighthouse, aby sprawdzić, czy spełnia ona kryteria jakości.
Następnie użyj Bubblewrap lub PWABuilder, aby wygenerować aplikację na Androida, prześlij ją do kanału testów zamkniętych w Sklepie Play i sparuj ją z PWA za pomocą narzędzia Peter Asset Link Tool.
Na koniec przenieś aplikację z kanału testu zamkniętego do wersji produkcyjnej.