Trusted Web Activities راه جدیدی برای ادغام محتوای برنامه وب شما مانند 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
از آنجایی که هر دامنه به یک برنامه اندروید متصل میشود، فایلهای 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، اظهارنامه 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's Asset Link Tool وجود دارد که به اشکال زدایی پیوندهای دارایی دیجیتال در برنامههای نصب شده روی دستگاه کمک میکند.