تحديد تطبيقات الويب التقدّمية (PWA) بشكل فريد باستخدام خاصية معرّف بيان تطبيق الويب

عندما يثبّت المستخدم تطبيق الويب التقدّمي (PWA)، يحتاج المتصفّح إلى طريقة لتعريف تطبيق الويب التقدّمي (PWA) بشكلٍ فريد. ولكن حتى وقت قريب، لم تحدّد مواصفات بيان تطبيق الويب بشكل صريح طريقة لتعريف تطبيق الويب التقدّمي (PWA) بشكل فريد، حيث بقيت المتصفحات لتختار وتؤدي إلى عمليات تنفيذ مختلفة. في بعض المتصفّحات، يتم استخدام start_url، بينما يتم استخدام المسار إلى ملف البيان في المتصفحات الأخرى، ما يجعل من المستحيل تعديل أي من هذين الحقلَين.

لحلّ هذه المشكلة، تتوفّر سمة id اختيارية جديدة في مواصفات بيان تطبيق الويب تسمح لك بالتعريف صراحةً على المعرّف المستخدَم في تطبيق الويب التقدّمي الخاص بك. تؤدي إضافة السمة id إلى البيان إلى إزالة التبعية على start_url أو موقع البيان، وإتاحة إمكانية تعديلها في المستقبل.

ما هي وظيفة السمة id؟

تمثّل السمة id هوية تطبيق الويب التقدّمي (PWA) للمتصفّح. عندما يظهر للمتصفّح بيان لا يتضمن هوية تُطابق تطبيق ويب تقدّمي (PWA) مثبّتًا من قبل، سيتعامل معه على أنّه تطبيق ويب تقدّمي (PWA) جديدًا، حتى إذا كان يتم عرضه من عنوان URL نفسه كتطبيق PWA آخر. ولكن إذا ظهر بيان له هوية تتطابق مع تطبيق الويب التقدّمي (PWA) المثبَّت حاليًا، سيتعامل مع ذلك على أنّه تطبيق الويب التقدّمي (PWA) المثبَّت.

المتصفحات المتوافقة

وصلت إتاحة السمة id في Chrome 96.

ماذا يجب أن أفعل إذا كان لديّ تطبيق بدون id؟

ليس عليك تنفيذ أي إجراء، ولن يحدث أي عطل إذا لم تضف id إلى بيان تطبيق الويب (طالما لم يتغير مسار start_url ومسار البيان). لمواكبة التغييرات المستقبلية في تطبيق الويب التقدّمي (PWA)، يمكنك إضافة سمة id إلى بيان تطبيق الويب.

كيف يمكنني تحديد id وضبطه؟

إنّ الطريقة الأكثر أمانًا والأكثر دقة لتحديد id لتطبيق PWA هي التحقّق من القيمة التي يحتسبها Chrome.

  1. باستخدام الإصدار 96 من Chrome أو الإصدارات الأحدث، افتح لوحة البيان من لوحة التطبيق في "أدوات مطوري البرامج".
  2. مرِّر مؤشر الماوس فوق رمز (!) بجانب السمة رقم تعريف التطبيق. لن يظهر رمز التلميح (!) إلا عندما لا يتم تحديد id في ملف بيان تطبيق الويب.
  3. يُرجى ملاحظة قيمة id المعروضة في نصيحة الأداة (اطّلِع على لقطة الشاشة أدناه).
  4. أضِف السمة id إلى بيان تطبيق الويب باستخدام قيمة id المعروضة في التلميح.

تلميح يعرض قيمة "المعرِّف"

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

ماذا يحدث إذا لم أضبط id؟

لا تقلق، لن يحدث أي عطل. بدءًا من الإصدار 96 من Chrome، سينشئ المتصفّح رمز id في حال عدم توفُّره في ملف البيان استنادًا إلى start_url في بيان تطبيق الويب.

تتيح إضافة id إلى بيان تطبيق الويب إمكانية تغيير start_url ومسار البيان (إذا بقي المصدر كما هو فقط)، لأنّ المتصفّح سيحدِّد تطبيق الويب التقدّمي (PWA) استنادًا إلى id المحدّد، بدلاً من start_url أو مسار البيان.

كيف يمكنني اختبار ذلك؟

لاختبار السلوك، اتّبِع الخطوات التالية:

  1. ثبِّت تطبيق الويب التقدّمي (PWA).
  2. افتح "about://web-app-internals/" واطّلِع على السمة unhashed_app_id وstart_url لتطبيق الويب التقدّمي (PWA) المثبَّت.
  3. يمكنك إضافة السمة id إلى بيان تطبيق الويب باتّباع الخطوات الواردة في المقالة كيف يمكنني تحديد id وإعدادها أعلاه.
  4. أعِد تشغيل المتصفِّح باستخدام chrome://restart، وشغِّل تطبيق الويب التقدّمي (PWA) من about://apps، ثم أغلِق تطبيق الويب التقدّمي (PWA) لفرض إعادة تحميل ملف البيان.
  5. افتح about://web-app-internals/ وتحقَّق من الخاصية manifest_id لتطبيق PWA المثبَّت للتأكّد من أنه لم يتغير.
  6. تغيير start_url في بيان تطبيق الويب
  7. أعِد تشغيل المتصفِّح باستخدام chrome://restart، وشغِّل تطبيق الويب التقدّمي (PWA) من about://apps، ثم أغلِق تطبيق الويب التقدّمي (PWA) لفرض إعادة تحميل ملف البيان.
  8. افتح about://web-app-internals/ وتحقَّق من السمة start_url لتطبيق الويب التقدّمي (PWA) المثبّت للتأكّد من أنّه تم تحديثه على النحو المتوقّع.

مراجع إضافية