عندما يثبّت المستخدم تطبيق الويب التقدّمي (PWA)، يحتاج المتصفّح إلى طريقة لتحديد تطبيق الويب التقدّمي (PWA) بشكلٍ فريد.
تطبيق الويب التقدّمي (PWA). ولكن حتى وقت قريب، لم تتضمن مواصفات بيان تطبيق الويب
ستحدد طريقة لتعريف تطبيق الويب التقدّمي (PWA) بشكلٍ فريد، مع ترك المتصفّحات لاتخاذ القرار
مما يؤدي إلى عمليات تنفيذ مختلفة. في بعض المتصفّحات، يتم تغيير القيمة start_url
بينما في حالات أخرى، يُستخدم المسار إلى ملف البيان، مما يجعل
من المستحيل تحديث أي من هذه الحقول.
لحلّ هذه المشكلة، تتوفّر سمة id
جديدة اختيارية في تطبيق الويب.
بمواصفات البيان، التي تتيح لك تحديد المعرّف المستخدم
تطبيق الويب التقدّمي (PWA). تؤدي إضافة السمة 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.
- باستخدام الإصدار 96 من Chrome أو إصدار أحدث، افتح لوحة البيان في لوحة التطبيق في "أدوات مطوري البرامج".
- مرِّر مؤشر الماوس فوق رمز
(!)
بجانب السمة رقم تعريف التطبيق. تشير رسالة الأشكال البيانية لن يظهر رمز تلميح(!)
إلا عند عدم تحديدid
في ملف بيان تطبيق الويب. - لاحِظ قيمة
id
المعروضة في تلميح الأداة (انظر لقطة الشاشة أدناه). - إضافة سمة
id
إلى بيان تطبيق الويب باستخدام قيمةid
المعروضة في التلميح.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
ماذا يحدث إذا لم يتم ضبط id
؟
لا داعي للقلق، لن تتعطّل أي أجهزة. بدءًا من Chrome 96،
سينشئ المتصفِّح علامة id
في حال عدم توفّر رمز في البيان.
استنادًا إلى start_url
في بيان تطبيق الويب.
تتيح إضافة id
إلى بيان تطبيق الويب إمكانية
تغيير start_url
ومسار البيان (إذا وفقط إذا كانت
المصدر كما هو!)،
لأن المتصفح سوف
تحدّد تطبيق الويب التقدّمي استنادًا إلى السمة id
المحدّدة، بدلاً من start_url
أو
مسار البيان.
كيف يمكنني اختبار ذلك؟
لاختبار السلوك، اتبع الخطوات التالية:
- ثبِّت تطبيق الويب التقدّمي (PWA).
- افتح
about://web-app-internals/
وتحقَّق منunhashed_app_id
السمةstart_url
لتطبيق الويب التقدّمي (PWA) المثبَّت. - عليك إضافة سمة
id
إلى بيان تطبيق الويب باتّباع الخطوات الواردة في كيف أحدّدid
وأضبطه أعلاه. - أعِد تشغيل المتصفّح باستخدام
chrome://restart
، وشغِّل تطبيق الويب التقدّمي منabout://apps
، ثم أغلِق تطبيق الويب التقدّمي (PWA) لفرض إعادة تحميل ملف البيان. - افتح
about://web-app-internals/
وتحقَّق من السمةmanifest_id
بحثًا عن تطبيق الويب التقدّمي (PWA) المثبّت للتأكّد من عدم تغييره - يمكنك تغيير
start_url
في بيان تطبيق الويب. - أعِد تشغيل المتصفّح باستخدام
chrome://restart
، وشغِّل تطبيق الويب التقدّمي منabout://apps
، ثم أغلِق تطبيق الويب التقدّمي (PWA) لفرض إعادة تحميل ملف البيان. - افتح
about://web-app-internals/
وتحقَّق من السمةstart_url
بحثًا عن تطبيق الويب التقدّمي (PWA) المثبَّت للتحقّق من أنّه تم تحديثه على النحو المتوقع.