PWA'ları web uygulaması manifest kimliği mülküyle benzersiz bir şekilde tanımlama

Kullanıcı PWA'nızı yüklediğinde tarayıcının PWA'yı benzersiz şekilde tanımlayabilmesi gerekir. Ancak yakın zamana kadar web uygulaması manifesti spesifikasyonu, PWA'ları benzersiz şekilde tanımlamanın bir yolunu açıkça tanımlamıyordu. Bu da karar verme işini tarayıcılara bırakıyor ve farklı uygulamalara yol açıyordu. Bazı tarayıcılarda start_url kullanılırken diğerlerinde manifest dosyasının yolu kullanılır. Bu da bu alanların hiçbirinin güncellenmesini imkansız hale getirir.

Bu sorunu çözmek için web uygulaması manifest spesifikasyonunda, PWA'nız için kullanılan tanımlayıcıyı açıkça tanımlamanıza olanak tanıyan yeni bir isteğe bağlı id mülkü bulunmaktadır. id mülkünü manifest'e eklemek, manifest'in start_url'a veya konumuna olan bağımlılığını ortadan kaldırır ve bunların gelecekte güncellenmesini mümkün kılar.

id özelliği ne işe yarar?

id mülkü, tarayıcıda PWA'nın kimliğini temsil eder. Tarayıcı, halihazırda yüklü bir PWA ile eşleşen kimliği olmayan bir manifest gördüğünde, başka bir PWA ile aynı URL'den sunulsa bile bunu yeni bir PWA olarak değerlendirir. Ancak halihazırda yüklü PWA ile eşleşen kimliğe sahip bir manifest görürse bunu yüklü PWA (Progresif Web Uygulaması) olarak değerlendirir.

Tarayıcı desteği

id mülkü için destek, Chrome 96'da kullanıma sunuldu.

id içermeyen bir uygulamam varsa ne yapmalıyım?

Yapmanız gereken bir şey yoktur. Web uygulaması manifestinize id eklemezseniz (start_url ve manifest yolu aynı kaldığı sürece) hiçbir şey bozulmaz. PWA'nızı geleceğe hazırlamak için web uygulaması manifest dosyanıza id mülkü ekleyebilirsiniz.

id değerini nasıl belirleyebilir ve ayarlayabilirim?

Bir PWA için id değerini belirlemenin en güvenli ve en doğru yolu, Chrome tarafından hesaplanan değeri kontrol etmektir.

  1. Chrome 96 veya sonraki bir sürümü kullanarak DevTools'taki Uygulama panelinin Manifest bölmesini açın.
  2. id, web uygulaması manifest dosyasında belirtilmezse Hesaplanmış Uygulama Kimliği özelliğinin altında bir not görünür.
  3. Notta gösterilen id değerini kopyalayın (aşağıdaki ekran görüntüsüne bakın).
  4. Notta gösterilen id değerini kullanarak web uygulaması manifest dosyasına bir id mülkü ekleyin.

DevTools Uygulama panelinde Hesaplanan Uygulama Kimliği.

{
  ...
  id: "/?homescreen=1",
  start_url: "/?homescreen=1",
  ...
}

id ayarlamazsam ne olur?

Endişelenmeyin, hiçbir şey bozulmaz. Chrome 96'tan itibaren tarayıcı, web uygulaması manifest'indeki start_url'a göre manifest'te id yoksa bir id oluşturur.

Web uygulaması manifest dosyasına bir id eklemek, start_url ve manifest yolunun değiştirilmesini mümkün kılar (yalnızca ilgili kaynak aynı kalırsa). Bunun nedeni tarayıcı, PWA'yı start_url veya manifest yolu yerine belirtilen id öğesine göre tanımlar.

Bunu nasıl test edebilirim?

Davranışı test etmek için aşağıdaki adımları uygulayın:

  1. PWA'yı yükleyin.
  2. about://web-app-internals/'ü açın ve yüklü PWA için manifest_id ve start_url mülkünü kontrol edin.
  3. Yukarıdaki id'mi nasıl belirlerim ve ayarlarım? bölümündeki adımları uygulayarak web uygulaması manifestinize bir id mülkü ekleyin.
  4. chrome://restart'ü kullanarak tarayıcıyı yeniden başlatın, about://apps'dan PWA'yı başlatın ve ardından manifest dosyasının yenilenmesini zorunlu kılmak için PWA'yı kapatın.
  5. about://web-app-internals/'ü açın ve yüklü PWA'nın değişmediğinden emin olmak için manifest_id mülkünü kontrol edin.
  6. Web uygulaması manifest'indeki start_url değerini değiştirin.
  7. chrome://restart'ü kullanarak tarayıcıyı yeniden başlatın, about://apps'dan PWA'yı başlatın ve ardından manifest dosyasının yenilenmesini zorunlu kılmak için PWA'yı kapatın.
  8. about://web-app-internals/ uygulamasını açın ve yüklü PWA'nın start_url özelliğini kontrol ederek beklendiği gibi güncellendiğini doğrulayın.

Ek kaynaklar