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

بدء تطبيق ويب تقدّمي في تطبيق Android

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

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

متجر Google 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. تستفيد هذه التكنولوجيا من المتصفّح لعرض تطبيق الويب التقدّمي في وضع ملء الشاشة، ما يضمن توافق النشاط الموثوق به على الويب مع ميزات منصة الويب وواجهات برمجة التطبيقات التي يستخدمها المتصفّح الأساسي. تتوفّر أيضًا برامج مفتوحة المصدر لتسهيل تنفيذ تطبيق Android باستخدام "النشاط الموثوق به على الويب".

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

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

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

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

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

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

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

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

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

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

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

الأدوات

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

Bubblewrap

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

يمكن بدء مشروع جديد من خلال تشغيل الأداة وتمرير عنوان URL لملف بيان الويب:

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

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

npx @bubblewrap/cli build

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

PWABuilder

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

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

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

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

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

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

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

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

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

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

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

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