Używanie PWA w aplikacji na Androida

Progresywne aplikacje internetowe (PWA) to aplikacje internetowe, które korzystają z funkcji podobnych do aplikacji, aby zapewnić użytkownikom szybkie, niezawodne i atrakcyjne wrażenia z korzystania z internetu.

Internet ma niesamowity zasięg i oferuje użytkownikom skuteczne sposoby na odkrywanie nowych doświadczeń. Użytkownicy są jednak przyzwyczajeni do wyszukiwania aplikacji w sklepie swojego systemu operacyjnego. W wielu przypadkach są oni już zaznajomieni z marką lub usługą, której szukają, i wykazują wysoki poziom intencji, co przekłada się na wyższe niż średnia wskaźniki zaangażowania.

Sklep Play to sklep z aplikacjami na Androida, a deweloperzy często chcą otwierać swoje progresywne aplikacje internetowe z aplikacji na Androida.

Zaufane działanie w internecie to otwarty standard, który umożliwia przeglądarkom udostępnianie kontenera w pełni zgodnego z platformą internetową, który renderuje aplikacje PWA w aplikacji na Androida. Ta funkcja jest dostępna w Chrome, a w tym momencie jest też rozwijana w Firefox Nightly.

Dotychczasowe rozwiązania były ograniczone

W aplikacji na Androida można było zawsze stosować funkcje internetowe, korzystając z technologii takich jak Android WebView czy frameworków takich jak Cordova.

Ograniczenie komponentu WebView na Androidzie polega na tym, że nie jest on przeznaczony do zastępowania przeglądarki. WebView na Androida to narzędzie dla programistów umożliwiające korzystanie z interfejsu internetowego w aplikacji na Androida. Nie zapewnia ono pełnego dostępu do funkcji nowoczesnych platform internetowych, takich jak wybór kontaktów czy system plików.

Cordova została zaprojektowana w celu uzupełnienia niedociągnięć interfejsu WebView, ale interfejsy API są wtedy ograniczone do środowiska Cordova. Oznacza to, że musisz utrzymywać dodatkową bazę kodu na potrzeby korzystania z interfejsów API Cordova w aplikacji na Androida, oddzielnie od PWA w otwartym internecie.

Ponadto funkcja znajdowania funkcji często nie działa zgodnie z oczekiwaniami, a problemy ze zgodnością między wersjami Androida i OEM-ami również mogą stanowić problem. Korzystając z jednego z tych rozwiązań, deweloperzy muszą stosować dodatkowe procesy kontroli jakości i ponosić dodatkowe koszty rozwoju, aby wykrywać i tworzyć obejścia.

Zaufana aktywność internetowa to nowy kontener dla aplikacji internetowych na Androida

Deweloperzy mogą teraz używać Trusted Web Activity jako kontenera, aby uwzględnić PWA jako aktywność uruchamiania aplikacji na Androida. Technologia wykorzystuje przeglądarkę do renderowania PWA na pełnym ekranie, co zapewnia jej tę samą zgodność z funkcjami i interfejsami API platformy internetowej co przeglądarka. Dostępne są też narzędzia open source, które jeszcze bardziej ułatwiają implementację aplikacji na Androida za pomocą zaufanej aktywności w internecie.

Kolejną zaletą, której nie mają inne rozwiązania, jest to, że kontener udostępnia miejsce na dane przeglądarce. Stany logowania i ustawienia użytkowników są udostępniane w płynny sposób w różnych usługach.

Zgodność z przeglądarką

Ta funkcja jest dostępna w Chrome od wersji 75, a Firefox wdrożył ją w wersji nightly.

Kryteria jakości

Deweloperzy stron internetowych powinni używać zaufanej aktywności w internecie, gdy chcą uwzględnić treści internetowe w aplikacji na Androida.

Treści internetowe w zaufanej aktywności internetowej muszą spełniać kryteria instalowalności aplikacji PWA.

Dodatkowo, aby zapewnić działanie zgodne z oczekiwaniami użytkowników aplikacji na Androida, w Chrome 86 wprowadzono zmianę, w której nieobsługa tych scenariuszy jest uznawana za awarię:

  • Nie udało się zweryfikować linków cyfrowych zasobów podczas uruchamiania aplikacji.
  • Niemożność zwrócenia kodu HTTP 200 dla żądania zasobu sieci offline.
  • Żądanie dotyczące nawigacji zwracające błąd HTTP 404 lub 5xx.

Gdy w zaufanej aktywności w internecie wystąpi jeden z tych scenariuszy, powoduje on widoczny dla użytkownika zanik aplikacji na Androida. Zapoznaj się z wskazówkami dotyczącymi obsługi tych scenariuszy w Twoim serwisie.

Aplikacja musi też spełniać dodatkowe kryteria dotyczące Androida, takie jak zgodność z zasadami.

Zrzut ekranu przedstawiający wynik Lighthouse dla aplikacji AirHorn z plakietką PWA i wynikiem wydajności 100.
Odznaka PWA w Lighthouse wskazuje, czy Twoja aplikacja PWA spełnia kryteria instalacyjne.

Narzędzia

Deweloperzy internetowi, którzy chcą korzystać z funkcji zaufanej aktywności w internecie, nie muszą uczyć się nowych technologii ani interfejsów API, aby przekształcić swoją PWA w aplikację na Androida. Bubblewrap i PWABuilder udostępniają narzędzia dla programistów w formie biblioteki, interfejsu wiersza poleceń (CLI) i graficznego interfejsu użytkownika (GUI).

Folia bąbelkowa

Projekt Bubblewrap generuje aplikacje na Androida w postaci biblioteki NodeJS i interfejsu wiersza poleceń (CLI).

Aby uruchomić nowy projekt, uruchom narzędzie i podaj URL pliku WebM. manifest:

npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json

Narzędzie może też skompilować projekt, a po wykonaniu podanego niżej polecenia wygeneruje aplikację na Androida, którą można przesłać do Sklepu Play:

npx @bubblewrap/cli build

Po wykonaniu tego polecenia w katalogu głównym projektu będzie dostępny plik o nazwie app-release-signed.apk. To plik, który zostanie przesłany do Sklepu Play.

PWABuilder

Narzędzie PWABuilder pomaga deweloperom przekształcać istniejące witryny w progresywne aplikacje internetowe. Narzędzie to integruje się też z Bubblewrap, aby zapewnić interfejs graficzny umożliwiający tworzenie aplikacji na Androida na podstawie PWA. Zespół PWABuilder opracował artykuł na blogu, w którym wyjaśnia, 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, aby inny deweloper wykorzystywał ją do tworzenia aplikacji na Androida bez jego zgody. Aby temu zapobiec, aplikacja na Androida musi zostać sparowana z progresywną aplikacją internetową za pomocą narzędzia Digital Asset Links.

Bubblewrap i PWABuilder zajmują się niezbędną konfiguracją aplikacji na Androida, ale pozostaje jeszcze ostatni krok, czyli dodanie do PWA pliku assetlinks.json.

Aby wygenerować ten plik, deweloperzy potrzebują podpisu SHA-256 klucza użytego do podpisania pliku APK, który jest pobierany przez użytkowników.

Klucz można wygenerować na wiele sposobów, a najłatwiejszym sposobem znalezienia klucza, którym podpisano plik APK udostępniany użytkownikom końcowym, jest pobranie go ze Sklepu Play.

Aby uniknąć wyświetlania użytkownikom nieprawidłowej aplikacji, wdrożyć aplikację na zamkniętym kanale testowym, zainstalować ją na urządzeniu testowym, a następnie użyć narzędzia Peter's Asset Link Tool do wygenerowania prawidłowego pliku assetlinks.json dla aplikacji. Wygenerowany plik assetlinks.json umieść na /.well-known/assetlinks.json w domenie, która jest sprawdzana.

Co dalej

Progresywna aplikacja internetowa to aplikacja internetowa o wysokiej jakości. Zaufana aktywność internetowa to nowy sposób otwierania tych wysokiej jakości treści z aplikacji na Androida, które spełniają minimalne kryteria jakości.

Jeśli dopiero zaczynasz korzystać z progresywnych aplikacji internetowych, przeczytaj nasze wskazówki dotyczące tworzenia świetnych aplikacji PWA. Deweloperzy, którzy mają już aplikację PWA, mogą użyć narzędzia Lighthouse, aby sprawdzić, czy spełnia ona kryteria jakości.

Następnie wygeneruj aplikację na Androida za pomocą Bubblewrap lub PWABuilder, prześlij aplikację na zamknięty kanał testowy w Sklepie Play i sparuj ją z PWA za pomocą narzędzia do łączenia zasobów Petera.

Na koniec przenieś aplikację z kanału testu zamkniętego na kanał produkcyjny.