क्वेरी पैरामीटर का इस्तेमाल करके किसी भरोसेमंद वेब गतिविधि को जानकारी भेजना

अपने ऐप्लिकेशन में भरोसेमंद वेब गतिविधि का इस्तेमाल करते समय, डेवलपर को ऐप्लिकेशन के मूल हिस्से से जानकारी को प्रोग्रेसिव वेब ऐप्लिकेशन (PWA) में भेजना पड़ सकता है.

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

स्टार्ट पेज के यूआरएल में बदलाव करना

अगर PWA को पास किया जा रहा पैरामीटर, सभी उपयोगकर्ताओं और लॉन्च के लिए एक जैसा रहेगा, तो पैरामीटर को सीधे लॉन्च यूआरएल में जोड़ा जा सकता है. उदाहरण के लिए, जब डेवलपर किसी भरोसेमंद वेब गतिविधि से बनाए गए नेविगेशन सेशन की संख्या को मेज़र करना चाहते हैं.

बबलवॉप का इस्तेमाल करना

Bubblewrap एक ऐसा टूल है जिसे डेवलपर के लिए बनाया गया है, ताकि वे Android ऐप्लिकेशन के लिए ऐसा प्रोजेक्ट बना सकें जो भरोसेमंद वेब गतिविधि का इस्तेमाल करके, मौजूदा PWA लॉन्च करता हो. इसमें लाइब्रेरी और कमांड लाइन इंटरफ़ेस (सीएलआई), दोनों होते हैं.

नया प्रोजेक्ट बनाना

Bubblewrap सीएलआई का इस्तेमाल करने पर, किसी प्रोजेक्ट को init कमांड से शुरू किया जाता है. साथ ही, पैरामीटर के तौर पर दिए गए वेब मेनिफ़ेस्ट से डिफ़ॉल्ट वैल्यू बनाई जाती हैं:

bubblewrap init --manifest https://material.money/manifest.json

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

Bubblewrap CLI का आउटपुट दिखाना

किसी मौजूदा प्रोजेक्ट में बदलाव करना

जब Bubblewrap कोई प्रोजेक्ट जनरेट करता है, तो उस प्रोजेक्ट की जानकारी, प्रोजेक्ट फ़ोल्डर में twa-manifest.json नाम की फ़ाइल में सेव की जाती है. मौजूदा प्रोजेक्ट के स्टार्ट यूआरएल में बदलाव करने के लिए, डेवलपर को फ़ाइल में बदलाव करना होगा:

{
  ...
  "startUrl": "/?utm_source=trusted-web-activity",
  ...
}

इसके बाद, प्रोजेक्ट फ़ाइलों को फिर से जनरेट करें और नया स्टार्ट यूआरएल लागू करें

bubblewrap update

Android Studio का इस्तेमाल करना

Android Studio और डिफ़ॉल्ट LauncherActivity का इस्तेमाल करते समय, startUrl को AndroidManifest.xml में मेटा टैग के तौर पर तय किया जाता है. साथ ही, भरोसेमंद वेब गतिविधि को लॉन्च करने के लिए इस्तेमाल किए गए यूआरएल में बदलाव करके, उसे बदला जा सकता है:

<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
    android:label="@string/app_name">
    ...
    <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
        android:value="https://svgomg.firebaseapp.com/?utm_source=trusted-web-activity" />
    ...
</activity>

शुरुआती यूआरएल में डाइनैमिक तरीके से बदलाव करना

अन्य मामलों में, डेवलपर ऐसे पैरामीटर बनाना चाह सकते हैं जो उपयोगकर्ताओं या सेशन के हिसाब से बदलते हों. ज़्यादातर मामलों में, इसमें ऐप्लिकेशन को प्रोग्रेसिव वेब ऐप्लिकेशन में भेजने के लिए, Android की ओर से जानकारी इकट्ठा करना शामिल होगा.

पहला चरण: कस्टम LauncherActivity बनाना

public class CustomQueryStringLauncherActivity extends LauncherActivity {
    private String getDynamicParameterValue() {
        return String.valueOf((int)(Math.random() * 1000));
    }

    @Override
    protected Uri getLaunchingUrl() {
        // Get the original launch Url.
        Uri uri = super.getLaunchingUrl();

        // Get the value we want to use for the parameter value
        String customParameterValue = getDynamicParameterValue();

        // Append the extra parameter to the launch Url
        return uri
                .buildUpon()
                .appendQueryParameter("my_parameter", customParameterValue)
                .build();
    }
}

दूसरा चरण: पसंद के मुताबिक LauncherActivity का इस्तेमाल करने के लिए, AndroidManifest.xml में बदलाव करना

<activity android:name="com.myapp.CustomQueryStringLauncherActivity"
    android:label="@string/app_name">
    ...
    <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
        android:value="https://squoosh.app/?utm_source=trusted-web-activity" />
    ...
</activity>

नतीजा

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

डेवलपर को इन असर के बारे में पता होना चाहिए. साथ ही, link rel=noreferrer का इस्तेमाल करके या पेज लोकेशन एपीआई का इस्तेमाल करके, यूआरएल को साफ़ करके इन असर को कम किया जा सकता है.

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

हमारा मानना है कि मौजूदा या आने वाले वेब प्लैटफ़ॉर्म एपीआई, डेवलपर के लिए ज़रूरी ज़्यादातर इस्तेमाल के मामलों में चालू रहते हैं. अगर आपको नए या आने वाले वेब एपीआई चाहिए, तो नई सुविधाओं की स्थिति वाला पेज देखें.