Khi người dùng cài đặt PWA của bạn, trình duyệt cần có một cách để xác định duy nhất PWA đó. Tuy nhiên, cho đến gần đây, thông số kỹ thuật của tệp kê khai ứng dụng web vẫn chưa xác định rõ ràng cách nhận dạng duy nhất một PWA, khiến các trình duyệt phải quyết định và dẫn đến nhiều cách triển khai khác nhau. Trong một số trình duyệt, start_url
được dùng, trong khi ở các trình duyệt khác, đường dẫn đến tệp kê khai được dùng khiến bạn không thể cập nhật một trong hai trường đó.
Để giải quyết vấn đề này, có một thuộc tính id
mới (không bắt buộc) trong thông số kỹ thuật của tệp kê khai ứng dụng web cho phép bạn xác định rõ giá trị nhận dạng dùng cho PWA của mình. Việc thêm thuộc tính id
vào tệp kê khai sẽ xoá phần phụ thuộc trên start_url
hoặc vị trí của tệp kê khai, đồng thời giúp bạn có thể cập nhật các thuộc tính này trong tương lai.
Thuộc tính id
có chức năng gì?
Thuộc tính id
đại diện cho danh tính của PWA đối với trình duyệt. Khi thấy một tệp kê khai không có danh tính khớp với một PWA đã cài đặt, trình duyệt sẽ coi đó là một PWA mới, ngay cả khi được phân phát từ cùng một URL với một PWA khác. Tuy nhiên, nếu thấy một tệp kê khai có danh tính khớp với PWA đã cài đặt, thì ứng dụng sẽ coi đó là PWA đã cài đặt.
Hỗ trợ trình duyệt
Hỗ trợ cho thuộc tính id
đã có trong Chrome 96.
Tôi nên làm gì nếu có một ứng dụng không có id
?
Bạn không cần làm gì cả và sẽ không có gì xảy ra nếu bạn không thêm id
vào tệp kê khai ứng dụng web của mình (miễn là start_url
và đường dẫn của tệp kê khai vẫn giữ nguyên). Để PWA hướng tới tương lai, bạn có thể thêm
thuộc tính id
vào tệp kê khai ứng dụng web.
Làm cách nào để xác định và đặt id
?
Cách an toàn và chính xác nhất để xác định id
cho PWA
là kiểm tra giá trị do Chrome tính toán.
- Sử dụng Chrome 96 trở lên, mở ngăn Tệp kê khai của bảng điều khiển Ứng dụng trong Công cụ cho nhà phát triển.
- Di chuột qua biểu tượng
(!)
bên cạnh thuộc tính App Id (Mã ứng dụng). Biểu tượng chú giải công cụ(!)
sẽ chỉ xuất hiện khiid
không được chỉ định trong tệp kê khai ứng dụng web. - Lưu ý giá trị
id
được hiển thị trong mẹo sử dụng công cụ (xem ảnh chụp màn hình dưới đây). - Thêm một thuộc tính
id
vào tệp kê khai ứng dụng web bằng cách sử dụng giá trịid
có trong phần chú thích.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
Nếu tôi không đặt id
thì sao?
Đừng lo, sẽ không có gì hỏng cả. Kể từ Chrome 96, trình duyệt sẽ tạo một id
nếu không có chiến dịch nào trong tệp kê khai dựa trên start_url
trong tệp kê khai ứng dụng web.
Việc thêm id
vào tệp kê khai ứng dụng web sẽ giúp bạn có thể thay đổi start_url
và đường dẫn tệp kê khai (nếu và chỉ khi nguồn gốc cụ thể của các dữ liệu này giữ nguyên!), vì trình duyệt sẽ xác định PWA dựa trên id
được chỉ định, thay vì start_url
hoặc đường dẫn tệp kê khai.
Làm cách nào để kiểm tra?
Để kiểm thử hành vi, hãy làm theo các bước sau:
- Cài đặt PWA.
- Mở
about://web-app-internals/
rồi kiểm tra thuộc tínhunhashed_app_id
vàstart_url
để tìm PWA đã cài đặt. - Thêm thuộc tính
id
vào tệp kê khai ứng dụng web của bạn theo các bước trong phần Cách xác định và thiết lậpid
ở trên. - Khởi động lại trình duyệt bằng
chrome://restart
, chạy PWA từabout://apps
, sau đó đóng PWA để buộc làm mới tệp kê khai. - Mở
about://web-app-internals/
và kiểm tra thuộc tínhmanifest_id
cho PWA đã cài đặt để xác minh rằng thuộc tính này không thay đổi. - Thay đổi
start_url
trong tệp kê khai ứng dụng web. - Khởi động lại trình duyệt bằng
chrome://restart
, chạy PWA từabout://apps
, sau đó đóng PWA để buộc làm mới tệp kê khai. - Mở
about://web-app-internals/
và kiểm tra thuộc tínhstart_url
cho PWA đã cài đặt để xác minh rằng PWA đã được cập nhật như dự kiến.