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