أنشطة الويب الموثوق بها هي طريقة جديدة لدمج محتوى تطبيق الويب مثل تطبيق الويب التقدّمي (PWA) مع تطبيق Android باستخدام بروتوكول يستند إلى علامات التبويب المخصصة.
يحتاج نشاط الويب الموثوق به إلى أن يتم التحقق من المصادر التي يتم فتحها باستخدام روابط مواد العرض الرقمية، بهدف عرض المحتوى بملء الشاشة.
عندما ينتقل مستخدم خارج المصدر الذي تم التحقّق منه، يتم عرض واجهة مستخدم علامة تبويب مخصَّصة. شريط عنوان URL في قسم مخصص تخبر مفتاح التبويب (Tab) المستخدمين الذين ينتقلون الآن في نطاق خارج التطبيق، أثناء توفير زر X للمستخدم الذي يتيح له العودة بسرعة إلى المصدر الذي تم التحقّق منه.
ولكن من الشائع أيضًا أن تنشئ تطبيقات الويب تجارب تمتد من أصول متعددة - مثال سيكون تطبيق تسوق يضم التجربة الرئيسية على الموقع الإلكتروني www.example.com، في حين أن عملية الدفع على checkout.example.com.
وفي مثل هذه الحالات، يكون من غير المستحسن عرض علامات التبويب المخصصة، ليس فقط لأن المستخدم ولكن أيضًا لأن الشريط العلوي قد يجعل المستخدم يعتقد أنه ترك التطبيق وتجاهل عملية الدفع.
تتيح "أنشطة الويب الموثوق بها" للمطوّرين التحقّق من صحة مصادر متعددة، وسيظل المستخدم ملء الشاشة عند التنقّل بين هذه المصادر وكما هو الحال مع النطاق الرئيسي، يجب أن يكون مطور البرامج قادرًا على التحكم في كل أصل تم التحقق من صحته.
إعداد عملية التحقّق من المصادر المتعددة
وكما هي الحال في الأساس، يتم التحقق من الصحة من خلال روابط مواد العرض الرقمية، ويجب أن يكون كل نطاق بعد التحقق من صحته يجب أن يكون له ملف assetlinks.json الخاص به.
إضافة ملف assetlinks إلى كل مصدر
في المثال الذي ذكرناه بخصوص www.example.com وcheckout.example.com، سيكون الناتج:
https://www.example.com/.well-known/assetlinks.json
https://checkout.example.com/.well-known/assetlinks.json
نظرًا لأنه يتم ربط كل نطاق بتطبيق Android نفسه، يتم تخزين ملفات assetlinks.json
تبدو متشابهة تمامًا.
بافتراض أن اسم حزمة تطبيق Android هو com.example.twa
، سيكون كلاهما assetlink.json
على شيء مشابه لما يلي:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": ["..."]}
}]
إضافة أصول متعددة إلى تطبيق Android
في تطبيق Android، يجب تعديل بيان asset_statements
ليتضمن جميع
المصادر التي يجب التحقّق منها:
<string name="asset_statements">
[{
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://www.example.com\"
}
}],
[{
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://checkout.example.com\"
}
}],
</string>
إضافة مصادر أخرى إلى LauncherActivity
استخدام LauncherActivity التلقائي
LauncherActivity
الذي هو جزء من مكتبة دعم android-browser-helper
توفّر طريقة لإضافة مصادر متعدّدة ليتم التحقّق منها من خلال ضبط مشروع Android.
أولاً، أضِف عنصر string-array
إلى ملف res/values/strings.xml
. يتم تضمين كل عنوان URL إضافي
التي تم التحقق من صحتها ضمن عنصر item
الفرعي:
...
<string-array name="additional_trusted_origins">
<item>https://www.google.com</item>
</string-array>
...
بعد ذلك، أضِف علامة meta-data
جديدة داخل عنصر النشاط الحالي الذي يشير إلى
LauncherActivity
، داخل AndroidManifest.xml
:
...
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/app_name">
<meta-data
android:name="android.support.customtabs.trusted.ADDITIONAL_TRUSTED_ORIGINS"
android:resource="@array/additional_trusted_origins" />
...
</activity>
...
استخدام LauncherActivity مخصّص
عند استخدام رمز مخصّص لبدء نشاط موثوق به على الويب، يمكن إضافة مصادر إضافية من خلال
طلب setAdditionalTrustedOrigins
عند إنشاء Intent لإطلاق "النشاط الموثوق به على الويب":
public void launcherWithMultipleOrigins(View view) {
List<String> origins = Arrays.asList(
"https://checkout.example.com/"
);
TrustedWebActivityIntentBuilder builder = new TrustedWebActivityIntentBuilder(LAUNCH_URI)
.setAdditionalTrustedOrigins(origins);
new TwaLauncher(this).launch(builder, null, null);
}
الخاتمة
باستخدام هذه الخطوات، يصبح "النشاط الموثوق به على الويب" جاهزًا الآن لدعم الأصول المتعدّدة. يحتوي android-browser-helper على نموذج تطبيق لأنشطة الويب الموثوق بها متعددة المصادر. الماركة تأكد من التحقق منه.
تحديد المشاكل وحلّها
ثمة بعض العناصر المتغيرة في عملية إعداد ميزة "روابط مواد العرض الرقمية". إذا كان التطبيق لا يزال يعرض شريط علامات التبويب المخصصة بالأعلى، يُحتمل أن يكون هناك خطأ في التهيئة.
يتضمن دليل البدء السريع لنشاط الويب الموثوق به قسمًا رائعًا لتحديد المشاكل وحلّها حول كيفية وتصحيح الأخطاء في روابط مواد العرض الرقمية.
هناك أيضًا أداة رابط مواد العرض من Peter الرائعة التي تساعد في تصحيح أخطاء روابط مواد العرض الرقمية. على التطبيقات المثبتة على الجهاز.