अपने ऐप्लिकेशन में भरोसेमंद वेब गतिविधि का इस्तेमाल करते समय, डेवलपर को ऐप्लिकेशन के नेटिव हिस्से से प्रोग्रेसिव वेब ऐप्लिकेशन (PWA) में जानकारी भेजनी पड़ सकती है.
इसका एक सामान्य इस्तेमाल, भरोसेमंद वेब गतिविधि से शुरू किए गए इंस्टॉल और सेशन को मेज़र करने के लिए, कस्टम आंकड़ों के सेगमेंटेशन को लागू करना है. इसे लागू करने के लिए, लॉन्च यूआरएल में क्वेरी पैरामीटर जोड़े जा सकते हैं.
स्टार्ट पेज के यूआरएल में बदलाव करना
अगर PWA को पास किया जा रहा पैरामीटर, सभी उपयोगकर्ताओं और लॉन्च के लिए एक जैसा रहेगा, तो पैरामीटर को सीधे लॉन्च यूआरएल में जोड़ा जा सकता है. इस सुविधा के इस्तेमाल का एक उदाहरण यह है कि जब डेवलपर, भरोसेमंद वेब गतिविधि से बनाए गए नेविगेशन सेशन की संख्या को मेज़र करना चाहते हैं.
बबलवॉप का इस्तेमाल करना
Bubblewrap एक ऐसा टूल है जिसे डेवलपर के लिए बनाया गया है, ताकि वे Android ऐप्लिकेशन के लिए ऐसा प्रोजेक्ट बना सकें जो भरोसेमंद वेब गतिविधि का इस्तेमाल करके, मौजूदा PWA लॉन्च करता हो. इसमें लाइब्रेरी और कमांड-लाइन इंटरफ़ेस (सीएलआई), दोनों शामिल होते हैं.
नया प्रोजेक्ट बनाना
Bubblewrap सीएलआई का इस्तेमाल करने पर, किसी प्रोजेक्ट को 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 का इस्तेमाल करके या पेज लोकेशन एपीआई का इस्तेमाल करके, यूआरएल को साफ़ करके इन असर को कम किया जा सकता है.
फ़िलहाल, भरोसेमंद वेब गतिविधि प्रोटोकॉल, वेब पार्ट के चालू होने के बाद, ऐप्लिकेशन के नेटिव पार्ट के साथ मैसेज एक्सचेंज करने का तरीका उपलब्ध नहीं कराता.
हमारा मानना है कि मौजूदा या आने वाले वेब प्लैटफ़ॉर्म एपीआई, डेवलपर के ज़रूरत के मुताबिक ज़्यादातर इस्तेमाल के उदाहरणों को चालू करते हैं. अगर आपको नए या आने वाले वेब एपीआई चाहिए, तो नई सुविधाओं की स्थिति वाला पेज देखें.