استخدام تطبيق ويب تقدّمي (PWA) في تطبيق Android

تطبيقات الويب التقدّمية (PWA) هي تطبيقات ويب تستخدم ميزات شبيهة بالتطبيقات لإنشاء تجارب عالية الجودة سريعة وموثوقة وتفاعلية.

تتمتع الويب بمدى وصول هائل وتقدّم طرقًا فعّالة للمستخدمين لاستكشاف تجارب جديدة. ولكن اعتاد المستخدمون أيضًا البحث عن التطبيقات في متجر نظام التشغيل. ويكون هؤلاء المستخدمون، في كثير من الحالات، على دراية بالعلامة التجارية أو الخدمة التي يبحثون عنها ولديهم مستوى عالٍ من الوعي بالهدف، مما يؤدي إلى تحقيق مقاييس تفاعل أعلى من المتوسط.

"متجر Play" هو متجر لتطبيقات Android، وغالبًا ما يحتاج المطوّرون إلى فتح "تطبيقات الويب التقدّمية" من خلال تطبيقاتهم على Android.

"النشاط الموثوق به على الويب" هو معيار مفتوح يسمح للمتصفّحات بتوفير حاوية متوافقة تمامًا مع منصة الويب لعرض تطبيقات الويب التقدّمية داخل تطبيق Android. تتوفّر الميزة في Chrome، وهي قيد التطوير في Firefox Nightly.

كانت الحلول الحالية محدودة

كان من الممكن دائمًا تضمين تجارب الويب في تطبيق Android باستخدام تقنيات مثل Android WebView أو إطارات عمل مثل Cordova.

يتمثل الحد الأقصى لاستخدام Android WebView في أنّه غير مُعد كبديل للمتصفّح. ‫Android WebView هي أداة للمطوّرين لاستخدام واجهة مستخدم الويب في تطبيق Android، ولا توفّر إمكانية الوصول الكامل إلى ميزات منصة الويب الحديثة، مثل أداة اختيار جهات الاتصال أو نظام الملفات، وغيرها.

تم تصميم Cordova لزيادة أوجه القصور في WebView، ولكن تقتصر واجهات برمجة التطبيقات بعد ذلك على بيئة Cordova. وهذا يعني أنّك بحاجة إلى الاحتفاظ بقاعدة بيانات إضافية لاستخدام واجهات برمجة تطبيقات Cordova لتطبيق Android، منفصلة عن تطبيق الويب التقدّمي على الويب المفتوح.

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

"النشاط الموثوق به على الويب" هو حاوية جديدة لتطبيقات الويب على Android

يمكن للمطوّرين الآن استخدام نشاط ويب موثوق كسِمة حاوية لتضمين تطبيق متوافق مع الأجهزة الجوّالة (PWA) كنشاط بدء لتطبيق Android. وتستفيد التكنولوجيا من المتصفّح لعرض تطبيق متوافق مع الأجهزة الجوّالة (PWA) في وضع ملء الشاشة، مما يضمن أنّ نشاط الويب الموثوق يتوافق مع ميزات منصّة الويب وواجهات برمجة التطبيقات بالطريقة نفسها التي يتوافق بها المتصفّح الأساسي. هناك أيضًا أدوات مساعدة مفتوحة المصدر لجعل تنفيذ تطبيق Android باستخدام نشاط الويب الموثوق به أكثر سهولة.

من المزايا الأخرى غير المتاحة في الحلول الأخرى أنّ الحاوية تشارك مساحة التخزين مع المتصفّح. تتم مشاركة حالات تسجيل الدخول والإعدادات المفضّلة للمستخدمين بسلاسة في جميع التجارب.

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

كانت هذه الميزة متاحة في Chrome منذ الإصدار 75، ونفّذ Firefox هذه الميزة في الإصدار الليلي.

معايير الجودة

يجب على مطوري الويب استخدام "نشاط موثوق به على الويب" عندما يريدون تضمين محتوى ويب في أحد تطبيقات Android.

يجب أن يستوفي محتوى الويب في نشاط الويب الموثوق به معايير قابلية تثبيت تطبيق الويب التقدّمي (PWA).

بالإضافة إلى ذلك، لمطابقة السلوك الذي يتوقّعه المستخدمون من تطبيقات Android، أدخَل Chrome 86 تغييرًا يُعتبر فيه تعذُّر معالجة السيناريوهات التالية ناتجًا عن تعطُّل:

  • تعذّر التحقّق من روابط مواد العرض الرقمية عند إطلاق التطبيق.
  • تعذُّر عرض رمز الحالة HTTP 200 لطلب مورد شبكة بلا إنترنت
  • طلب تنقّل يعرض خطأ HTTP 404 أو 5xx

وعندما يحدث أحد هذه السيناريوهات في نشاط الويب الموثوق به، فإن ذلك يتسبب في حدوث تعطُّل مرئي للمستخدم لتطبيق Android. اطّلِع على الإرشادات حول التعامل مع هذه السيناريوهات في خدمة worker.

يجب أن يستوفي التطبيق أيضًا معايير إضافية خاصة بنظام التشغيل Android، مثل الامتثال للسياسة.

لقطة شاشة تعرض نتيجة Lighthouse لتطبيق AirHorn، مع شارة تطبيق الويب التقدّمي ونتيجة أداء تبلغ 100
تعرض شارة تطبيق الويب التقدّمي (PWA) في Lighthouse ما إذا كان تطبيقك يستوفي معايير قابلية التثبيت.

الأدوات

لا يحتاج مطوّرو الويب الذين يريدون الاستفادة من ميزة "النشاط الموثوق به على الويب" إلى تعلُّم تكنولوجيات أو واجهات برمجة تطبيقات جديدة لتحويل تطبيق الويب التقدّمي إلى تطبيق Android. يقدّم كلّ من Bubblewrap و PWABuilder معًا أدوات للمطوّرين في شكل مكتبة وواجهة سطر أوامر و واجهة مستخدم تصويرية.

أغلفة التعبئة الفقاعية

ينشئ مشروع Bubblewrap تطبيقات Android في شكل مكتبة NodeJS وواجهة سطر أوامر (CLI).

يتمّ إعداد مشروع جديد من خلال تشغيل الأداة وضبط عنوان URL لملف Web Manifest:

npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json

يمكن للأداة أيضًا إنشاء المشروع، وسيؤدي تشغيل الأمر أدناه إلى إخراج تطبيق Android جاهز للتحميل إلى متجر Play:

npx @bubblewrap/cli build

بعد تنفيذ هذا الأمر، سيتوفّر ملف باسم app-release-signed.apk في الدليل العميق للمشروع. هذا هو الملف الذي سيتم تحميله إلى "متجر Play".

PWABuilder

يساعد تطبيق PWABuilder المطوّرين في تحويل المواقع الإلكترونية الحالية إلى تطبيقات ويب تقدّمية. ويمكن أيضًا دمجها مع Bubblewrap لتوفير واجهة مستخدم رسومية لتحويل تطبيقات الويب هذه إلى تطبيقات Android. وقد أعدّ فريق PWABuilder مقالة مدونة رائعة حول كيفية إنشاء تطبيق Android باستخدام الأداة.

إثبات ملكية تطبيق الويب التقدّمي (PWA) في تطبيق Android

لن يرغب مطوّر ينشئ تطبيق ويب تقدّميًا رائعًا في أن ينشئ مطوّر آخر تطبيق Android باستخدامه بدون إذنه. لضمان عدم حدوث ذلك، يجب إقران تطبيق Android بتطبيق الويب التقدّمي باستخدام أداة تُسمى Digital Asset Links.

يتولى Bubblewrap وPWABuilder ضبط الإعدادات اللازمة في تطبيق Android، ولكن تبقى هناك خطوة أخيرة، وهي إضافة ملف assetlinks.json إلى تطبيق الويب التقدّمي.

لإنشاء هذا الملف، يحتاج المطوّرون إلى توقيع SHA-256 للمفتاح المستخدَم لتوقيع حزمة APK التي يتم تنزيلها من قِبل المستخدمين.

ويمكن إنشاء المفتاح بعدة طرق، وتتمثل أسهل طريقة لمعرفة المفتاح الذي وقّع ملف APK الذي يتم عرضه للمستخدمين النهائيين في تنزيله من "متجر Play" نفسه.

لتجنُّب عرض تطبيق يتضمّن أخطاء للمستخدمين، يمكنك نشر التطبيق على قناة اختبار مغلق وتثبيته على جهاز اختبار، ثم استخدام أداة ربط مواد العرض من Peter لمحاولة إنشاء ملف assetlinks.json الصحيح للتطبيق. عليك إتاحة ملف assetlinks.json الذي تم إنشاؤه على /.well-known/assetlinks.json في النطاق الذي يتم إثبات ملكيته.

الخطوات التالية

تطبيق الويب التقدّمي هو تجربة ويب عالية الجودة. "النشاط الموثوق به على الويب" هو طريقة جديدة لفتح هذه التجارب العالية الجودة من تطبيق Android عندما يستوفي الحد الأدنى من معايير الجودة.

إذا كنت بصدد بدء استخدام تطبيقات الويب التقدّمية، يمكنك الاطّلاع على إرشاداتنا حول كيفية إنشاء تطبيق ويب تقدّمي رائع. بالنسبة إلى المطوّرين الذين لديهم تطبيق متوافق مع معايير التطبيقات المصمّمة للأجهزة الجوّالة، يمكنهم استخدام أداة Lighthouse للتحقّق مما إذا كان التطبيق يستوفي معايير الجودة.

بعد ذلك، استخدِم Bubblewrap أو PWABuilder لإنشاء تطبيق Android، حمِّل التطبيق إلى قناة اختبار مغلقة على "متجر Play" واربطه بتطبيق الويب التقدّمي باستخدام أداة ربط مواد العرض من Peter.

وأخيرًا، انقل طلبك من قناة الاختبار المغلقة إلى قناة الإصدار العلني.