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

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

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

शुरुआती यूआरएल में बदलाव करना

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

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

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

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

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

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

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

बबल रैप सीएलआई आउटपुट दिखाया जा रहा है

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

जब 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 का इस्तेमाल करके या पेज की लोकेशन एपीआई का इस्तेमाल करके, यूआरएल को साफ़ करके, इन समस्याओं को कम किया जा सकता है.

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

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