Ulepszenia

Istnieje wiele ulepszeń, które mogą zwiększyć liczbę konwersji i wykorzystanie Twojej aplikacji PWA.

Skróty do aplikacji

Skróty do aplikacji to statyczna lista precyzyjnych linków do Twojej aplikacji PWA. Są one zapisane w pliku manifestu. Specyfikacja pliku manifestu aplikacji internetowej. Pozwala zdefiniować listę skrótów do różnych części lub funkcji PWA. Przyspieszają one nawigację do często używanych sekcji.

Skróty do aplikacji są dostępne w większości systemów operacyjnych na komputerach oraz w Androidzie z WebAPK. Pojawiają się w menu kontekstowym na ikonie aplikacji na ekranie głównym, w Docku lub na pasku zadań, tak jak na ilustracji:

Skróty do aplikacji na urządzeniach z Androidem i macOS.

Aby uzyskać dostęp do tego menu, użytkownicy muszą kliknąć prawym przyciskiem lub przytrzymać ikonę PWA.

.

Skróty są zdefiniowane w elemencie shortcuts pliku manifestu. Pobiera ona tablicę elementów o tych właściwościach:

name
Tekst, który będzie wyświetlany użytkownikowi, zwykle w menu kontekstowym.
url
Adres URL, który powinien wczytać PWA, gdy użytkownik uruchomi go za pomocą tego skrótu. Powinien to być URL w zakresie aplikacji PWA i powinien zawierać precyzyjny link do funkcji opisywanej w name lub short_name.
short_name
(Opcjonalnie) Krótsza nazwa używana, gdy nie ma wystarczająco dużo miejsca na wyświetlenie pełnej wartości pola name.
description
(Opcjonalnie) Opis działania tego skrótu
icons
(Opcjonalnie) Tablica obiektów ikon z polami src, type, sizes i opcjonalnymi purpose opisującymi obrazy, które mają reprezentować skrót

Skróty do aplikacji należy traktować z najwyższą starannością. Oznacza to, że nie możesz polegać na tych skrótach, aby były spójnie wyświetlane, a nawet jeśli się pojawią, nie wiesz, ile skrótów pojawi się w wyszukiwarce, ani czy platforma zignoruje ikony według uznania przeglądarek. Szczegółowe omówienie poszczególnych platform jest poza zakresem, ale poniżej masz już wyobrażenie o tym, jak działa ona na Androidzie i na komputerze. Najlepszym sposobem na poradzenie sobie z tą niepewnością jest uporządkowanie elementów według priorytetu.

.

Poniższy przykładowy kod zawiera definicje różnych skrótów do aplikacji, które możesz wypróbować, jeśli zainstalujesz aplikację na urządzeniu z Androidem za pomocą Chrome lub na komputerze z Edge lub Chrome na komputerze.

iOS i iPadOS

Podczas publikowania PWA możesz skorzystać z pewnych ulepszeń, które mogą poprawić wygodę użytkowników Safari na urządzeniach z iOS/iPadOS.

Ekrany powitalne

Jak widać w rozdziale dotyczącym pliku manifestu aplikacji internetowej, Android automatycznie tworzy ekrany powitalne na podstawie wartości w pliku manifestu. Inaczej jest w przypadku systemów iOS i iPadOS. Na takich urządzeniach ekrany powitalne w kodzie HTML należy zdefiniować jako obrazy statyczne przy użyciu elementów <link>.

Na urządzeniach Apple obrazy te są nazywane obrazami startowymi i korzystają z właściwości rel z wartością apple-touch-startup-image, jak w tym przykładzie:

<link rel="apple-touch-startup-image" href="ios-startup.png">

Wyzwanie polega na tym, że obraz startowy musi mieć dokładnie ten rozmiar okna, jaki będzie miała Twoja aplikacja PWA po otwarciu. W związku z tym poszczególne urządzenia z iOS i iPadOS wymagają różnych obrazów. Należy uwzględnić inne sytuacje, takie jak otwarcie aplikacji w orientacji poziomej lub pionowej oraz renderowanie PWA w trybie wielozadaniowym (na przykład 1/3, 1/2 lub 2/3 ekranu).

Aktualną listę rozmiarów ekranu z systemami iOS i iPadOS znajdziesz w wytycznych dotyczących interfejsu ludzkiego firmy Apple.

Różne wersje obrazu startowego można ustawić za pomocą zapytania o media w atrybucie media:

<link rel="apple-touch-startup-image" href="ios-startup.png"
      media="orientation: portrait">
<link rel="apple-touch-startup-image" href="ios-startup-landscape.png"
      media="orientation: landscape">

Wzorce projektowe dla obrazów startowych iOS

Definiowanie obrazów startowych to ciężka praca, dlatego mamy kilka narzędzi do automatycznego ich generowania i konfigurowania:

  • Generacja statyczna integruje się z systemem kompilacji, tworzy wszystkie statyczne obrazy w formacie PNG i przekazuje kod HTML z elementami <link> do wstawienia w dokumencie. Przykładem może być Generator zasobów PWA.
  • Generator po stronie klienta, narzędzie JavaScript, które może umieścić jedną lub więcej wersji obrazu startowego w formacie base64 we wstrzykniętych elementach <link> w zależności od typu bieżącego urządzenia i rozmiaru ekranu. Możesz użyć obszaru roboczego w pamięci, wyrenderować obraz i przekonwertować go na identyfikator URI data: za pomocą pliku PNG. Biblioteka PWA Compat to łatwa w użyciu biblioteka po stronie klienta, która pozwala skopiować typowy ekran uruchamiania Androida.

Wykrywanie PWA na platformach mobilnych Apple

Mimo że zalecamy stosowanie progresywnego ulepszania i wykrywania funkcji w swojej aplikacji PWA, w niektórych przypadkach może być konieczne sprawdzenie, czy użytkownik korzysta z tej aplikacji na platformach mobilnych Apple. Jest tak na przykład wtedy, gdy chcesz udostępnić instrukcje instalacji lub dodać linki do aplikacji działających na określonych platformach, które są dostępne tylko na iOS.

Aby uniknąć odczytywania ciągu znaków klienta użytkownika, sprawdź właściwość standalone obiektu navigator. Jest to właściwość niestandardowa, z której można korzystać tylko w mechanizmie WebKit w systemach iOS i iPadOS.

  • Jeśli navigator.standalone ma wartość undefined, oznacza to, że użytkownik nie korzysta z urządzenia z iOS ani iPadOS.
  • Jeśli navigator.standalone ma wartość false, oznacza to, że użytkownik otworzył PWA w przeglądarce i z niej korzysta.
  • Jeśli navigator.standalone ma wartość true, oznacza to, że użytkownik otworzył progresywną aplikację internetową na ekranie głównym i pobiera ją samodzielną aplikację.

Obsługa pełnego ekranu

W przeglądarce Safari na urządzeniach z iOS i iPadach tryb wyświetlania ikony PWA jest obsługiwany tylko przez display: standalone. Mimo że protokół display: fullscreen nie jest obsługiwany na urządzeniach z Androidem, można użyć niestandardowego metatagu, aby aplikacja PWA przechodziła w tryb pełnoekranowy.

Na następnym obrazie po lewej widać domyślny, samodzielny projekt z kolorem motywu, a po prawej – progresywna aplikacja internetowa z pełnoekranowym trybem iOS, który umożliwia renderowanie treści za paskiem stanu.

Oddzielne działanie domyślne (po lewej) i pełnoekranowy ekran iOS (po prawej).

Jeśli dodasz poniższy tag do kodu HTML, Twoja aplikacja PWA na iOS i iPadOS przejdzie w tryb pełnoekranowy, ale będzie się różnił od Androida.

<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

W tym trybie pasek stanu urządzenia (u góry, na którym widać zegar, poziom baterii i ikony powiadomień) jest nadal widoczny, ale wyświetla się na przezroczystym tle.

Podczas korzystania z tego trybu zachowaj ostrożność podczas projektowania, ponieważ system operacyjny zawsze renderuje ikony na biało, dlatego do tła ekranu należy zawsze kontrastować z jasnym obrazem. Pamiętaj też, by używać zmiennych środowiskowych CSS do renderowania treści w bezpiecznym obszarze, jak widać w rozdziale na temat projektowania aplikacji.

Górny 0 pikseli widocznego obszaru domyślnie znajduje się poniżej paska stanu. jeśli dodasz metatag z półprzezroczystym czarnym kolorem, górne 0 pikseli widocznego obszaru będzie odpowiadać fizycznej górnej części ekranu.

Niezawodność instalacji

Safari w systemach iOS i iPadOS w wersjach starszych niż 15.4 wczytuje plik manifestu z sieci tylko wtedy, gdy użytkownik otworzy arkusz udostępniania (za pomocą ikony udostępniania w przeglądarce), a nie podczas wczytywania strony. Dlatego do tego momentu Safari nie sprawdza, czy Twoja witryna jest PWA. Może to spowodować, że nie uda się wczytać pliku manifestu lub zajmie to zbyt dużo czasu. Safari go zignoruje.

Gdy Safari nie może wczytać pliku manifestu na czas, naciskając „Add to Home Screen” (Dodaj do ekranu głównego). umieszcza ikonę na ekranie głównym, ale nie zapewnia działania aplikacji; to tylko skrót do karty Safari.

Zasoby