قد يكون من الصعب إعداد "أنشطة الويب الموثوقة"، خاصةً إذا كنت تريد عرض موقعك الإلكتروني فقط. يعلّمك هذا الدليل كيفية إنشاء مشروع صغير يستخدم "أنشطة الويب الموثوقة".
في نهاية هذا الدليل، ستتمكّن من:
- استخدام Bubblewrap لإنشاء تطبيق يستخدم النشاط الموثوق به على الويب ويجتاز عملية التحقّق.
- التعرّف على الحالات التي يتم فيها استخدام مفاتيح التوقيع
- أن يكون بإمكانك تحديد التوقيع الذي يتم إنشاء تطبيق Android باستخدامه.
- معرفة كيفية إنشاء ملف روابط تنقل إلى مواد عرض رقمية أساسي
لاتّباع هذا الدليل، يجب توفُّر ما يلي:
- Node.js 10 أو إصدار أحدث
- هاتف Android أو محاكي Android، تم ربطه وإعداده للتطوير فعِّل تصحيح أخطاء الجهاز عبر USB إذا كنت تستخدم هاتفًا حقيقيًا.
- متصفّح على الجهاز الجوّال يتوافق مع "النشاط الموثوق به على الويب"
- موقع إلكتروني تريد عرضه في "النشاط الموثوق به على الويب"
يمكنك استخدام النشاط الموثوق به على الويب لتطبيق Android من أجل إطلاق علامة تبويب متصفّح بملء الشاشة، بدون أي واجهة مستخدم للمتصفّح. تقتصر هذه الإمكانية على المواقع الإلكترونية التي تملكها. يمكنك إثبات الملكية من خلال إعداد روابط تنقل إلى مواد عرض رقمية.
عند إطلاق النشاط الموثوق به على الويب، يتحقّق المتصفّح من صحة روابط تنقل إلى مواد عرض رقمية. في حال تعذُّر إثبات الملكية، يعود المتصفّح إلى عرض موقعك الإلكتروني على شكل علامة تبويب مخصّصة.
تثبيت Bubblewrap وإعداده
Bubblewrap هي مجموعة من المكتبات وأداة سطر أوامر (CLI) لـ Node.js تساعد المطوّرين في إنشاء تطبيقات ويب تقدّمية وتجميعها وتشغيلها داخل تطبيقات Android باستخدام النشاط الموثوق به على الويب.
ثبِّت واجهة سطر الأوامر من خلال تنفيذ الأمر التالي:
npm i -g @bubblewrap/cli
إعداد البيئة
عند تشغيل Bubblewrap لأول مرة، سيُطلب منك تنزيل وتثبيت التبعيات الخارجية المطلوبة تلقائيًا. ننصح بالسماح بعمليات التنزيل التلقائي لأنّها تساعد في ضمان ضبط التبعيات بشكل صحيح. راجِع مستندات Bubblewrap لاستخدام حزمة تطوير Java (JDK) حالية أو تثبيت أدوات سطر الأوامر في Android.
إعداد المشروع وإنشاؤه
ابدأ مشروع Android يغلّف تطبيق ويب تقدّميًا:
bubblewrap init --manifest=https://my-twa.com/manifest.json
يقرأ Bubblewrap بيان التطبيق على الويب، ويطلب من المطوّرين تأكيد القيم التي سيتم استخدامها في مشروع Android، ثم ينشئ المشروع باستخدام هذه القيم.
بعد إنشاء المشروع، أنشئ حزمة APK من خلال تنفيذ ما يلي:
bubblewrap build
تشغيل
تنتج خطوة الإنشاء ملفًا باسم app-release-signed.apk. ويمكن تثبيت هذا الملف على جهاز تطوير لاختبار التطبيق أو تحميله إلى "متجر Play" لإصداره.
توفّر أداة Bubblewrap أمرًا لتثبيت التطبيق واختباره على جهاز محلي. بعد توصيل جهاز التطوير بالكمبيوتر، نفِّذ ما يلي:
bubblewrap install
يمكنك بدلاً من ذلك استخدام أداة adb.
adb install app-release-signed.apk
من المفترض أن يصبح التطبيق متاحًا الآن في مشغّل التطبيقات على الجهاز.
عند فتح التطبيق، ستلاحظ أنّه يتم تشغيل موقعك الإلكتروني كعلامة تبويب مخصّصة، وليس كنشاط ويب موثوق به. ويرجع ذلك إلى أنّنا لم نضبط إعدادات التحقّق من صحة روابط تنقل إلى مواد عرض رقمية بعد.
بدائل لواجهة المستخدم التصويرية (GUI) في Bubblewrap
توفّر أداة PWA Builder واجهة مستخدم رسومية تستخدم مكتبة Bubblewrap لتفعيل إنشاء مشاريع "نشاط موثوق به على الويب". يمكنك الاطّلاع على تعليمات حول كيفية استخدام PWA Builder لإنشاء تطبيق Android يفتح تطبيق الويب التقدّمي.
مفاتيح التوقيع
تأخذ روابط تنقل إلى مواد عرض رقمية في الاعتبار المفتاح الذي تم توقيع حزمة APK به، والسبب الشائع لتعذُّر إكمال عملية التحقّق هو استخدام توقيع غير صحيح. (تذكَّر أنّ عدم إكمال عملية إثبات الملكية يعني أنّك ستطلق موقعك الإلكتروني كعلامة تبويب مخصّصة مع واجهة مستخدم المتصفّح في أعلى الصفحة). عندما ينشئ Bubblewrap التطبيق، سيتم إنشاء حزمة APK باستخدام مفتاح تم إعداده خلال الخطوة init. ومع ذلك، عند نشر تطبيقك على Google Play، قد يتم إنشاء مفتاح آخر لك، وذلك حسب طريقة اختيارك للتعامل مع مفاتيح التوقيع. مزيد من المعلومات حول مفاتيح التوقيع وعلاقتها بـ Bubblewrap وGoogle Play
إعداد ملف ربط مواد العرض
تتألف روابط تنقل إلى مواد عرض رقمية بشكل أساسي من ملف على موقعك الإلكتروني يشير إلى تطبيقك وبعض البيانات الوصفية في تطبيقك تشير إلى موقعك الإلكتروني.
بعد إنشاء ملف assetlinks.json، حمِّله إلى موقعك الإلكتروني على .well-known/assetlinks.json بالنسبة إلى الجذر) ليتمكّن المتصفّح من إثبات ملكية تطبيقك بشكل صحيح. يمكنك الاطّلاع على شرح تفصيلي حول روابط تنقل إلى مواد عرض رقمية للحصول على مزيد من المعلومات حول كيفية ارتباطها بمفتاح التوقيع.
التحقّق من المتصفّح
سيحاول "النشاط الموثوق به على الويب" الالتزام بخيار المتصفّح التلقائي للمستخدم. إذا كان المتصفّح التلقائي للمستخدم يتيح استخدام "أنشطة الويب الموثوقة"، سيتم تشغيله. وفي حال عدم توفّر ذلك، سيتم اختيار أي متصفّح مثبَّت يتوافق مع "أنشطة الويب الموثوقة". أخيرًا، يكون السلوك التلقائي هو الرجوع إلى وضع "علامات التبويب المخصّصة".
وهذا يعني أنّه إذا كنت بصدد تصحيح خطأ مرتبط بأنشطة الويب الموثوقة، عليك التأكّد من أنّك تستخدم المتصفّح الذي تعتقد أنّك تستخدمه. يمكنك استخدام الأمر التالي للتحقّق من المتصفّح المستخدَم:
> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome
الخطوات التالية
نأمل أن يكون لديك الآن تطبيق يعمل باستخدام Trusted Web Activity، وأن تكون لديك المعرفة الكافية لتحديد المشاكل وحلّها في حال تعذّر إثبات الملكية، وذلك إذا اتّبعت هذا الدليل. إذا لم يكن الأمر كذلك، يمكنك الاطّلاع على المزيد من مفاهيم Android لمطوّري الويب.
لمعرفة الخطوات التالية، أنشئ رمزًا لتطبيقك. بعد الانتهاء من ذلك، يمكنك التفكير في نشر تطبيقك على "متجر Play".