1. आपका स्वागत है
इस लैब में, आपको डिप्लॉय किए गए किसी मौजूदा प्रोग्रेसिव वेब ऐप्लिकेशन को लेना होगा. इसके बाद, उसे Google Play Store पर डिस्ट्रिब्यूट करने के लिए, ऐप्लिकेशन में रैप करना होगा.
आपको क्या सीखने को मिलेगा
- Google Play Store के लिए, अपने प्रोग्रेसिव वेब ऐप्लिकेशन को पैकेज करने के लिए Bubblewrap का इस्तेमाल कैसे करें
- साइनिंग बटन क्या है और इसका इस्तेमाल कैसे किया जाता है
- Google Play के डेवलपर कंसोल में नया ऐप्लिकेशन बनाने और उसे पब्लिश करने से पहले टेस्ट करने के लिए, टेस्टिंग रिलीज़ सेट अप करने का तरीका
- डिजिटल ऐसेट लिंक क्या होते हैं और उन्हें अपने वेब ऐप्लिकेशन में कैसे जोड़ा जाता है
आपको क्या पता होना चाहिए
- प्रोग्रेसिव वेब ऐप्लिकेशन क्या होते हैं
- कमांड लाइन टूल इस्तेमाल करने का तरीका
- Bash शेल की बुनियादी कमांड या उन्हें अपनी पसंद के शेल में ट्रांसलेट करने का तरीका
आपको किन चीज़ों की ज़रूरत होगी
- एक प्रोग्रेसिव वेब ऐप्लिकेशन, जिसे इंटरनेट पर लाइव पब्लिश किया गया हो और जिसमें बदलाव किए जा सकते हों
- Bubblewrap कमांड लाइन इंटरफ़ेस इंस्टॉल हो और इस्तेमाल के लिए तैयार हो
- Google Play डेवलपर खाता
- अगर आपने Google Play पर पहले से ही ऐप्लिकेशन लॉन्च किए हैं, तो आपकी मौजूदा साइनिंग कुंजी
- टेस्ट करने के लिए, Android या ChromeOS डिवाइस
इसमें क्या शामिल नहीं है
- अपने PWA को सिर्फ़ Android या सिर्फ़ ChromeOS डिवाइसों पर उपलब्ध कराना
- ChromeOS के लिए PWA और फ़ोन या टैबलेट के लिए Android ऐप्लिकेशन, एक ही ऐप्लिकेशन के तौर पर डिप्लॉय किया जा सकता है.
- अपने PWA में, Google Play की पेमेंट से जुड़ी नीति का पालन कैसे करें.
2. Bubblewrapping Your PWA
Bubblewrap एक ऐसा टूल है जिसकी मदद से, प्रोग्रेसिव वेब ऐप्लिकेशन को Android ऐप्लिकेशन बंडल में रैप करना उतना ही आसान हो जाता है जितना कुछ सीएलआई कमांड चलाना. इसके लिए, यह एक Android प्रोजेक्ट जनरेट करता है. इससे आपका पीडब्ल्यूए, भरोसेमंद वेब गतिविधि के तौर पर लॉन्च होता है.
शुरू करने के लिए, अपने प्रोजेक्ट के लिए एक डायरेक्ट्री बनाएं और उसमें जाएं:
$ mkdir my-pwa && cd my-pwa
इसके बाद, Bubblewrap कमांड लाइन टूल चलाएं. इससे, Play पर अपलोड किए जाने वाले Android ऐप्लिकेशन बंडल के लिए कॉन्फ़िगरेशन और Android प्रोजेक्ट जनरेट होगा:
$ bubblewrap init --manifest=https://my-pwa.com/manifest.json
यहां, Bubblewrap को पीडब्ल्यूए की वेब ऐप्लिकेशन मेनिफ़ेस्ट फ़ाइल की जगह के साथ शुरू किया गया है. इससे वेब ऐप्लिकेशन मेनिफ़ेस्ट से डिफ़ॉल्ट कॉन्फ़िगरेशन जनरेट होगा. साथ ही, कंसोल में विज़र्ड शुरू होगा. इसकी मदद से, डिफ़ॉल्ट कॉन्फ़िगरेशन में बदलाव किया जा सकेगा. टूल से जनरेट की गई किसी भी वैल्यू को बदलने के लिए, विज़र्ड का पालन करें.

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

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

Bubblewrap आउटपुट
Bubblewrap प्रोजेक्ट शुरू करने और विज़र्ड को पूरा करने के बाद, ये आइटम बन जाएंगे:
- twa-manifest.json - यह प्रोजेक्ट कॉन्फ़िगरेशन है. इसमें Bubblewrap विज़र्ड में चुनी गई वैल्यू दिखती हैं. आपको इस फ़ाइल को अपने वर्शन कंट्रोल सिस्टम के साथ ट्रैक करना होगा, क्योंकि इसका इस्तेमाल ज़रूरत पड़ने पर पूरे Bubblewrap प्रोजेक्ट को फिर से जनरेट करने के लिए किया जा सकता है.
- Android प्रोजेक्ट फ़ाइलें - डायरेक्ट्री में मौजूद बाकी फ़ाइलें, जनरेट किया गया Android प्रोजेक्ट हैं. यह प्रोजेक्ट, Bubblewrap की बिल्ड कमांड के लिए इस्तेमाल किया गया सोर्स है. आपके पास इन फ़ाइलों को वर्शन कंट्रोल सिस्टम से ट्रैक करने का विकल्प भी होता है.
- (ज़रूरी नहीं) साइनिंग पासकोड - अगर आपने Bubblewrap को साइनिंग पासकोड बनाने का विकल्प चुना है, तो विज़र्ड में बताई गई जगह पर पासकोड सेव हो जाएगा. पक्का करें कि कुंजी को सुरक्षित जगह पर रखा गया हो और उसे ऐक्सेस करने वाले लोगों की संख्या सीमित हो. इसका इस्तेमाल यह साबित करने के लिए किया जाता है कि Play Store पर मौजूद ऐप्लिकेशन आपके हैं.
इन फ़ाइलों की मदद से, अब हमारे पास Android ऐप्लिकेशन बंडल बनाने के लिए ज़रूरी सभी चीज़ें मौजूद हैं.
Android ऐप्लिकेशन बंडल बनाना
जिस डायरेक्ट्री में आपने Bubblewrap को शुरू करने का निर्देश दिया था उसी डायरेक्ट्री में, यहाँ दिया गया निर्देश चलाएँ. इसके लिए, आपको साइनिंग की के पासवर्ड की ज़रूरत होगी:
$ bubblewrap build

बिल्ड कमांड से दो ज़रूरी फ़ाइलें जनरेट होंगी:
- app-release-bundle.aab - यह आपके PWA का Android ऐप्लिकेशन बंडल है. यह वह फ़ाइल है जिसे आपको Google Play Store पर अपलोड करना होगा.
- app-release-signed.apk - यह Android पैकेजिंग फ़ॉर्मैट है. इसका इस्तेमाल करके, ऐप्लिकेशन को सीधे तौर पर डेवलपमेंट डिवाइस में इंस्टॉल किया जा सकता है. इसके लिए,
bubblewrap installकमांड का इस्तेमाल किया जाता है.
3. इसे आज़माएं - Bubblewrap
अब आपकी बारी है! पिछले चरण में सीखी गई बातों का इस्तेमाल करके, यहां दिए गए काम पूरे करें:
- जनरेट किए गए Android प्रोजेक्ट को सेव करने के लिए, एक डायरेक्ट्री बनाएं.
- Bubblewrap और अपने पीडब्ल्यूए के वेब ऐप्लिकेशन मेनिफ़ेस्ट की मदद से, उस डायरेक्ट्री को शुरू करें.
- नई साइनिंग कुंजी जनरेट करें या अगर आपके पास मौजूदा साइनिंग कुंजी है, तो उसका फिर से इस्तेमाल करें.
- जनरेट किए गए Android प्रोजेक्ट से, अपना Android ऐप्लिकेशन बंडल बनाएं.
4. Google Play Store में अपना ऐप्लिकेशन जोड़ना
अब आपके पास अपने PWA के लिए Android ऐप्लिकेशन बंडल है. अब इसे Google Play Store पर अपलोड करने का समय है! डेवलपर खाते को रजिस्टर करने के बाद, Play Console पर जाकर लॉग इन करें और इसका इस्तेमाल शुरू करें.
ऐप्लिकेशन बनाना
लॉग इन करने के बाद, आपको एक स्क्रीन दिखेगी. इसमें आपके सभी ऐप्लिकेशन दिखेंगे. सबसे ऊपर, ऐप्लिकेशन बनाएं बटन मौजूद है. इस पर क्लिक करने से, आपको यह स्क्रीन दिखेगी. इससे आपको नई Android ऐप्लिकेशन लिस्टिंग बनाने में मदद मिलेगी.

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

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

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

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

ऐप्लिकेशन अपलोड करना और उसे फ़ाइनल करना
साइनिंग कुंजी को मैनेज करने का तरीका चुनने के बाद, आपसे अपनी रिलीज़ में ऐप्लिकेशन बंडल अपलोड करने के लिए कहा जाएगा. इसके लिए, Bubblewrap से जनरेट की गई app-release-bundle.aab फ़ाइल को फ़ॉर्म में खींचें और छोड़ें. रिलीज़ को फ़ाइनल करने के लिए, रिलीज़ की बची हुई जानकारी भरें. इसके बाद, सेव करें, रिलीज़ की समीक्षा करें, और आखिर में इंटरनल टेस्टिंग के लिए रोल आउट शुरू करें बटन पर क्लिक करके, रिलीज़ शुरू करें. इससे आपका ऐप्लिकेशन, इंटरनल टेस्टर के लिए उपलब्ध हो जाएगा! इंटरनल टेस्टिंग पेज के टेस्टर टैब में वापस जाकर, अपने टेस्टर के साथ शेयर करने के लिए लिंक कॉपी किया जा सकता है. इससे वे आपके ऐप्लिकेशन को ऐक्सेस कर पाएंगे.

5. इसे आज़माएं - ऐप्लिकेशन बनाना
अब आपकी बारी है! पिछले चरण में सीखी गई बातों का इस्तेमाल करके, यहां दिए गए काम पूरे करें:
- Play Console में अपने PWA के लिए नया ऐप्लिकेशन बनाएं.
- ऐप्लिकेशन के लिए इंटरनल टेस्टिंग सेट अप करें और खुद को टेस्टर के तौर पर जोड़ें.
- अपना ऐप्लिकेशन बंडल अपलोड करें और अपने ऐप्लिकेशन के लिए टेस्टिंग रिलीज़ बनाएं.
- टेस्टिंग लिंक का इस्तेमाल करके, अपने Android या ChromeOS डिवाइस पर Play Store से ऐप्लिकेशन इंस्टॉल करें!
6. डिजिटल एसेट लिंक
अगर आपको Play में अपने PWA को आज़माने का मौका मिला है, तो हो सकता है कि आपको यह पता चले कि यह फ़ुलस्क्रीन में नहीं चलता है. ऐसा इसलिए है, क्योंकि आपने अब तक डिजिटल ऐसेट लिंक फ़ाइल के ज़रिए साइट के मालिकाना हक की पुष्टि नहीं की है. Bubblewrap, आपके Android ऐप्लिकेशन बंडल को कॉन्फ़िगर और बिल्ड कर सकता है. हालांकि, आपको अपने वेब ऐप्लिकेशन को अपडेट करके लिंक पूरा करना होगा.
अपने ऐप्लिकेशन का SHA-256 फ़िंगरप्रिंट पाना
अपने PWA के डिजिटल ऐसेट लिंक कॉन्फ़िगर करने के लिए, आपको उस सर्टिफ़िकेट के SHA-256 फ़िंगरप्रिंट की ज़रूरत होगी जिसका इस्तेमाल, उपयोगकर्ता को उसके फ़ोन पर मिलने वाले पैकेज पर हस्ताक्षर करने के लिए किया जाता है.
Play ऐप्लिकेशन साइनिंग की सुविधा के साथ
अगर आपने रिलीज़ बनाते समय अपने ऐप्लिकेशन के लिए Play ऐप्लिकेशन साइनिंग की सुविधा सेट अप की है (पहले इसकी सलाह दी जाती थी), तो SHA-256 फ़िंगरप्रिंट को Play Console में देखा जा सकता है. ध्यान रखें कि यह सर्टिफ़िकेट, आपके ऐप्लिकेशन को अपलोड करने के लिए इस्तेमाल किए गए सर्टिफ़िकेट से अलग होता है. फ़िंगरप्रिंट पाने के लिए, Play Console में अपने ऐप्लिकेशन में जाकर, रिलीज़->सेटअप->ऐप्लिकेशन के लिए पूरी सुरक्षा देने की सुविधा पर जाएं. यहां आपको ऐप्लिकेशन साइनिंग की का सर्टिफ़िकेट में कई विकल्प दिखेंगे. SHA-256 सर्टिफ़िकेट फ़िंगरप्रिंट की वैल्यू कॉपी करें.

Play ऐप्लिकेशन साइनिंग की सुविधा के बिना
अगर आपने Play ऐप्लिकेशन साइनिंग से ऑप्ट आउट किया है, तो फ़ाइनल ऐप्लिकेशन पर साइन करने के लिए इस्तेमाल किया गया पासकोड वही होगा जिसका इस्तेमाल Play Console पर ऐप्लिकेशन अपलोड करने के लिए किया जाता है. फ़िंगरप्रिंट निकालने के लिए, Java के keytool का इस्तेमाल किया जा सकता है:
$ keytool -list -v \
-keystore <keystore-file-path> \
-alias <key-alias> \
-keypass <key-password> \
-storepass <store-password> | grep SHA256
$ SHA256: BD:92:64:B0:1A:B9:08:08:FC:FE:7F:94:B2...
इसका इस्तेमाल करने के लिए, आपको अपनी साइनिंग कुंजी का पाथ और उससे जुड़े पासवर्ड पता होने चाहिए. SHA256 कुंजी की हेक्साडेसिमल वैल्यू कॉपी करें.
डिजिटल ऐसेट लिंक वाली फ़ाइल बनाना
Bubblewrap, आपके फ़िंगरप्रिंट के हस्ताक्षर मैनेज कर सकता है. साथ ही, आपके लिए सही Digital Asset Links फ़ाइल जनरेट कर सकता है. Bubblewrap की मदद से फ़िंगरप्रिंट जोड़ने के लिए, अपने PWA को Bubblewrap करना के दौरान बनाई गई उसी डायरेक्ट्री में जाकर, यह कमांड चलाएं. साथ ही, <fingerprint> को पिछले चरण से कॉपी किए गए फ़िंगरप्रिंट से बदलें.
$ bubblewrap fingerprint add <fingerprint>
इस कमांड से, ऐप्लिकेशन के फ़िंगरप्रिंट की सूची में फ़िंगरप्रिंट जुड़ जाएगा. साथ ही, assetlinks.json फ़ाइल जनरेट हो जाएगी. इस फ़ाइल को अपने PWA के एक ही ओरिजिन पर मौजूद .well-known डायरेक्ट्री में अपलोड करें.
7. इसे आज़माएं - डिजिटल ऐसेट लिंक
अब आपकी बारी है! पिछले चरण में सीखी गई बातों का इस्तेमाल करके, यहां दिए गए काम पूरे करें:
- अपने ऐप्लिकेशन का SHA-256 फ़िंगरप्रिंट ढूंढें.
- अपने ऐप्लिकेशन के लिए, डिजिटल ऐसेट लिंक फ़ाइल जनरेट करें.
- अपने PWA में डिजिटल ऐसेट लिंक फ़ाइल अपलोड करें.
- एपीआई और टेस्टिंग ऐप्लिकेशन का इस्तेमाल करके, पुष्टि करें कि आपकी डिजिटल ऐसेट लिंक फ़ाइल सही तरीके से सेट अप की गई है.
8. अपने ज्ञान की जांच करें
यहां दिए गए सवालों के जवाब देकर, अपनी जानकारी की जांच करें और देखें कि आपने क्या सीखा. जवाबों को न देखें!
Bubblewrap की मदद से अपना Android प्रोजेक्ट जनरेट करने के बाद, सैली जनरेट की गई ______ फ़ाइल को अपने वर्शन कंट्रोल सिस्टम में सेव करती है, ताकि वह इसे जब चाहे फिर से बना सके.
जैक को अपनी क्यूए टीम से, अपने PWA Android ऐप्लिकेशन की जांच करानी है. इसलिए, वह अपने Android ऐप्लिकेशन बंडल को, संगठन में काम करने वालों के लिए उपलब्ध रिलीज़ ट्रैक पर ______ करता है.
Oogie Boogie का PWA Android ऐप्लिकेशन फ़ुलस्क्रीन मोड में नहीं चल रहा है. इस समस्या को ठीक करने के लिए, वे अपने ______ के लिए SHA-256 सर्टिफ़िकेट फ़िंगरप्रिंट पाते हैं और उसे अपनी डिजिटल ऐसेट लिंक फ़ाइल में अपलोड करते हैं. यह फ़ाइल, उनके PWA के ओरिजनल यूआरएल पर ______ में मौजूद होती है.
9. देखें कि आपको कितनी जानकारी है - जवाब
'अपनी जानकारी की जांच करें' सवालों के जवाब!
- Bubblewrap की मदद से अपना Android प्रोजेक्ट जनरेट करने के बाद, सैली जनरेट की गई ______ फ़ाइल को अपने वर्शन कंट्रोल सिस्टम में सेव करती है, ताकि वह इसे जब चाहे फिर से बना सके.
- जवाब: twa-manifest.json
- सेक्शन: अपने PWA को Bubblewrap करें
- जैक को अपनी क्यूए टीम से, अपने PWA Android ऐप्लिकेशन की जांच करानी है. इसलिए, वह अपने Android ऐप्लिकेशन बंडल को, संगठन में काम करने वालों के लिए उपलब्ध रिलीज़ ट्रैक पर ______ करता है.
- जवाब: हस्ताक्षर और अपलोड
- सेक्शन: Google Play Store में अपना ऐप्लिकेशन जोड़ना
- Oogie Boogie का PWA Android ऐप्लिकेशन फ़ुलस्क्रीन मोड में नहीं चल रहा है. इस समस्या को ठीक करने के लिए, वे अपने ______ के लिए SHA-256 सर्टिफ़िकेट फ़िंगरप्रिंट पाते हैं और उसे अपनी डिजिटल ऐसेट लिंक फ़ाइल में अपलोड करते हैं. यह फ़ाइल, उनके PWA के ओरिजनल यूआरएल पर ______ में मौजूद होती है.
- जवाब: signing key, /.well-known/assetlinks.json
- सेक्शन: डिजिटल ऐसेट लिंक
10. बधाई हो!
बधाई हो! आपने Google Play Store में अपना PWA जोड़ने का तरीका जान लिया है!
जब आपको लगे कि आप ऐसा कर सकते हैं, तो यहां दिया गया तरीका आज़माएं:
- ऐप्लिकेशन की प्रोडक्शन रिलीज़ बनाना
- ऐप्लिकेशन रिलीज़ करने के ज़्यादा विकल्पों के बारे में ज़्यादा जानें. इनमें, सिर्फ़ ChromeOS के लिए रिलीज़ किए जाने वाले ऐप्लिकेशन और ऐसे ऐप्लिकेशन शामिल हैं जिन्हें मोबाइल के लिए Android ऐप्लिकेशन और ChromeOS के लिए PWA के तौर पर रिलीज़ किया जाता है.
- अपने ऐप्लिकेशन के लिए Play Billing सेट अप करने का तरीका जानें. साथ ही, इसे अपने PWA में और अपने बैक-एंड में लागू करने का तरीका जानें.
कोडिंग करते रहें!