استخدام تطبيق ويب تقدّمي (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.

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

بالإضافة إلى ذلك، لمطابقة السلوك الذي يتوقّعه المستخدمون من تطبيقات 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 باستخدام الأداة.

إثبات ملكية التطبيق المتوافق مع الأجهزة الجوّالة في تطبيق 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.

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