Omówienie kart niestandardowych na Androidzie

Karty niestandardowe to funkcja przeglądarki na Androida, która pozwala deweloperom aplikacji dodawać własne elementy do przeglądarki bezpośrednio z poziomu aplikacji.

Wczytywanie treści internetowych jest oferowane w aplikacjach mobilnych od początków smartfonów, jednak starsze opcje mogą stanowić wyzwanie dla programistów. Uruchomienie rzeczywistej przeglądarki to dla użytkowników duży przełącznik kontekstu, którego nie można dostosować. Mimo że komponenty WebView nie obsługują wszystkich funkcji platformy internetowej, nie przekazują stanu przeglądarce przeglądarce i nie zwiększą nakładów pracy związanych z konserwacją.

Karty niestandardowe są wygodniejsze dla użytkowników niż korzystanie z zewnętrznej przeglądarki. Pozwalają użytkownikom pozostawać w aplikacji podczas jej przeglądania, co zwiększa ich zaangażowanie i zmniejsza ryzyko porzucenia aplikacji. Jest to możliwe dzięki bezpośredniemu działaniu w przeglądarce preferowanej przez użytkownika i automatycznemu udostępnianiu stanu i oferowanych przez niego funkcji. Nie musisz pisać niestandardowego kodu, aby zarządzać żądaniami, przyznawaniem uprawnień czy magazynami plików cookie.

Do czego mogą służyć karty niestandardowe?

Gdy używasz karty niestandardowej, Twoje treści internetowe są wczytywane w wybranym silniku renderowania, który działa w przeglądarce preferowanej przez użytkownika. Są tam dostępne wszystkie funkcje API i platformy internetowej, które są dostępne na karcie niestandardowej. Sesja przeglądania, zapisane hasła, formy płatności i adresy pojawią się w taki sam sposób, w jaki użytkownik jest przyzwyczajony.

Co mogę dostosować na karcie niestandardowej?

Całkiem sporo! Zapewniają one szczegółową kontrolę nad wieloma funkcjami przeglądarki Chrome i interfejsami użytkownika. W aplikacji otwierasz kartę niestandardową, korzystając z intencji. Po wywołaniu tej intencji możesz dodać do obiektu CustomTabIntent szereg atrybutów, aby uzyskać dokładnie te informacje, których potrzebujesz. Poniżej wymieniono niektóre dostosowania, które możesz dodać.

Spersonalizowane animacje wejścia i wyjścia dopasowane do reszty Twojej aplikacji

Przeglądarka mobilna przechodząca między ekranami i zakończona stroną internetową wczytaną na karcie niestandardowej

Zmiana koloru paska narzędzi, by pasowała do marki aplikacji.

Przeglądarka mobilna przechodząca na kartę niestandardową o kolorach dopasowanych do strony internetowej

spójność kolorów, która pozostanie w aplikacji nawet wtedy, gdy będzie się przełączać między jasnym i ciemnym motywem.

Spójność kolorów pozostanie w aplikacji nawet wtedy, gdy będzie się przełączać między jasnymi i ciemnymi motywami.

Niestandardowe działania oraz pozycje na pasku narzędzi i menu przeglądarki.

Karta niestandardowa z menu z własnymi wpisami.

Możesz kontrolować wysokość karty niestandardowej, aby np. odtwarzać filmy strumieniowo podczas korzystania ze sklepu internetowego.

Częściowe otwarcie karty niestandardowej z określoną wysokością.

Użytkownicy mogą zminimalizować kartę niestandardową, aby wejść w interakcję z aplikacją, i w każdej chwili ją przywrócić bez utraty postępów w przeglądarce. Dzięki temu użytkownicy nie muszą zamykać karty niestandardowej, a użytkownicy mogą płynnie przechodzić między stronami internetowymi i natywnymi aplikacjami. Ta funkcja jest domyślnie włączona na kartach niestandardowych od Chrome 122 w wersji beta.

Minimalizowanie karty niestandardowej podczas korzystania z aplikacji w tle.

To daleko od wszystkiego. Karty niestandardowe są bardzo zaawansowane i wciąż są opracowywane. Każda przeglądarka musi dodać obsługę tych funkcji w miarę ich udostępniania. Choć niemal wszystkie są obsługiwane, warto wiedzieć, jakie funkcje są dostępne w przeglądarkach użytkowników. W tabeli porównawczej funkcji możesz szybko sprawdzić dostępność różnych funkcji w popularnych przeglądarkach na Androida.

Możesz to sprawdzić teraz na naszym przykładzie na GitHubie.

Kiedy warto używać kart niestandardowych?

Nie ma jednego „prawidłowego” sposobu wczytywania treści z internetu. W niektórych sytuacjach odpowiednią technologią będzie WebView. Jeśli na przykład hostujesz tylko własne treści w aplikacji lub musisz wstawić kod JavaScript bezpośrednio z aplikacji. Jeśli Twoja aplikacja kieruje użytkowników na adresy URL spoza domen, wbudowany stan udostępniania na kartach niestandardowych prawdopodobnie będzie dla nich lepszy. Inne zalety kart niestandardowych:

  1. Bezpieczeństwo: karty niestandardowe korzystają z opracowanego przez Google Bezpiecznego przeglądania, aby chronić użytkownika i urządzenie przed niebezpiecznymi stronami.
  2. Optymalizacja skuteczności:
    1. wstępne przygotowywanie przeglądarki w tle z pominięciem zasobów aplikacji.
    2. Przyspiesz wczytywanie strony przez spekulacyjne wczytywanie adresów URL z wyprzedzeniem.
  3. Zarządzanie cyklem życia: aplikacje uruchamiające kartę niestandardową nie będą usuwane przez system podczas korzystania z kart – ich znaczenie podnosi się do poziomu pierwszego planu.
  4. Wspólny magazyn plików cookie i model uprawnień, dzięki czemu użytkownicy nie muszą logować się w witrynach, z którymi są już połączeni, ani ponownie przyznawać uprawnień, które już otrzymali.
  5. Funkcje przeglądarki takie jak Oszczędzanie danych są udostępniane, jeśli są włączone – ładujące się szybciej i tańsze treści.
  6. Zsynchronizowane autouzupełnianie na wszystkich urządzeniach w celu lepszego wypełniania formularzy.
  7. Użytkownicy mogą wrócić do aplikacji ze zintegrowanym przyciskiem Wstecz.

Karty niestandardowe a zaufana aktywność w internecie

Zaufane aktywności w internecie rozszerzają protokół kart niestandardowych i udostępniają większość jego zalet. Zamiast jednak udostępniać dostosowany interfejs, deweloperzy mogą otwierać kartę przeglądarki bez żadnego UI. Jest ona zalecana dla deweloperów, którzy chcą otworzyć własną progresywną aplikację internetową na pełnym ekranie w aplikacji na Androida.

Gdzie są dostępne karty niestandardowe?

Karty niestandardowe to funkcja obsługiwana przez przeglądarki na platformie Androida. Po raz pierwszy pojawiła się ona w Chrome w wersji 45. Protokół ten jest obsługiwany przez większość przeglądarek z Androidem.

Chętnie poznamy opinie, pytania i sugestie dotyczące tego projektu, dlatego zachęcamy do zgłaszania problemów na stronie crbug.com i zadawania pytań na Twitterze @ChromiumDev.

Rozpocznij

Oprócz prezentacji GitHub dostępny jest szereg przewodników, które ułatwiają rozpoczęcie korzystania z kart niestandardowych.

Jeśli masz pytania, sprawdź tag chrome-custom-tabs na StackOverflow.