Gdy użytkownik zainstaluje Twoją PWA, przeglądarka musi mieć sposób
czyli progresywnych aplikacji internetowych. Do niedawna jednak w specyfikacji pliku manifestu aplikacji internetowej nie było
zdefiniować sposób jednoznacznej identyfikacji PWA, pozostawiając przeglądarkom wybór
co prowadzi do różnych implementacji. W niektórych przeglądarkach atrybut start_url
w innych, a w innych – ścieżka do pliku manifestu,
nie może zaktualizować żadnego z tych pól.
Aby rozwiązać ten problem, udostępniamy w aplikacji internetowej nową, opcjonalną właściwość id
specyfikacji pliku manifestu, która umożliwia jawne zdefiniowanie identyfikatora używanego
Twoją progresywną aplikację internetową. Dodanie właściwości id
do pliku manifestu eliminuje zależność
start_url
lub lokalizację pliku manifestu i umożliwia
aby zaktualizować je w przyszłości.
Do czego służy właściwość id
?
Właściwość id
reprezentuje aplikację PWA dla przeglądarki. Kiedy
przeglądarka widzi plik manifestu, który nie ma tożsamości pasującej do
jest już zainstalowana PWA, traktuje ją jako nową, nawet jeśli jest udostępniana
z tego samego adresu URL co inna aplikacja PWA. Jeśli jednak wyświetla plik manifestu z tożsamością
zgodne z już zainstalowaną PWA, będzie traktować ją jako zainstalowaną.
Obsługa przeglądarek
Obsługa usługi id
jest dostępna w Chrome 96.
Co zrobić, jeśli mam aplikację bez identyfikatora id
?
Nic nie musisz robić i nic się nie zmieni, jeśli
nie dodawaj id
do pliku manifestu aplikacji internetowej (o ile start_url
i
ścieżka pliku manifestu pozostaje bez zmian). Aby zadbać o przyszłość PWA, możesz dodać
usłudze id
do pliku manifestu aplikacji internetowej.
Jak określić i ustawić id
?
Najbezpieczniejszy i najdokładniejszy sposób określenia id
na potrzeby aplikacji PWA
jest sprawdzenie wartości obliczonej przez Chrome.
- W przeglądarce Chrome 96 lub nowszej otwórz Panel pliku manifestu panelu Aplikacja w Narzędziach deweloperskich.
- Najedź kursorem na ikonę
(!)
obok usługi Identyfikator aplikacji.(!)
ikona etykietki pojawi się tylko wtedy, gdy elementid
jest nieokreślony w plik manifestu aplikacji internetowej. - Zwróć uwagę na wartość
id
podaną we wskazówce (patrz zrzut ekranu poniżej). - Dodaj usługę
id
do pliku manifestu aplikacji internetowej za pomocą wartościid
podanej w polu kliknij etykietkę.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
Co się stanie, jeśli nie ustawię id
?
Nie martw się – nic się nie zmieni. Począwszy od Chrome 96,
przeglądarka wygeneruje element id
, jeśli nie ma go w pliku manifestu
na podstawie start_url
w manifeście aplikacji internetowej.
Dodanie atrybutu id
do pliku manifestu aplikacji internetowej umożliwia
aby zmienić start_url
i ścieżkę pliku manifestu (jeśli i tylko wtedy, gdy ich konkretna
origin pozostaje bez zmian!),
ponieważ przeglądarka
identyfikować PWA na podstawie określonego identyfikatora id
, a nie identyfikatora start_url
lub
pliku manifestu.
Jak to sprawdzić?
Aby przetestować to działanie, postępuj zgodnie z wykonaj te czynności:
- Zainstaluj PWA.
- Otwórz aplikację
about://web-app-internals/
i sprawdźunhashed_app_id
oraz Właściwośćstart_url
zainstalowanej aplikacji PWA. - Dodaj usługę
id
do pliku manifestu aplikacji internetowej, wykonując czynności opisane w Jak mogę określić i ustawić mójid
powyżej. - Uruchom ponownie przeglądarkę, używając pliku
chrome://restart
, uruchom PWA na stronieabout://apps
, a następnie zamknij aplikację PWA, aby wymusić odświeżenie pliku manifestu. - Otwórz
about://web-app-internals/
i sprawdź właściwośćmanifest_id
dla zainstalowanej aplikacji PWA, aby sprawdzić, czy nic się nie zmieniło. - Zmień
start_url
w pliku manifestu aplikacji internetowej. - Uruchom ponownie przeglądarkę, używając pliku
chrome://restart
, uruchom PWA na stronieabout://apps
, a następnie zamknij aplikację PWA, aby wymusić odświeżenie pliku manifestu. - Otwórz
about://web-app-internals/
i sprawdź właściwośćstart_url
dla zainstalowana aplikacja PWA, aby sprawdzić, czy została zaktualizowana zgodnie z oczekiwaniami.