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