Google Play डेवलपर एपीआई की मदद से, अपने ऐप्लिकेशन के लिए नए APK अपलोड किए जा सकते हैं. साथ ही, उन्हें अलग-अलग रिलीज़ ट्रैक पर रिलीज़ किया जा सकता है. इससे आपको अपने ऐप्लिकेशन के ऐल्फ़ा और बीटा वर्शन डिप्लॉय करने की अनुमति मिलती है. ये वर्शन, मंज़ूरी पा चुके उपयोगकर्ताओं के लिए उपलब्ध कराए जाते हैं. इससे आपको स्टेज के हिसाब से रोल आउट करने की सुविधा भी मिलती है. यह सुविधा, ऐप्लिकेशन के कुछ उपयोगकर्ताओं के लिए अपने-आप उपलब्ध हो जाती है. कुछ लोगों के लिए रिलीज़ करने की सुविधा का इस्तेमाल करके वर्शन रिलीज़ करने के बाद, उस वर्शन को इस्तेमाल करने वाले लोगों की संख्या को धीरे-धीरे बढ़ाया जा सकता है. ऐसा तब तक किया जा सकता है, जब तक उस वर्शन को "प्रोडक्शन" वर्शन के तौर पर डिप्लॉय नहीं कर दिया जाता.
APK जोड़ना और उनमें बदलाव करना
Edits.apks: upload तरीके का इस्तेमाल करके, एक या उससे ज़्यादा APK अपलोड करें.
इस तरीके से, APK को स्टोरेज "बकेट" में अपलोड किया जाता है. यहां से इसे "ट्रैक" में असाइन किया जा सकता है, ताकि इसे उपयोगकर्ताओं के लिए उपलब्ध कराया जा सके. (अगर बदलाव को मिटा दिया जाता है या खारिज कर दिया जाता है, तो उस बदलाव में अपलोड किए गए सभी APK भी मिट जाते हैं.)
Edits.tracks: update को कॉल करके, "ट्रैक" पर APK रिलीज़ करें. इन ट्रैक पर APK रिलीज़ किए जा सकते हैं:
"alpha"
और"beta"
जैसे टेस्टिंग ट्रैकऐप्लिकेशन के ऐल्फ़ा और बीटा वर्शन, उन उपयोगकर्ताओं के लिए उपलब्ध कराए जाते हैं जिन्हें आपने ऐल्फ़ा और बीटा टेस्ट ग्रुप में शामिल किया है. Google Play Console का इस्तेमाल करके, इन ग्रुप में उपयोगकर्ताओं को असाइन किया जाता है.
इंटरनल टेस्टिंग ट्रैक:
"qa"
आपके ऐप्लिकेशन के इंटरनल वर्शन, Google Play Console में कॉन्फ़िगर किए गए इंटरनल टेस्ट ट्रैक में डिप्लॉय किए जाते हैं.
प्रोडक्शन ट्रैक:
"production"
"प्रोडक्शन" ट्रैक पर की गई रिलीज़, सभी उपयोगकर्ताओं के लिए उपलब्ध होती हैं. "प्रोडक्शन" ट्रैक पर, कुछ लोगों के लिए रिलीज़ करने की सुविधा का इस्तेमाल किया जा सकता है. इससे, रिलीज़ को सुरक्षित तरीके से डिप्लॉय किया जा सकता है. इसके लिए, सबसे पहले प्रोडक्शन ट्रैक का इस्तेमाल करने वाले कुछ लोगों के लिए रिलीज़ को उपलब्ध कराएं. इसके बाद, रिलीज़ पर भरोसा बढ़ने के साथ-साथ, इस प्रतिशत को धीरे-धीरे बढ़ाएं.
सामान्य मोड का इस्तेमाल करने वाले लोगों को किसी भी ट्रैक पर एक से ज़्यादा APK नहीं डालने चाहिए. एक से ज़्यादा APK इस्तेमाल करने की सुविधा का इस्तेमाल करने वाले ऐडवांस मोड के उपयोगकर्ता, हर ट्रैक पर शून्य, एक या उससे ज़्यादा APK अपलोड कर सकते हैं.
डिवाइस के नाप या आकार के ट्रैक का नाम
फ़ॉर्म फ़ैक्टर ट्रैक के ट्रैक के नाम में, खास आइडेंटिफ़ायर का प्रीफ़िक्स होता है.
डिवाइस का नाप या आकार | प्रीफ़िक्स |
---|---|
Android Automotive OS | ऑटोमोटिव |
Wear OS | वियर |
Android TV | टीवी |
Android XR | android_xr |
Google Play Games On PC | google_play_games_pc |
किसी दिए गए फ़ॉर्म फ़ैक्टर ट्रैक के लिए, ट्रैक का नाम कैसे कंप्यूट करें?
प्रोडक्शन, ओपन टेस्टिंग, और इंटरनल टेस्टिंग ट्रैक जैसे सामान्य ट्रैक टाइप के लिए, ट्रैक का नाम पहले से तय होता है.
ट्रैक टाइप | डिफ़ॉल्ट ट्रैक का नाम |
---|---|
प्रोडक्शन | प्रोडक्शन |
ओपन टेस्टिंग | बीटा |
इंटरनल टेस्टिंग | qa |
किसी दिए गए डिवाइस के नाप या आकार के हिसाब से ट्रैक का नाम इस तरह से तय किया जा सकता है:
"[prefix]:defaultTrackName"
.
उदाहरण के लिए, Wear OS के फ़ॉर्म फ़ैक्टर में, इन नामों वाले ट्रैक होंगे:
"wear:production"
, "wear:beta"
, और "wear:qa"
.
चुने हुए लोगों के लिए उपलब्ध जांच ट्रैक को मैन्युअल तरीके से बनाया जाता है. साथ ही, इनके नाम कस्टम होते हैं. इसलिए, $name
नाम वाले फ़ॉर्म फ़ैक्टर के लिए क्लोज़्ड टेस्टिंग ट्रैक का नाम "[prefix]:$name"
होगा.
APK वर्कफ़्लो का उदाहरण
इस सेक्शन में, Tracks API के इस्तेमाल का सामान्य तरीका बताया गया है. इस मामले में, हम यह मान लेते हैं कि आपको हर ट्रैक के लिए, APK के नए वर्शन अपलोड करने हैं. साथ ही, आपको कुछ उपयोगकर्ताओं को, कुछ लोगों के लिए रिलीज़ किए गए वर्शन को पाने की अनुमति देनी है. (आम तौर पर, डेवलपर एक ही ऑपरेशन में ये सभी कार्रवाइयां नहीं करता. इसके बजाय, हो सकता है कि वह एक दिन बीटा वर्शन को अपडेट करे, दूसरे दिन "प्रोडक्शन" पर स्टेज की गई रिलीज़ बनाए वगैरह.)
- बदलाव करने का वर्कफ़्लो में बताए गए तरीके से, नया बदलाव खोलें
- अपलोड किए जाने वाले हर APK के लिए, Edits.apks: upload तरीके को कॉल करें. APK को तरीके के अनुरोध के मुख्य हिस्से में पास करें. (इससे APK को स्टोरेज एरिया में रखा जाता है, लेकिन इसे किसी ट्रैक पर रिलीज़ या डिप्लॉय नहीं किया जाता.) यह तरीका, अपलोड किए गए हर APK के लिए वर्शन कोड दिखाता है. इस वर्शन कोड का इस्तेमाल, किसी ट्रैक पर APK रिलीज़ करते समय उसे रेफ़र करने के लिए किया जाएगा.
आपको जिस ट्रैक पर APK रिलीज़ करने हैं उसके लिए, Edits.tracks: update तरीके को कॉल करें. अनुरोध के मुख्य भाग में, Edits.tracks संसाधन पास करें. इसमें वह रिलीज़ शामिल होनी चाहिए जिसे आपको रोल आउट करना है. उदाहरण के लिए, वर्शन कोड 88 वाला APK रिलीज़ करने के लिए:
{ "releases": [{ "versionCodes": ["88"], "status": "completed" }] }
इस चरण में, APK अब भी लोगों के लिए उपलब्ध नहीं होते. अन्य बदलावों की तरह, ये बदलाव तब तक लाइव नहीं होते, जब तक आप उन्हें लागू नहीं कर देते.
बदलावों को लागू करने के लिए, Edits: commit तरीके को कॉल करें. ऐसा करने के बाद, हर ट्रैक के उपयोगकर्ताओं को APK का अपडेट किया गया वर्शन मिलेगा. (सभी बदलावों की तरह, इन्हें लागू होने में भी कई घंटे लग सकते हैं.)
स्टेज्ड रोलआउट
अगर आपके पास अपने APK का कोई नया वर्शन है और आपको उसे धीरे-धीरे डिप्लॉय करना है, तो उसे "स्टेज किए गए रोलआउट" वर्शन के तौर पर रिलीज़ किया जा सकता है. ऐसा करने पर, Google Play इसे ऐप्लिकेशन के उन उपयोगकर्ताओं के लिए अपने-आप डिप्लॉय कर देता है जिनके लिए आपने इसे डिप्लॉय करने का अनुरोध किया है. अगर "रोलआउट" APK में कोई समस्या नहीं है (जैसे कि क्रैश वगैरह), तो उस वर्शन को पाने वाले उपयोगकर्ताओं की संख्या बढ़ाई जा सकती है. जब आप तैयार हों, तब उस APK को नए प्रोडक्शन वर्शन के तौर पर डिप्लॉय किया जा सकता है.
इस सेक्शन में, किसी APK को कुछ लोगों के लिए रिलीज़ करने और फिर उसे प्रोडक्शन में प्रमोट करने का तरीका बताया गया है:
बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.
Edits.apks: upload तरीके का इस्तेमाल करके, बदलाव करने के लिए नया APK अपलोड करें.
Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर
"inProgress"
की कुछ लोगों के लिए रिलीज़ करने की सुविधा शुरू करें. उन उपयोगकर्ताओं की संख्या चुनें जिन्हें नया APK मिलना चाहिए. इस समय, APK किसी भी असली उपयोगकर्ता के लिए उपलब्ध नहीं है.{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.05, "status": "inProgress" }] }
Edits: commit को कॉल करके, चालू बदलावों को सेव करें. अगले कुछ घंटों में, नया APK उपयोगकर्ताओं के लिए रोल आउट कर दिया जाएगा. आपने जितने प्रतिशत उपयोगकर्ताओं को चुना है उन्हें नया APK मिलेगा.
कुछ लोगों के लिए रिलीज़ करने की सुविधा के ज़रिए, यह पता लगाया जा सकता है कि रिलीज़ को कितने लोगों के लिए उपलब्ध कराया जाए. इसके बाद, रिलीज़ को ज़्यादा लोगों के लिए उपलब्ध कराया जा सकता है या रिलीज़ को रोका जा सकता है.
अलग-अलग चरणों में होने वाले रोल आउट के लिए, उपयोगकर्ताओं की संख्या बढ़ाना
मान लें कि आपने पिछले सेक्शन में बताए गए तरीके से, 5% उपयोगकर्ताओं के लिए रिलीज़ को चरणबद्ध तरीके से रोल आउट किया है. इस सेक्शन में, यह बताया गया है कि अगर रिलीज़ ठीक से काम कर रही है, तो रोल आउट के लिए उपयोगकर्ताओं का प्रतिशत कैसे बढ़ाया जाए:
बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.
Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर
"inProgress"
की स्टेज की गई रिलीज़ में बदलाव करें. उन उपयोगकर्ताओं की संख्या बढ़ाएं जिन्हें नया APK मिलना चाहिए:{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
Edits: commit को कॉल करके, चालू बदलावों को सेव करें. अगले कुछ घंटों में, नया APK उपयोगकर्ताओं के लिए रोल आउट कर दिया जाएगा. आपने जितने प्रतिशत उपयोगकर्ताओं को चुना है उन्हें नया APK मिलेगा.
कुछ लोगों के लिए रिलीज़ करने की सुविधा को रोकना
मान लें कि आपने पिछले सेक्शन में बताए गए तरीके से, 5% उपयोगकर्ताओं के लिए रोल आउट करने की सुविधा चालू की है. इस सेक्शन में बताया गया है कि अगर आपको कोई समस्या मिलती है, तो रोल आउट करने की सुविधा को कैसे रोका जा सकता है:
बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.
Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर
"inProgress"
की स्टेज की गई रिलीज़ में बदलाव करें. स्थिति को"halted"
पर सेट करें.{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
Edits: commit को कॉल करके, चालू बदलावों को सेव करें. आपकी रिलीज़, नए उपयोगकर्ताओं के लिए उपलब्ध नहीं होगी.
अगर आपको बाद में रोकी गई रिलीज़ को फिर से रोल आउट करना है, तो उसके स्टेटस को वापस "inProgress"
पर सेट करें.
कुछ लोगों के लिए रिलीज़ करने की प्रोसेस पूरी करना
अगर आपको लगता है कि ऐप्लिकेशन को कुछ लोगों के लिए रिलीज़ करने की सुविधा का इस्तेमाल करके, आपको सही नतीजे मिल गए हैं और अब आपको इसे सभी उपयोगकर्ताओं के लिए लॉन्च करना है, तो रिलीज़ की स्थिति को "completed"
पर सेट करें:
बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.
Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर
"inProgress"
की स्टेज की गई रिलीज़ में बदलाव करें. स्थिति को"completed"
पर सेट करें.{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
Edits: commit को कॉल करके, चालू बदलावों को सेव करें. अगले कुछ घंटों में, नया APK उपयोगकर्ताओं के लिए रोल आउट कर दिया जाएगा. आपने जितने प्रतिशत उपयोगकर्ताओं को चुना है उन्हें नया APK मिलेगा.
रोके गए रोलआउट को फिर से शुरू करना
मान लें कि आपने पिछले सेक्शन में बताए गए तरीके से, किसी ट्रैक पर रोलआउट पूरा कर लिया है. इस सेक्शन में, रोलआउट पूरा होने के बाद किसी समस्या का पता चलने पर, उसे रोकने का तरीका बताया गया है:
बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.
Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर
"completed"
की रिलीज़ में बदलाव करें. स्टेटस को"halted"
पर सेट करें.{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
Edits: commit को कॉल करके, चालू बदलावों को सेव करें. आपकी रिलीज़, नए उपयोगकर्ताओं के लिए उपलब्ध नहीं होगी. साथ ही, मौजूदा उपयोगकर्ता इसे अपग्रेड नहीं कर पाएंगे.
"completed"
रिलीज़ की जगह पर, पब्लिश की गई और रोकी नहीं गई रिलीज़ को दिखाया जाएगा. यह रिलीज़, ट्रैक पर मौजूद पिछली "completed"
रिलीज़ होगी. ध्यान दें कि इसका मतलब यह है कि किसी ट्रैक पर "completed"
रिलीज़
को सिर्फ़ तब रोका जा सकता है, जब उस ट्रैक पर पहले से ही एक या उससे ज़्यादा "completed"
रिलीज़
पब्लिश की गई हों.
अगर "completed"
रिलीज़ को रोकने के दौरान GetTrack
या ListTracks
को कॉल किया जाता है, तो "फ़ॉलबैक रिलीज़ को उपलब्ध कराया जा रहा है" मैसेज, उस ट्रैक पर पूरी की गई रिलीज़ के तौर पर दिखेगा जहां पहले "completed"
रिलीज़ को रोका गया था.
उदाहरण के लिए, अगर आपके पास शुरू में ऐसा दिखने वाला alpha
ट्रैक था:
{
"track": "alpha",
"releases": [
{
"name": "2 (2.0)",
"versionCodes": [
"2"
],
"status": "completed"
}
]
}
और आपने इस सेक्शन में दिए गए तरीके का इस्तेमाल करके, "completed"
रिलीज़ को रोक दिया है, तो alpha
ट्रैक के लिए GetTrack
को कॉल करने पर, आपको कुछ इस तरह का जवाब मिलेगा:
{
"track": "alpha",
"releases": [
{
"name": "2 (2.0)",
"versionCodes": [
"2"
],
"status": "halted"
},
{
"name": "1 (1.0)",
"versionCodes": [
"1"
],
"status": "completed"
}
]
}
अगर आपको बाद में "completed"
रिलीज़ करनी है, तो ऐसा किया जा सकता है. इसके लिए, आपको रिलीज़ का स्टेटस वापस "inProgress"
या "completed"
पर सेट करना होगा. ध्यान दें कि "completed"
रिलीज़ के ऊपर एक नई "inProgress"
रिलीज़ बनाई जा सकती है.हालांकि, इसके बाद "completed"
रिलीज़ को सिर्फ़ 100% पर फिर से शुरू किया जा सकेगा. इसका मतलब है कि इसे "completed"
के स्टेटस पर सेट किया जा सकेगा.
ड्राफ़्ट रिलीज़
ड्राफ़्ट रिलीज़ की सुविधा की मदद से, एपीके अपने-आप अपलोड किए जा सकते हैं. साथ ही, एपीआई के ज़रिए रिलीज़ बनाई जा सकती है. इसे बाद में Google Play Console के ज़रिए डिप्लॉय किया जा सकता है. किसी ट्रैक पर ड्राफ़्ट रिलीज़ बनाने के लिए:
- बदलाव करने का वर्कफ़्लो में बताए गए तरीके से, बदलाव करने का नया सेशन खोलें
- अपलोड किए जाने वाले हर APK के लिए, Edits.apks: upload तरीके को कॉल करें. APK को तरीके के अनुरोध के मुख्य हिस्से में पास करें. यह तरीका, अपलोड किए गए हर APK के लिए वर्शन कोड दिखाता है. इस वर्शन कोड का इस्तेमाल, APK को रिलीज़ के लिए असाइन करते समय किया जाता है.
आपको जिस ट्रैक को रिलीज़ करना है उसके लिए, Edits.tracks: update तरीके को कॉल करें. अनुरोध के मुख्य भाग में, Edits.tracks संसाधन पास करें. इसमें वह ड्राफ़्ट रिलीज़ शामिल होनी चाहिए जिसे आपको बनाना है. उदाहरण के लिए:
{ "releases": [{ "name": "My draft release", "versionCodes": ["88"], "status": "draft" }] }
बदलावों को लागू करने के लिए, Edits: commit तरीके को कॉल करें. अब Google Play Console या एपीआई के ज़रिए, ड्राफ़्ट रिलीज़ की जांच की जा सकती है और उसे रोल आउट किया जा सकता है.
प्रॉडक्ट की जानकारी देना
अपने ऐप्लिकेशन का नया वर्शन रिलीज़ करते समय, उपयोगकर्ताओं को यह बताया जा सकता है कि इस वर्शन में क्या नया है. इसके लिए, आपको रिलीज़ नोट देने होंगे.
इसके लिए, Edits.tracks: update तरीके को Edits.tracks संसाधन देते समय, "releaseNotes"
फ़ील्ड का इस्तेमाल करें.
{ "releases": [{ "name": "Release with notes", "versionCodes": ["88"], "status": "completed", "releaseNotes": [ {"language": "en-US", "text": "Describe what's new in this release."} ] }] }