ट्रस्टेड वेब ऐक्टिविटी को सेट अप करना मुश्किल हो सकता है. खास तौर पर, अगर आपको सिर्फ़ अपनी वेबसाइट दिखानी हो. इस गाइड में, ट्रस्टेड वेब ऐक्टिविटी का इस्तेमाल करने वाला छोटा प्रोजेक्ट बनाने का तरीका बताया गया है.
इस गाइड को पढ़ने के बाद, आपको ये काम करने में मदद मिलेगी:
- Bubblewrap का इस्तेमाल करके, ऐसा ऐप्लिकेशन बनाना जो ट्रस्टेड वेब ऐक्टिविटी का इस्तेमाल करता हो और जिसकी पुष्टि हो चुकी हो.
- यह समझना कि आपके साइनिंग पासकोड का इस्तेमाल कब किया जाता है.
- यह पता लगाना कि आपका Android ऐप्लिकेशन किस सिग्नेचर के साथ बनाया जा रहा है.
- डिजिटल ऐसेट लिंक की बुनियादी फ़ाइल बनाने का तरीका जानना.
इस गाइड को पढ़ने के लिए, आपके पास ये चीज़ें होनी चाहिए:
- Node.js 10 या इसके बाद का वर्शन.
- डेवलपमेंट के लिए कनेक्ट और सेट अप किया गया Android फ़ोन या एम्युलेटर. अगर फ़िज़िकल फ़ोन का इस्तेमाल किया जा रहा है, तो यूएसबी डीबग करने की सुविधा चालू करें.
- ऐसा मोबाइल ब्राउज़र जो ट्रस्टेड वेब ऐक्टिविटी के साथ काम करता हो.
- ऐसी वेबसाइट जिसे आपको ट्रस्टेड वेब ऐक्टिविटी में देखना है.
Android ऐप्लिकेशन के लिए, ट्रस्टेड वेब ऐक्टिविटी का इस्तेमाल करके, फ़ुल स्क्रीन ब्राउज़र टैब लॉन्च किया जा सकता है. इसके लिए, ब्राउज़र यूज़र इंटरफ़ेस (यूआई) की ज़रूरत नहीं होती. यह सुविधा सिर्फ़ उन वेबसाइटों के लिए उपलब्ध है जिनका मालिकाना हक आपके पास है. डिजिटल ऐसेट लिंक सेट अप करके, मालिकाना हक की पुष्टि की जा सकती है.
ट्रस्टेड वेब ऐक्टिविटी लॉन्च करने पर, ब्राउज़र Digital Asset Links की पुष्टि करता है. अगर पुष्टि नहीं हो पाती है, तो ब्राउज़र आपकी वेबसाइट को कस्टम टैब के तौर पर दिखाता है.
Bubblewrap को इंस्टॉल और कॉन्फ़िगर करना
Bubblewrap, Node.js के लिए लाइब्रेरी और कमांड लाइन टूल (सीएलआई) का एक सेट है. इसकी मदद से, डेवलपर ट्रस्टेड वेब ऐक्टिविटी का इस्तेमाल करके, Android ऐप्लिकेशन में प्रोग्रेसिव वेब ऐप्लिकेशन जनरेट, बिल्ड, और रन कर सकते हैं.
सीएलआई इंस्टॉल करने के लिए, यह कमांड चलाएं:
npm i -g @bubblewrap/cli
एनवायरमेंट सेट अप करना
Bubblewrap को पहली बार चलाने पर, यह ज़रूरी बाहरी डिपेंडेंसी को अपने-आप डाउनलोड और इंस्टॉल करने का विकल्प देता है. हमारा सुझाव है कि डाउनलोड अपने-आप होने की अनुमति दें, क्योंकि इससे यह पक्का करने में मदद मिलती है कि डिपेंडेंसी सही तरीके से कॉन्फ़िगर की गई हैं. Java Development Kit (JDK) या Android कमांड लाइन टूल के मौजूदा इंस्टॉलेशन का इस्तेमाल करने के लिए, Bubblewrap documentation देखें.
प्रोजेक्ट को शुरू करना और बिल्ड करना
कोई ऐसा Android प्रोजेक्ट शुरू करें जो PWA को रैप करता हो:
bubblewrap init --manifest=https://my-twa.com/manifest.json
Bubblewrap, वेब मेनिफ़ेस्ट को पढ़ता है. साथ ही, डेवलपर से Android प्रोजेक्ट में इस्तेमाल की जाने वाली वैल्यू की पुष्टि करने के लिए कहता है. इसके बाद, इन वैल्यू का इस्तेमाल करके प्रोजेक्ट जनरेट करता है.
प्रोजेक्ट जनरेट होने के बाद, यह कमांड चलाकर APK जनरेट करें:
bubblewrap build
चलाएं
बिल्ड करने के बाद, app-release-signed.apk नाम की एक फ़ाइल आउटपुट होती है. इस फ़ाइल को टेस्ट करने के लिए, डेवलपमेंट डिवाइस पर इंस्टॉल किया जा सकता है. साथ ही, इसे रिलीज़ करने के लिए Play Store पर अपलोड किया जा सकता है.
Bubblewrap, किसी लोकल डिवाइस पर ऐप्लिकेशन को इंस्टॉल और टेस्ट करने के लिए एक कमांड उपलब्ध कराता है. डेवलपमेंट डिवाइस को कंप्यूटर से कनेक्ट करने के बाद, यह कमांड चलाएं:
bubblewrap install
इसके अलावा, adb टूल का इस्तेमाल भी किया जा सकता है.
adb install app-release-signed.apk
अब ऐप्लिकेशन, डिवाइस के लॉन्चर पर उपलब्ध होना चाहिए.
ऐप्लिकेशन खोलने पर, आपको दिखेगा कि आपकी वेबसाइट, ट्रस्टेड वेब ऐक्टिविटी के तौर पर नहीं, बल्कि कस्टम टैब के तौर पर लॉन्च हुई है. ऐसा इसलिए हुआ, क्योंकि हमने अब तक डिजिटल ऐसेट लिंक की पुष्टि सेट अप नहीं की है.
Bubblewrap के लिए, ग्राफ़िकल यूज़र इंटरफ़ेस (जीयूआई) के विकल्प
PWA Builder, एक जीयूआई इंटरफ़ेस उपलब्ध कराता है. यह इंटरफ़ेस, ट्रस्टेड वेब ऐक्टिविटी प्रोजेक्ट जनरेट करने के लिए, Bubblewrap लाइब्रेरी का इस्तेमाल करता है. PWA Builder का इस्तेमाल करके, Android ऐप्लिकेशन बनाने का तरीका जानें. यह ऐप्लिकेशन, आपका PWA खोलता है.
साइनिंग पासकोड
डिजिटल ऐसेट लिंक, उस कुंजी को ध्यान में रखते हैं जिससे किसी APK पर हस्ताक्षर किया गया है. पुष्टि नहीं हो पाने की एक आम वजह, गलत सिग्नेचर का इस्तेमाल करना है. (ध्यान रखें, पुष्टि नहीं हो पाने का मतलब है कि आपकी वेबसाइट, पेज के सबसे ऊपर ब्राउज़र यूज़र इंटरफ़ेस (यूआई) के साथ, कस्टम टैब के तौर पर लॉन्च होगी.) Bubblewrap, ऐप्लिकेशन को बिल्ड करते समय, init चरण के दौरान सेट अप किए गए पासकोड के साथ एक APK बनाएगा. हालांकि, Google Play पर अपना ऐप्लिकेशन पब्लिश करते समय, आपके लिए एक और पासकोड बनाया जा सकता है. यह इस बात पर निर्भर करता है कि आपने साइनिंग पासकोड को मैनेज करने का तरीका कौनसे चुना है. साइनिंग पासकोड और Bubblewrap और Google Play से उनके संबंध के बारे में ज़्यादा जानें.
अपनी एसेट लिंक फ़ाइल सेट अप करना
Digital Asset Links में मुख्य तौर पर, आपकी वेबसाइट पर मौजूद एक फ़ाइल होती है. यह फ़ाइल, आपके ऐप्लिकेशन की ओर इशारा करती है. साथ ही, आपके ऐप्लिकेशन में मौजूद कुछ मेटाडेटा होता है, जो आपकी वेबसाइट की ओर इशारा करता है.
अपनी assetlinks.json फ़ाइल बनाने के बाद, इसे अपनी वेबसाइट पर .well-known/assetlinks.json पर अपलोड करें. यह पाथ, रूट के हिसाब से है. इससे ब्राउज़र, आपके ऐप्लिकेशन की पुष्टि सही तरीके से कर पाएगा. Digital Asset Links के बारे में ज़्यादा जानने के लिए, डिजिटल ऐसेट लिंक पर ज़्यादा जानकारी पाएं. इसमें बताया गया है कि यह आपकी साइनिंग पासकोड से कैसे जुड़ा है.
अपने ब्राउज़र की जांच करना
ट्रस्टेड वेब ऐक्टिविटी, ब्राउज़र के लिए उपयोगकर्ता की डिफ़ॉल्ट पसंद के मुताबिक काम करने की कोशिश करेगी. अगर उपयोगकर्ता का डिफ़ॉल्ट ब्राउज़र, ट्रस्टेड वेब ऐक्टिविटी के साथ काम करता है, तो उसे लॉन्च किया जाएगा. अगर ऐसा नहीं होता है, तो इंस्टॉल किए गए किसी ऐसे ब्राउज़र को चुना जाएगा जो ट्रस्टेड वेब ऐक्टिविटी के साथ काम करता हो. आखिर में, डिफ़ॉल्ट तौर पर, कस्टम टैब मोड पर वापस जाया जाएगा.
इसका मतलब है कि अगर आपको ट्रस्टेड वेब ऐक्टिविटी से जुड़ी किसी समस्या को डीबग करना है, तो आपको यह पक्का करना होगा कि आप उसी ब्राउज़र का इस्तेमाल कर रहे हैं जिसके बारे में आपको लगता है कि आप कर रहे हैं. यह देखने के लिए कि कौनसा ब्राउज़र इस्तेमाल किया जा रहा है, यह कमांड इस्तेमाल करें:
> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome
अगले चरण
उम्मीद है कि इस गाइड को पढ़ने के बाद, आपके पास काम करने वाली ट्रस्टेड वेब ऐक्टिविटी होगी. साथ ही, पुष्टि नहीं हो पाने पर डीबग करने के लिए ज़रूरी जानकारी भी होगी. अगर ऐसा नहीं है, तो वेब डेवलपर के लिए, Android के अन्य कॉन्सेप्ट देखें.
अगले चरण के तौर पर, अपने ऐप्लिकेशन के लिए एक आइकॉन बनाएं. इसके बाद, अपने ऐप्लिकेशन को Play Store पर डिप्लॉय किया जा सकता है.