بدء تطبيق ويب تقدّمي في تطبيق Android
تطبيقات الويب التقدّمية (PWA) هي تطبيقات ويب تستخدم ميزات مشابهة للتطبيقات لإنشاء تجارب عالية الجودة وسريعة وموثوقة وجذابة.
يوفّر الويب نطاقًا واسعًا من الوصول إلى المستخدمين وطرقًا فعّالة لهم لاكتشاف تجارب جديدة. لكنّ المستخدمين معتادون أيضًا على البحث عن التطبيقات في متجر نظام التشغيل. وفي كثير من الحالات، يكون هؤلاء المستخدمون على دراية بالعلامة التجارية أو الخدمة التي يبحثون عنها، ولديهم مستوى عالٍ من النية، ما يؤدي إلى تحقيق مقاييس تفاعل أعلى من المتوسط.
"متجر Play" هو متجر لتطبيقات Android، وغالبًا ما يريد المطوّرون فتح تطبيقات الويب التقدّمية من تطبيقات Android.
النشاط الموثوق به على الويب هو معيار مفتوح يتيح للمتصفّحات توفير حاوية متوافقة تمامًا مع منصة الويب لعرض تطبيقات الويب التقدّمية داخل تطبيق Android. تتوفّر هذه الميزة في Chrome، وهي قيد التطوير في Firefox Nightly.
كانت الحلول الحالية محدودة
كان من الممكن دائمًا تضمين تجارب الويب في تطبيق Android باستخدام تقنيات مثل Android WebView أو أُطر عمل مثل Cordova.
إنّ Android WebView ليس بديلاً عن المتصفّح. فـ Android WebView هو أداة للمطوّرين لاستخدام واجهة مستخدم الويب في تطبيق Android، ولا يوفّر وصولاً كاملاً إلى ميزات منصة الويب الحديثة، مثل أداة اختيار جهات الاتصال أو نظام الملفات، وغيرها.
تم تصميم Cordova لتعزيز أوجه القصور في WebView، ولكنّ واجهات برمجة التطبيقات تقتصر بعد ذلك على بيئة Cordova. يعني ذلك أنّه عليك الاحتفاظ بقاعدة رموز إضافية لاستخدام Cordova APIs لتطبيق Android، منفصلة عن تطبيق الويب التقدّمي على الويب المفتوح.
بالإضافة إلى ذلك، غالبًا ما لا يعمل اكتشاف الميزات على النحو المتوقّع، ويمكن أن تكون مشاكل التوافق بين إصدارات Android ومصنّعي المعدات الأصلية مشكلة أيضًا. عند استخدام أحد هذه الحلول، يحتاج المطوّرون إلى عمليات إضافية لضمان الجودة ويتحمّلون تكلفة تطوير إضافية لرصد المشاكل وإنشاء حلول بديلة.
النشاط الموثوق به على الويب هو حاوية جديدة لتطبيقات الويب على Android
يمكن للمطوّرين الآن استخدام نشاط موثوق به على الويب كحاوية لتضمين تطبيق ويب تقدّمي كنشاط تشغيل لتطبيق Android. تستفيد هذه التقنية من المتصفّح لعرض تطبيق الويب التقدّمي بملء الشاشة، ما يضمن أنّ النشاط الموثوق به على الويب يتوافق مع ميزات وواجهات برمجة تطبيقات منصة الويب التي يتوافق معها المتصفّح الأساسي. تتوفّر أيضًا أدوات مفتوحة المصدر لتسهيل تنفيذ تطبيق Android باستخدام "نشاط موثوق به على الويب".
ميزة أخرى لا تتوفّر في الحلول الأخرى هي أنّ الحاوية تشارك مساحة التخزين مع المتصفّح. تتم مشاركة حالات تسجيل الدخول وإعدادات المستخدمين المفضّلة بسلاسة بين التجارب.
توافق المتصفّح
تتوفّر هذه الميزة في Chrome منذ الإصدار 75، وقد نفّذها Firefox في الإصدار الليلي.
معايير الجودة
على مطوّري الويب استخدام "نشاط موثوق به على الويب" عندما يريدون تضمين محتوى الويب في تطبيق Android.
يجب أن يستوفي محتوى الويب في "نشاط موثوق به على الويب" معايير إمكانية تثبيت تطبيق الويب التقدّمي.
بالإضافة إلى ذلك، ولمطابقة السلوك الذي يتوقّعه المستخدمون من تطبيقات Android، قدّم Chrome 86 تغييرًا يُعتبر فيه عدم التعامل مع السيناريوهات التالية عطلاً:
- تعذُّر التحقّق من روابط تنقل إلى مواد عرض رقمية عند تشغيل التطبيق
- تعذُّر عرض رمز HTTP 200 لطلب مورد شبكة غير متوفّر بلا إنترنت
- طلب تنقّل يعرض خطأ HTTP 404 أو 5xx
عند حدوث أحد هذه السيناريوهات في "نشاط موثوق به على الويب"، يؤدي ذلك إلى حدوث عطل في تطبيق Android يظهر للمستخدم. يمكنك الاطّلاع على الإرشادات بشأن التعامل مع هذه السيناريوهات في مشغّل الخدمات.
يجب أن يستوفي التطبيق أيضًا معايير إضافية خاصة بنظام Android، مثل الامتثال للسياسة.
الأدوات
لا يحتاج مطوّرو الويب الذين يريدون الاستفادة من "نشاط موثوق به على الويب" إلى تعلُّم تقنيات أو واجهات برمجة تطبيقات جديدة لتحويل تطبيق الويب التقدّمي إلى تطبيق Android. يوفّر كلّ من Bubblewrap وPWABuilder أدوات للمطوّرين في شكل مكتبة وواجهة سطر أوامر وواجهة مستخدم رسومية.
Bubblewrap
ينشئ مشروع Bubblewrap تطبيقات Android في شكل مكتبة NodeJS وواجهة سطر أوامر.
يمكنك إعداد مشروع جديد عن طريق تشغيل الأداة وتمرير عنوان URL لبيان الويب:
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 بتطبيق الويب التقدّمي باستخدام أداة تُعرف باسم روابط تنقل إلى مواد عرض رقمية.
يتولّى كلّ من Bubblewrap وPWABuilder إعداد الضبط اللازم على تطبيق Android، ولكن تتبقى خطوة أخيرة، وهي إضافة ملف assetlinks.json إلى تطبيق الويب التقدّمي.
لإنشاء هذا الملف، يحتاج المطوّرون إلى توقيع SHA-256 للمفتاح المستخدَم لتوقيع حزمة APK التي ينزّلها المستخدمون.
يمكن إنشاء المفتاح بعدة طرق، وأسهل طريقة للعثور على المفتاح الذي وقّع حزمة APK التي يتم عرضها للمستخدمين النهائيين هي تنزيلها من "متجر Play" نفسه.
لتجنُّب عرض تطبيق معطّل للمستخدمين، عليك نشر التطبيق في قناة اختبار مغلقة وتثبيته على جهاز اختبار، ثم استخدام أداة Peter's Asset Link Tool لإنشاء ملف assetlinks.json الصحيح للتطبيق. يجب إتاحة ملف assetlinks.json الذي تم إنشاؤه على /.well-known/assetlinks.json في النطاق الذي يتم التحقّق منه.
الخطوات التالية
تطبيق الويب التقدّمي هو تجربة ويب عالية الجودة. "النشاط الموثوق به على الويب" هو طريقة جديدة لفتح هذه التجارب العالية الجودة من تطبيق Android عندما تستوفي الحد الأدنى من معايير الجودة.
إذا كنت بصدد بدء استخدام تطبيقات الويب التقدّمية، يمكنك قراءة إرشاداتنا حول كيفية إنشاء تطبيق ويب تقدّمي رائع. بالنسبة إلى المطوّرين الذين لديهم تطبيق ويب تقدّمي، يمكنهم استخدام Lighthouse للتحقّق مما إذا كان يستوفي معايير الجودة.
بعد ذلك، يمكنك استخدام Bubblewrap أو PWABuilder لإنشاء تطبيق Android، تحميل التطبيق إلى قناة اختبار مغلقة على "متجر Play" وإقرانه بتطبيق الويب التقدّمي باستخدام أداة Peter's Asset Link Tool.
أخيرًا، يمكنك نقل تطبيقك من قناة الاختبار المغلقة إلى الإصدار العلني.