الأنشطة على الويب الموثوق بها هي طريقة جديدة لدمج محتوى تطبيق الويب مثل تطبيق الويب التقدّمي (PWA) مع تطبيق Android باستخدام بروتوكول يستند إلى علامات التبويب المخصَّصة.
يحتاج نشاط الويب الموثوق به إلى التحقق من صحة المصادر باستخدام روابط مواد العرض الرقمية، وذلك لعرض المحتوى في وضع ملء الشاشة.
عندما ينتقل مستخدم خارج المصدر الذي تم التحقّق من صحته، يتم عرض واجهة المستخدم في علامة تبويب مخصّصة. يخبر شريط عنوان URL في علامة التبويب المخصصة المستخدمين بأنهم يتنقلون الآن في نطاق خارج التطبيق، مع تزويد المستخدم أيضًا بزر 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>
...
استخدام المشغّل المخصّص
عند استخدام رمز مخصص لتشغيل نشاط ويب موثوق به، يمكن إضافة مصادر إضافية من خلال استدعاء 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's Asset Link الرائعة التي تساعد في تصحيح أخطاء "روابط مواد العرض الرقمية" على التطبيقات المثبَّتة على الجهاز.