Latara

Piotr Kowalski
Peter Conn

Zaufane działania w internecie obejmują sporo ekosystemu, dlatego trudno jest zorientować się, co jest ze sobą powiązane i z czego należy korzystać. Mamy nadzieję, że ten artykuł zawiera odpowiedź na to pytanie.

Jeśli dopiero zaczynasz korzystać z zaufanych działań w internecie lub poszukujesz zalecanego zestawu narzędzi, z których warto korzystać, oto informacje, które musisz wiedzieć:

  • Bubblewrap: narzędzie NodeJS, które pozwala programistom tworzyć i kompilować pliki APK na Androida obejmujące istniejący PWA. Wygenerowana aplikacja korzysta z zaufanych działań internetowych, ale jest to widoczne dla dewelopera. Nie jest wymagane doświadczenie w programowaniu aplikacji na Androida. Na początek zapoznaj się z dokumentacją folii bąbelkowej.
  • android-browser-helper: biblioteka Androida obejmująca protokół zaufanych aktywności internetowych. Zalecane dla programistów, którzy znają się na programowaniu na Androida i chcą użyć zaufanych aktywności w internecie jako jednej z aktywności w swojej aplikacji na Androida lub wprowadzić modyfikacje, które nie są obsługiwane przez Bubblewrap. Aby zacząć korzystać z funkcji android-browser-helper, zapoznaj się z dokumentacją i naszymi prezentacjami.

W następnej sekcji znajdziesz krótkie podsumowanie wszystkich projektów. Na koniec (dla głębszych zainteresowanych) dostępna jest sekcja historii, która pokazuje, jak dotarliśmy do tego miejsca i co planujemy w najbliższej przyszłości.

Omówienie bibliotek

Oto krótkie, jednozdaniowe podsumowanie każdej biblioteki, której możesz użyć:

  • androidx.browser – biblioteka Androida do interakcji z przeglądarką zainstalowaną na urządzeniu użytkownika.
  • Asystent przeglądarki na urządzeniu z Androidem – biblioteka tworzona na podstawie androidx.browser dla klientów korzystających z zaufanej aktywności w internecie, zapewniająca wygodne metody i rozsądne ustawienia domyślne.
  • Bubblewrap – narzędzie do tworzenia zaufanych aktywności internetowych na podstawie PWA bez ingerencji w kod w Javie.

Oprócz tego każda z tych bibliotek/narzędzi zastępuje starsze:

Historia

Biblioteka pomocy Androida

Biblioteka pomocy Androida rozszerza platformę Androida o nowe interfejsy API i funkcje zgodności. Jest ona podzielona na wiele pakietów. Biblioteka obsługi kart niestandardowych zawiera funkcje interakcji z przeglądarkami w systemie użytkownika. Opracowanie biblioteki obsługi kart niestandardowych odbywało się głównie w repozytorium custom-tabs-client GitHub, a zmiany były przesyłane z powrotem do biblioteki pomocy Androida.

Karta niestandardowa to aktywność na Androidzie, która wyświetla stronę internetową w przeglądarce. Główną korzyścią dla dewelopera jest to, że może być ono dostosowane do tematu i mieć przycisk zamykania, dzięki czemu użytkownik pozostaje w aplikacji dewelopera (nie musi opuszczać aplikacji i przechodzi do wszystkich funkcji przeglądania). Karty niestandardowe w interfejsie Android API mogą być obsługiwane przez dowolną przeglądarkę i będą korzystać z domyślnej przeglądarki użytkownika (chociaż mogą ją zastąpić deweloperzy).

Zaufane aktywności w internecie są tworzone na podstawie kart niestandardowych, dlatego zaczęli korzystać z tej biblioteki klienta kart niestandardowych. Zaufane aktywności internetowe usuwają górny pasek kart niestandardowych, gdy użytkownik przegląda witrynę należącą do dewelopera aplikacji. Daje to możliwość płynnej integracji witryny z natywną aplikacją na Androida i można go używać do tworzenia aplikacji, w których wszystkie funkcje są dostarczane przez internet.

AndroidX

Później biblioteka pomocy Androida zmieniła nazwę na AndroidX, co jest częścią większych działań mających na celu poprawę jakości usług dla programistów – JetPack. W związku z tym trzeba było przenieść karty niestandardowe i zaufane aktywności internetowe z biblioteki obsługi kart niestandardowych do nowej wersji androidx.browser.

Część kodu, którą nagraliśmy w custom-tabs-client, należała do biblioteki klas pomocniczych Zaufanej aktywności w internecie, ale nie dla interfejsu API Androida. Kod służący do sprawdzania nieaktualnych wersji Chrome i zachęcania użytkownika do aktualizacji oraz podejmowania decyzji o sposobie przechowywania danych nie mógł zostać przeniesiony na AndroidaX. W związku z tym utworzyliśmy alternatywną bibliotekę zawierającą te części pliku custom-tabs-client, których nie można było otworzyć do pliku androidx.browser. W związku z tym powstał Asystent przeglądarki na Androidzie.

Asystent przeglądarki na Androidzie został stworzony, aby zawierać kod dostosowany do konkretnych przeglądarek (nie tylko Chrome – jesteśmy otwarci na kodowanie specjalnie dla innych przeglądarek) i umożliwia podejmowanie konkretnych decyzji, których nie należy stosować w bibliotekach. Skorzystaliśmy z tego czasu, aby rozdzielić role tych 2 bibliotek:

  • androidx.browser zawiera podstawowe elementy składowe interakcji z przeglądarkami w systemie użytkownika.
  • Asystent przeglądarki na Androidzie zawiera wygodne w użyciu i rozsądne implementacje domyślne.

Wczytuję

Deweloperzy mają dużo pracy i mają mnóstwo pracy i terminów. Aby im w tym pomóc, stworzyliśmy dwa narzędzia, które umożliwiają użytkownikowi wczytanie zaufanej aktywności w internecie.

Pierwszym (i najstarszym) jest svgomg-twa. To projekt na Androida hostowany na GitHubie, który uruchamia zaufaną aktywność w internecie. Początkowo był to projekt demonstracyjny, a obecnie jest to jakiś szablon. Użytkownicy mogą skopiować to repozytorium i zmodyfikować plik build.gradle, aby wskazywał własną witrynę, a także utworzyć ją i utworzyć zaufaną aktywność internetową bez ingerencji w kod w Javie. Uzyskanie linków do zasobów cyfrowych wymaga więcej wysiłku. Więcej informacji znajdziesz tutaj.

Zaczęło się od narzędzia svgomg-twa w zależności od klienta custom-tabs-client, a następnie przenieśliśmy go do Asystenta przeglądarki w Androidzie (i przechodnie do androidx.browser).

Najnowszym narzędziem jest Bubblewrap, czyli narzędzie Node.js, które pobierze Twój plik manifestu aplikacji internetowej i wygeneruje zaufaną aktywność w internecie. To najprostszy sposób na utworzenie zaufanej aktywności internetowej na podstawie istniejącej aplikacji PWA, która nie wymaga żadnej wiedzy z zakresu Androida.

Bliska przyszłość

Wycofujemy funkcję svgomg-twa z 2 powodów:

  • Okładka generuje wypełnioną funkcję svgomg-twa na potrzeby dewelopera. Robi to interaktywnie i może pobrać konfigurację z pliku manifestu aplikacji internetowej (który prawdopodobnie ma już PWA).
  • Jeśli deweloperzy potrzebują wskazówek na temat tego, jak rozpocząć własny projekt Zaufanej aktywności w internecie od zera, mogą poszukać wersji demonstracyjnych dla pomocników przeglądarki Androida.

Nowi deweloperzy powinni generować projekty za pomocą Bubblewrap. Jeśli używasz już svgomg-twa i wprowadzisz w niej duże zmiany, możesz dalej to robić, ale nie będziesz otrzymywać aktualizacji.

Staramy się, aby funkcja Bubblewrap miała jak najwięcej możliwości, więc jeśli brakuje jakiejś oczywistej funkcji lub natrafisz na błąd, możesz utworzyć problem.