Khi người dùng cài đặt PWA của bạn, trình duyệt cần một cách để xác định riêng PWA. Tuy nhiên, cho đến gần đây, thông số kỹ thuật tệp kê khai ứng dụng web chưa xác định rõ cách nhận dạng duy nhất một PWA, để trình duyệt quyết định và dẫn đến nhiều cách triển khai. Một số trình duyệt sử dụng start_url
, còn các trình duyệt khác sử dụng đường dẫn đến tệp kê khai, 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
không bắt buộc mới trong thông số kỹ thuật tệp kê khai ứng dụng web, cho phép bạn xác định rõ ràng giá trị nhận dạng dùng cho PWA. 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 cho phép cập nhật các phần phụ thuộc 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 trình duyệt 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 tệp kê khai đó là một PWA mới, ngay cả khi tệp kê khai đó đượ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ó mã nhận dạng khớp với PWA đã cài đặt, thì trình duyệt sẽ coi đó là PWA đã cài đặt.
Hỗ trợ trình duyệt
Hỗ trợ cho thuộc tính id
đã ra mắt trong Chrome 96.
Tôi nên làm gì nếu ứng dụng của tôi không có id
?
Bạn không cần làm gì cả và sẽ không có vấn đề gì nếu bạn không thêm id
vào tệp kê khai ứng dụng web (miễn là start_url
và đường dẫn tệp kê khai vẫn giữ nguyên). Để đảm bảo PWA của mình hoạt động tốt trong 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 một PWA là kiểm tra giá trị do Chrome tính toán.
- Khi sử dụng Chrome 96 trở lên, hãy 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.
- Một lưu ý bên dưới thuộc tính Computed App Id (Mã ứng dụng đã tính toán) sẽ xuất hiện khi
id
không được chỉ định trong tệp kê khai ứng dụng web. - Sao chép giá trị
id
hiển thị trong ghi chú (xem ảnh chụp màn hình bên dưới). - Thêm thuộc tính
id
vào tệp kê khai ứng dụng web bằng giá trịid
hiển thị trong ghi 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ì bị hỏng. Kể từ Chrome 96, trình duyệt sẽ tạo một id
nếu không có tệp này 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 cho phép bạn thay đổi start_url
và đường dẫn tệp kê khai (chỉ khi nguồn gốc cụ thể của chúng vẫn giữ nguyên!), vì trình duyệt sẽ xác định PWA dựa trên id
đã chỉ định, thay vì start_url
hoặc đường dẫn tệp kê khai.
Làm cách nào để kiểm tra điều này?
Để 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ínhmanifest_id
vàstart_url
cho PWA đã cài đặt. - Thêm thuộc tính
id
vào tệp kê khai ứng dụng web theo các bước trong phần Làm cách nào để xác định và đặtid
ở 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 tệp kê khai làm mới. - Mở
about://web-app-internals/
và kiểm tra thuộc tínhmanifest_id
của PWA đã cài đặt để xác minh rằng ứng dụng 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 tệp kê khai làm mới. - Mở
about://web-app-internals/
và kiểm tra thuộc tínhstart_url
của PWA đã cài đặt để xác minh rằng ứng dụng đó đã được cập nhật như dự kiến.