قد يكون من الصعب إعداد "أنشطة الويب الموثوق بها"، خاصةً إذا كان كل ما تريده هو عرض موقعك الإلكتروني. سيرشدك هذا الدليل إلى إنشاء مشروع أساسي يستخدم "أنشطة الويب الموثوق بها"، ويتناول كل المشاكل المحتملة.
بنهاية هذا الدليل، ستتمكّن من:
- استخدام Bubblewrap لإنشاء تطبيق يستخدِم "نشاط موثوق به على الويب" ويجتاز عملية التحقّق
- التعرّف على الحالات التي يتم فيها استخدام مفاتيح التوقيع
- أن يكون بإمكانك تحديد التوقيع الذي يتم إنشاء تطبيق Android باستخدامه
- تعرَّف على كيفية إنشاء ملف روابط مواد العرض الرقمية أساسي.
اتّباع هذا الدليل يتطلّب ما يلي:
- تثبيت الإصدار 10 من Node.js أو إصدار أحدث على جهاز الكمبيوتر المخصّص للتطوير
- هاتف Android أو محاكي متصل ومُعدّ للتطوير (فعِّل تصحيح أخطاء USB إذا كنت تستخدم هاتفًا فعليًا).
- متصفّح متوافق مع ميزة "النشاط الموثوق به على الويب" على هاتف المطوّر يمكنك استخدام الإصدار 72 من Chrome أو الإصدارات الأحدث. وسيتم توفيرها في المتصفّحات الأخرى قريبًا.
- موقع إلكتروني تريد عرضه في "النشاط الموثوق به على الويب"
يتيح "نشاط الويب الموثوق" لتطبيق Android تشغيل علامة تبويب متصفح بملء الشاشة بدون أي واجهة مستخدم للمتصفح. تقتصر هذه الميزة على المواقع الإلكترونية التي تملكها، ويمكنك إثبات ذلك من خلال إعداد روابط مواد العرض الرقمية. سنتحدث أكثر عن هذه الميزات لاحقًا.
عند إطلاق نشاط ويب موثوق، سيتحقّق المتصفّح من أنّ عملية التحقّق من روابط التنقل إلى مواد العرض الرقمية قد اكتملت، ويُطلق على هذه العملية اسم التحقّق. إذا تعذّر إثبات الملكية، سيعود المتصفّح إلى عرض موقعك الإلكتروني كأحد علامات التبويب المخصّصة.
تثبيت Bubblewrap وضبطه
Bubblewrap هي مجموعة من المكتبات وأداة سطر برمجي (CLI) لـ Node.js تساعد المطوّرين في إنشاء تطبيقات الويب التقدّمية وبنائها وتشغيلها داخل تطبيقات Android باستخدام ميزة "النشاط الموثوق به على الويب".
يمكن تثبيت واجهة برمجة التطبيقات باستخدام الأمر التالي:
npm i -g @bubblewrap/cli
إعداد البيئة
عند تشغيل Bubblewrap لأول مرة، سيُعرض عليك تنزيل التبعيات الخارجية المطلوبة وتثبيتها تلقائيًا. ننصحك بالسماح للأداة بتنفيذ ذلك، لأنّها تضمن ضبط التبعيات بشكل صحيح. اطّلِع على مستندات Bubblewrap لاستخدام JDK (مجموعة تطوير Java) أو تثبيت أدوات سطر أوامر Android حالية.
بدء المشروع وإنشاؤه
يتم بدء مشروع Android الذي يُغلِّف تطبيقًا متوافقًا مع الأجهزة الجوّالة من خلال تشغيل الأمر init:
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 لإنشاء مشاريع "نشاط موثوق به على الويب". يمكنك الاطّلاع على مزيد من التعليمات حول كيفية استخدام أداة إنشاء تطبيقات الويب التقدّمية لإنشاء تطبيق 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
الخطوات التالية
نأمل أن يكون لديك نشاط ويب موثوق به يعمل بشكل صحيح بعد اتّباع هذا الدليل، وأن يكون لديك معرفة كافية لتصحيح الأخطاء التي تحدث عند تعذُّر إثبات الملكية. إذا لم يكن الأمر كذلك، يمكنك الاطّلاع على المزيد من مفاهيم Android لمطوّري الويب أو الإبلاغ عن مشكلة في GitHub بشأن هذه المستندات.
بالنسبة إلى خطواتك التالية، أنصحك بالبدء بإنشاء رمز لتطبيقك. بعد الانتهاء من ذلك، يمكنك التفكير في نشر تطبيقك على "متجر Play".