Wokół zaufanych działań w internecie istnieje całkiem sporo elementów, przez co trudno jest dostrzec, jak wszystko się ze sobą łączy i czego należy używać. Mamy nadzieję, że ten artykuł rozwieje Twoje wątpliwości.
Jeśli dopiero zaczynasz korzystać z zaufanych działań w internecie lub szukasz zalecanego zestawu narzędzi, których powinieneś używać, pamiętaj o tych kwestiach:
- Bubblewrap: narzędzie NodeJS, które umożliwia deweloperom tworzenie i kompilowanie pliku APK na Androida, który otacza istniejący PWA. Wygenerowana aplikacja korzysta z zaufanych działań w internecie, ale deweloper nie musi tego wiedzieć. Nie musisz mieć doświadczenia w programowaniu aplikacji na Androida. Aby rozpocząć, zapoznaj się z dokumentacją Bubblewrap.
- android-browser-helper: biblioteka Androida, która zawiera interfejs Trusted Web Activities. Zalecane dla programistów, którzy znają się na programowaniu aplikacji na Androida i chcą używać zaufanych działań w internecie jako jednej z działań w swojej aplikacji na Androida lub wprowadzać dostosowywanie, które nie jest obsługiwane przez Bubblewrap. Aby zacząć korzystać z android-browser-helper, zapoznaj się z dokumentacją i naszym demo.
W następnej sekcji znajdziesz krótkie omówienie wszystkich projektów w powiązaniu z innymi projektami. Na koniec (dla naprawdę ciekawskich) mamy sekcję z historią, która pokazuje, jak do tego doszło i co planujemy w najbliższej przyszłości.
Omówienie bibliotek
Oto krótkie podsumowanie każdej z bibliotek, których możesz używać:
- androidx.browser, biblioteka Androida do interakcji z przeglądarką zainstalowaną na urządzeniu użytkownika.
- Android Browser Helper, czyli biblioteka oparta na androidx.browser dla klientów zaufanej aktywności w internecie, która udostępnia wygodne metody i rozsądne wartości domyślne.
- Bubblewrap, narzędzie do tworzenia zaufanych działań internetowych z aplikacji internetowych bez konieczności tworzenia kodu Java.
Ponadto każda z tych bibliotek/narzędzi zastępuje starsze:
- androidx.browser zastępuje bibliotekę obsługującą karty niestandardowe.
- Zamiast custom-tabs-client należy używać Android Browser Helper.
- Zamiast svgomg-twa należy użyć Bubblewrap.
Historia
Biblioteka pomocy Androida
Biblioteka pomocy Androida rozszerza platformę Androida o nowe interfejsy API i funkcje zgodności. Jest on podzielony na kilka pakietów, a biblioteka obsługi niestandardowych kart zawiera funkcje interakcji z przeglądarkami w systemie użytkownika. Rozwój biblioteki obsługi niestandardowych kart odbywał się głównie w repozytorium GitHub custom-tabs-client, a zmiany były przesyłane z powrotem do biblioteki obsługi Androida.
Karta niestandardowa to aktywność na urządzeniu z Androidem, która wyświetla stronę internetową za pomocą przeglądarki. Główną zaletą dla dewelopera jest to, że może on dostosować motyw i dodać przycisk zamykania, dzięki czemu użytkownik pozostaje w aplikacji dewelopera (zamiast opuszczać aplikację i przechodzić do pełnego przeglądania). Jako interfejs API Androida, karty niestandardowe mogą być obsługiwane przez dowolną przeglądarkę i korzystać z domyślnej przeglądarki użytkownika (chociaż deweloperzy mogą to zastąpić).
Zaufane działania w internecie są oparte na niestandardowych kartach, dlatego powstały w bibliotece custom-tabs-client. Zaufane aktywności w internecie powodują usunięcie paska na górze kart niestandardowych, gdy użytkownik przegląda witrynę należącą do dewelopera aplikacji. Dzięki temu możesz bezproblemowo zintegrować swoją witrynę z natywną aplikacją na Androida. Możesz też używać tej funkcji do tworzenia aplikacji, w których wszystkie funkcje są dostarczane przez przeglądarkę internetową.
AndroidX
Android Support Library została później przemianowana na AndroidX, która jest częścią większego projektu mającego na celu poprawę komfortu pracy deweloperów o nazwie JetPack. Dlatego karty niestandardowe i zaufana aktywność internetowa musiały zostać przeniesione z biblioteki obsługującej karty niestandardowe do nowej biblioteki androidx.browser.
Niektóre fragmenty kodu w custom-tabs-client były odpowiednie dla biblioteki klas pomocniczych zaufanej aktywności w WWW, ale nie dla interfejsu API Androida. Kod odpowiedzialny za sprawdzanie przestarzałych wersji Chrome i zachęcanie użytkownika do ich aktualizacji lub podejmowanie decyzji o sposobie przechowywania danych nie mógł zostać przeniesiony do AndroidX. Dlatego utworzyliśmy alternatywną bibliotekę, która zawiera te części custom-tabs-client, których nie można było przenieść do androidx.browser. Tak powstał Android Browser Helper.
Plik Browser Helper dla Androida zawiera kod, który może być przeznaczony do konkretnych przeglądarek (nie tylko Chrome, jesteśmy otwarci na kod przeznaczony do innych przeglądarek) i może podejmować konkretne decyzje, których biblioteki nie powinny podejmować. Skorzystaliśmy z tej okazji, aby ogólnie rozdzielić role tych 2 bibliotek:
- androidx.browser zawiera podstawowe elementy do interakcji z przeglądarkami w systemie użytkownika.
- Pomocnik przeglądarki na Androida zawiera wygodne i rozsądne domyślne implementacje.
Wczytuję
Deweloperzy to bardzo zajęte osoby, które mają dużo pracy i terminów do dotrzymania. Aby pomóc w tym zakresie, stworzyliśmy 2 narzędzia, które ułatwiają użytkownikom uruchamianie zaufanej aktywności w internecie.
Pierwszy (i najstarszy) to svgomg-twa, czyli projekt Androida hostowany na GitHubie, który uruchamia zaufane działanie w przeglądarce. Pierwotnie był to projekt demonstracyjny, który ewoluował w szablon. Użytkownicy mogą klonować to repozytorium i modyfikować plik build.gradle, aby wskazywał na ich własną witrynę. Następnie mogą ją skompilować i utworzyć zaufane działanie internetowe bez konieczności modyfikowania kodu Java. (uzyskanie weryfikacji Digital Asset Links wymaga więcej pracy, więcej informacji znajdziesz tutaj).
svgomg-twa początkowo korzystała z custom-tabs-client, ale potem przeszła na Android Browser Helper (i w drodze do tego androidx.browser).
Najnowszym i najbardziej zaawansowanym narzędziem jest Bubblewrap, czyli narzędzie Node.js, które na podstawie pliku manifestu aplikacji internetowej wygeneruje zaufane działanie w internecie. Jest to najprostszy sposób tworzenia zaufanej aktywności w internecie na podstawie istniejącej aplikacji PWA. Nie wymaga on znajomości programowania na Androida.
Niedługo
svgomg-twa zostanie wycofany z użycia z dwóch powodów:
- Bubblewrap generuje dla dewelopera wypełniony formularz svgomg-twa. Robi to interaktywnie i może pobrać konfigurację z pliku manifestu aplikacji internetowej (który prawdopodobnie już jest dostępny w PWA).
- Jeśli deweloperzy chcą dowiedzieć się, jak zacząć od zera projektowanie własnego projektu z użyciem zaufanej aktywności w przeglądarce, mogą zajrzeć do katalogu demonstracji pomocy w przypadku przeglądarek na Androida.
Nowi deweloperzy powinni zamiast tego generować projekt za pomocą Bubblewrap. Jeśli korzystasz już z wersji svgomg-twa i wprowadzisz w niej poważne zmiany, możesz z niej korzystać, ale nie będziesz otrzymywać aktualizacji.
Chcemy, aby Bubblewrap był jak najbardziej funkcjonalny, więc jeśli brakuje jakiejś oczywistej funkcji lub napotkasz błąd, zgłoś problem.