आसानी से सीखें

Peter Conn
Peter Conn

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

इस गाइड के खत्म होने पर, आपको:

  • आपने ऐसा ऐप्लिकेशन बनाने के लिए Bubblewrap का इस्तेमाल किया हो जो भरोसेमंद वेब गतिविधि का इस्तेमाल करता हो और पुष्टि पास करता हो.
  • जानें कि आपकी साइनिंग कुंजियों का इस्तेमाल कब किया जाता है.
  • पक्का करना कि आपका Android ऐप्लिकेशन किस सिग्नेचर के साथ बनाया जा रहा है.
  • बुनियादी डिजिटल एसेट लिंक फ़ाइल बनाने का तरीका जानें.

इस गाइड का पालन करने के लिए, आपको इनकी ज़रूरत होगी:

  • Node.js 10 या इसके बाद का वर्शन, डेवलपमेंट कंप्यूटर पर इंस्टॉल किया गया हो.
  • Android फ़ोन या एम्युलेटर कनेक्ट किया गया हो और उसे डेवलप करने के लिए सेट अप किया गया हो (अगर फ़ोन का इस्तेमाल किया जा रहा है, तो यूएसबी डीबग करने की सुविधा चालू करें).
  • एक ऐसा ब्राउज़र जो आपके डेवलपमेंट फ़ोन पर विश्वसनीय वेब गतिविधि का समर्थन करता हो. Chrome 72 या उसके बाद के वर्शन काम करेंगे. अन्य ब्राउज़र पर भी यह सुविधा जल्द ही उपलब्ध होगी.
  • वह वेबसाइट जिसे आपको भरोसेमंद वेब गतिविधि में देखना है.

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

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

Bubblewrap को इंस्टॉल और कॉन्फ़िगर करना

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

सीएलआई को इस निर्देश की मदद से इंस्टॉल किया जा सकता है:

npm i -g @bubblewrap/cli

एनवायरमेंट सेट अप करना

पहली बार Bubblewrap इस्तेमाल करने पर, यह ज़रूरी बाहरी डिपेंडेंसी को अपने-आप डाउनलोड और इंस्टॉल करने का विकल्प देगा. हमारा सुझाव है कि आप टूल को ऐसा करने की अनुमति दें, क्योंकि इससे इस बात की गारंटी मिलती है कि डिपेंडेंसी सही तरीके से कॉन्फ़िगर की गई हों. किसी मौजूदा Java डेवलपमेंट किट (JDK) या Android कमांड लाइन टूल को इंस्टॉल करने का इस्तेमाल करने के लिए, Bubblewrap दस्तावेज़ देखें.

प्रोजेक्ट शुरू करें और बनाएं

PWA को रैप करने वाले Android प्रोजेक्ट को शुरू करने के लिए, init कमांड इस्तेमाल करें:

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 लाइब्रेरी का इस्तेमाल करता है. इस ब्लॉग पोस्ट में, ऐसा Android ऐप्लिकेशन बनाने के लिए PWA का इस्तेमाल करने के बारे में ज़्यादा जानकारी पाएं जिससे आपका PWA खुलता है.

साइनिंग पासकोड के बारे में नोट

डिजिटल ऐसेट लिंक, उस कुंजी को ध्यान में रखते हैं जिससे APK पर साइन किया गया है. साथ ही, पुष्टि न हो पाने की एक आम वजह गलत हस्ताक्षर का इस्तेमाल करना भी है. (ध्यान रखें कि पुष्टि न होने का मतलब है कि आपको अपनी वेबसाइट को पेज के सबसे ऊपर, ब्राउज़र यूज़र इंटरफ़ेस (यूआई) के साथ कस्टम टैब के तौर पर लॉन्च करना होगा. जब Bubblewrap ऐप्लिकेशन को बनाता है. ऐसे में, init चरण के दौरान, कुंजी सेटअप के साथ एक APK बनाया जाएगा. हालांकि, जब Google Play में अपना ऐप्लिकेशन पब्लिश किया जाता है, तो आपके लिए एक और पासकोड बनाया जा सकता है. यह इस बात पर निर्भर करता है कि आपने साइनिंग पासकोड को मैनेज करने का विकल्प कैसे चुना है. हस्ताक्षर करने के लिए इस्तेमाल होने वाली कुंजियों के बारे में ज़्यादा जानें. साथ ही, जानें कि बबल रैप और Google Play से उनका क्या संबंध है.

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

अपनी assetlinks.json फ़ाइल बनाने के बाद, उसे रूट में मौजूद .well-known/assetlinks.json पर अपनी वेबसाइट पर अपलोड करें, ताकि ब्राउज़र आपके ऐप्लिकेशन की पुष्टि सही तरीके से कर सके. डिजिटल ऐसेट लिंक के बारे में ज़्यादा जानें. इससे आपको पता चलेगा कि यह लिंक आपके साइनिंग पासकोड से कैसे जुड़ा है.

आपके ब्राउज़र की जांच की जा रही है

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

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

> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome

अगले चरण

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

हमारा सुझाव है कि आगे की कार्रवाई के लिए, आप अपने ऐप्लिकेशन के लिए एक आइकॉन बनाकर शुरुआत करें. इसके बाद, अपने ऐप्लिकेशन को Play Store पर डिप्लॉय किया जा सकता है.