एक से ज़्यादा जगहों पर की जाने वाली भरोसेमंद वेब गतिविधियां

भरोसेमंद वेब गतिविधियां, आपके वेब ऐप्लिकेशन कॉन्टेंट को इंटिग्रेट करने का नया तरीका हैं, जैसे कि पीडब्ल्यूए आपके Android ऐप्लिकेशन के लिए, कस्टम टैब पर आधारित प्रोटोकॉल का इस्तेमाल करना.

ff-ऑरिजिन नेविगेशन

भरोसेमंद वेब गतिविधि के लिए, खोले जाने वाले ऑरिजिन का इस्तेमाल करके पुष्टि करना ज़रूरी है डिजिटल ऐसेट लिंक, ताकि कॉन्टेंट को फ़ुल-स्क्रीन में दिखाया जा सके.

जब कोई उपयोगकर्ता पुष्टि किए गए ऑरिजिन से बाहर जाता है, तो कस्टम टैब का यूज़र इंटरफ़ेस (यूआई) दिखता है. कस्टम टैब उपयोगकर्ताओं को यह बताता है कि वे अब ऐप्लिकेशन के बाहर किसी डोमेन में नेविगेट कर रहे हैं और साथ ही इससे उपयोगकर्ता को X बटन दिया जाता है, ताकि वह पुष्टि किए गए ऑरिजिन पर तुरंत वापस आ सके.

हालांकि, वेब ऐप्लिकेशन के लिए ऐसे अनुभव बनाना भी सामान्य बात है जो एक से ज़्यादा ऑरिजिन से जुड़े होते हैं - एक उदाहरण चेकआउट के समय, www.example.com पर मुख्य तौर पर इस्तेमाल किया जाने वाला शॉपिंग ऐप्लिकेशन होगा फ़्लो checkout.example.com पर होस्ट किया जाता है.

ऐसे मामलों में, कस्टम टैब दिखाना अवांछनीय है, न कि सिर्फ़ इसलिए क्योंकि उपयोगकर्ता साथ ही, ऐप्लिकेशन में सबसे ऊपर मौजूद बार में यह भी हो सकता है कि उपयोगकर्ता को यह लगे कि उसने ऐप्लिकेशन बंद कर दिया है और चेकआउट प्रोसेस को बीच में छोड़ दें.

भरोसेमंद वेब गतिविधियों की मदद से, डेवलपर एक से ज़्यादा ऑरिजिन की पुष्टि कर सकते हैं. साथ ही, उपयोगकर्ता इसमें बना रहता है फ़ुल-स्क्रीन पर दिखने की कोशिश करते हैं. मुख्य डोमेन की तरह ही, डेवलपर को हर पुष्टि किए गए ऑरिजिन को कंट्रोल कर सकती है.

एक से ज़्यादा ऑरिजिन के लिए पुष्टि करने की सुविधा सेट अप करना

मुख्य तौर पर, डिजिटल ऐसेट लिंक और हर उस डोमेन के ज़रिए पुष्टि की जाती है जिस पर वैलिडेटर के पास अपनी assetlinks.json फ़ाइल होनी चाहिए.

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 प्रोजेक्ट को कॉन्फ़िगर करके, पुष्टि करने के लिए एक से ज़्यादा ऑरिजिन जोड़ने का तरीका मिलता है.

सबसे पहले, res/values/strings.xml फ़ाइल में string-array एलिमेंट जोड़ें. हर अतिरिक्त यूआरएल को पुष्टि की गई फ़ाइल, 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 को कॉल करना:

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 में कई ऑरिजिन वाली भरोसेमंद वेब गतिविधियों के लिए सैंपल ऐप्लिकेशन है. कंपनी या ब्रैंड इसे ज़रूर देखें.

समस्या का हल

डिजिटल ऐसेट लिंक सेट अप करने में, कुछ चीज़ों को एक जगह से दूसरी जगह भेजा जा सकता है. अगर ऐप्लिकेशन अब भी कस्टम टैब बार पर क्लिक करते हैं, तो हो सकता है कि कॉन्फ़िगरेशन में कुछ गलत हो.

भरोसेमंद वेब गतिविधि को आसानी से सिखाने वाली गाइड में, एक बेहतरीन समस्या हल करने वाला सेक्शन है. इसमें डिजिटल ऐसेट लिंक से जुड़ी समस्याओं को डीबग करने में.

एक शानदार पीटर का ऐसेट लिंक टूल भी है, जो डिजिटल ऐसेट लिंक को डीबग करने में मदद करता है डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन पर..