APK और ट्रैक

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

APK जोड़ना और उनमें बदलाव करना

  1. Edits.apks: upload तरीके को कॉल करके, एक या इससे ज़्यादा APK अपलोड करें.

    इस तरीके से, APK को स्टोरेज "बकेट" में अपलोड किया जाता है. यहां से इसे "ट्रैक" में असाइन किया जा सकता है, ताकि इसे उपयोगकर्ताओं के लिए उपलब्ध कराया जा सके. (अगर बदलाव को मिटा दिया जाता है या खारिज कर दिया जाता है, तो उस बदलाव में अपलोड किए गए सभी APK भी मिट जाते हैं.)

  2. 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 के नए वर्शन अपलोड करने हैं. साथ ही, आपको कुछ लोगों को, कुछ लोगों के लिए रिलीज़ किए गए वर्शन को पाने की अनुमति देनी है. (आम तौर पर, डेवलपर एक ही ऑपरेशन में ये सभी कार्रवाइयां नहीं करता. इसके बजाय, हो सकता है कि वह एक दिन बीटा वर्शन को अपडेट करे, दूसरे दिन "प्रोडक्शन" पर स्टेज की गई रिलीज़ बनाए वगैरह.)

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से, नया बदलाव खोलें
  2. अपलोड किए जाने वाले हर APK के लिए, Edits.apks: upload तरीके का इस्तेमाल करें. APK को तरीके के अनुरोध के मुख्य हिस्से में पास करें. (इससे APK को स्टोरेज एरिया में रखा जाता है, लेकिन इसे किसी ट्रैक पर रिलीज़ या डिप्लॉय नहीं किया जाता.) यह तरीका, अपलोड किए गए हर APK के लिए एक वर्शन कोड दिखाता है. इस वर्शन कोड का इस्तेमाल, किसी ट्रैक पर APK रिलीज़ करते समय किया जाता है.
  3. आपको जिस ट्रैक पर APK रिलीज़ करने हैं उसके लिए, Edits.tracks: update तरीके को कॉल करें. अनुरोध के मुख्य भाग में, Edits.tracks संसाधन पास करें. इसमें वह रिलीज़ शामिल होनी चाहिए जिसे आपको रोल आउट करना है. उदाहरण के लिए, वर्शन कोड 88 वाला APK रिलीज़ करने के लिए:

    {
    "releases": [{
      "versionCodes": ["88"],
      "status": "completed"
    }]
    }

    इस चरण में, APK अब भी लोगों के लिए उपलब्ध नहीं होते. अन्य बदलावों की तरह, ये बदलाव तब तक लाइव नहीं होते, जब तक आप उन्हें लागू नहीं कर देते.

  4. बदलावों को लागू करने के लिए, Edits: commit तरीके को कॉल करें. ऐसा करने के बाद, हर ट्रैक के उपयोगकर्ताओं को APK का अपडेट किया गया वर्शन मिलेगा. (सभी बदलावों की तरह, इन्हें लागू होने में भी कई घंटे लग सकते हैं.)

स्टेज्ड रोलआउट

अगर आपके पास अपने APK का कोई नया वर्शन है जिसे आपको धीरे-धीरे डिप्लॉय करना है, तो उसे "स्टेज किए गए रोलआउट" वर्शन के तौर पर रिलीज़ किया जा सकता है. ऐसा करने पर, Google Play इसे ऐप्लिकेशन के उन उपयोगकर्ताओं के लिए अपने-आप डिप्लॉय कर देता है जिनके लिए आपने इसे डिप्लॉय करने का अनुरोध किया है. अगर "रोलआउट" APK में कोई समस्या नहीं है (जैसे कि क्रैश वगैरह), तो हो सकता है कि आप उस वर्शन को पाने वाले उपयोगकर्ताओं की संख्या बढ़ा दें. जब आप तैयार हों, तब उस APK को नए प्रोडक्शन वर्शन के तौर पर डिप्लॉय किया जा सकता है.

इस सेक्शन में, किसी APK को कुछ लोगों के लिए रिलीज़ करने और फिर उसे प्रोडक्शन में प्रमोट करने का तरीका बताया गया है:

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.

  2. Edits.apks: upload तरीके का इस्तेमाल करके, बदलाव करने के लिए नया APK अपलोड करें.

  3. Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर "inProgress" की कुछ लोगों के लिए रिलीज़ करने की सुविधा शुरू करें. उन उपयोगकर्ताओं की संख्या चुनें जिन्हें नया APK मिलना चाहिए. इस समय, APK किसी भी असली उपयोगकर्ता के लिए उपलब्ध नहीं है.

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.05,
      "status": "inProgress"
    }]
    }

  4. Edits: commit को कॉल करके, चालू बदलावों को सेव करें. अगले कुछ घंटों में, नया APK उपयोगकर्ताओं के लिए रोल आउट कर दिया जाएगा. आपने जितने प्रतिशत उपयोगकर्ताओं को चुना है उन्हें नया APK मिलेगा.

कुछ लोगों के लिए रिलीज़ करने की सुविधा के सफल होने पर, आपके पास यह विकल्प होता है कि आप उस रिलीज़ के लिए ज़रूरी शर्तें पूरी करने वाले लोगों का प्रतिशत बढ़ाएं या रिलीज़ को रोक दें.

अलग-अलग चरणों में होने वाले रोल आउट के लिए, उपयोगकर्ताओं की संख्या बढ़ाना

मान लें कि आपने पिछले सेक्शन में बताए गए तरीके से, 5% उपयोगकर्ताओं के लिए रिलीज़ को चरणबद्ध तरीके से रोल आउट किया है. इस सेक्शन में बताया गया है कि अगर रिलीज़ ठीक से काम कर रही है, तो उपयोगकर्ताओं के लिए रिलीज़ को रोल आउट करने का प्रतिशत कैसे बढ़ाया जाए:

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.

  2. Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर "inProgress" की स्टेज की गई रिलीज़ में बदलाव करें. उन उपयोगकर्ताओं की संख्या बढ़ाएं जिन्हें नया APK मिलना चाहिए:

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.1,
      "status": "inProgress"
    }]
    }

  3. Edits: commit को कॉल करके, चालू बदलावों को सेव करें. अगले कुछ घंटों में, नया APK उपयोगकर्ताओं के लिए रोल आउट कर दिया जाएगा. आपने जितने प्रतिशत उपयोगकर्ताओं को चुना है उन्हें नया APK मिलेगा.

कुछ लोगों के लिए रिलीज़ करने की सुविधा को रोकना

मान लें कि आपने पिछले सेक्शन में बताए गए तरीके से, 5% उपयोगकर्ताओं के लिए रोल आउट को स्टेज किया है. इस सेक्शन में बताया गया है कि अगर आपको कोई समस्या मिलती है, तो रोल आउट को स्टेज करने की प्रोसेस को कैसे रोका जाए:

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.

  2. Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर "inProgress" की स्टेज की गई रिलीज़ में बदलाव करें. स्थिति को "halted" पर सेट करें.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }

  3. Edits: commit को कॉल करके, चालू बदलावों को सेव करें. आपकी रिलीज़, नए उपयोगकर्ताओं के लिए उपलब्ध नहीं रहेगी.

अगर आपको बाद में रोकी गई रिलीज़ को फिर से रोल आउट करना है, तो उसके स्टेटस को वापस "inProgress" पर सेट करके ऐसा किया जा सकता है.

कुछ लोगों के लिए रिलीज़ करने की प्रोसेस पूरी करना

अगर आपको लगता है कि ऐप्लिकेशन को कुछ लोगों के लिए रिलीज़ करने की सुविधा ठीक से काम कर रही है और आपको इसे सभी उपयोगकर्ताओं के लिए रिलीज़ करना है, तो रिलीज़ की स्थिति को "completed" पर सेट करें:

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से बदलाव करें.

  2. Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर "inProgress" की स्टेज की गई रिलीज़ में बदलाव करें. स्थिति को "completed" पर सेट करें.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "completed"
    }]
    }

  3. Edits: commit को कॉल करके, चालू बदलावों को सेव करें. अगले कुछ घंटों में, नया APK उपयोगकर्ताओं के लिए रोल आउट कर दिया जाएगा. आपने जितने प्रतिशत उपयोगकर्ताओं को चुना है उन्हें नया APK मिलेगा.

रोल आउट की प्रोसेस पूरी होने के बाद उसे रोकना

मान लें कि आपने पिछले सेक्शन में बताए गए तरीके से, किसी ट्रैक पर रोलआउट पूरा कर लिया है. इस सेक्शन में, रोलआउट पूरा होने के बाद किसी समस्या का पता चलने पर, उसे रोकने का तरीका बताया गया है:

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से, बदलाव करें.

  2. Edits.tracks: update तरीके का इस्तेमाल करके, प्रोडक्शन ट्रैक पर "completed" की रिलीज़ में बदलाव करें. स्टेटस को "halted" पर सेट करें.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }

  3. 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 के ज़रिए डिप्लॉय किया जा सकता है. किसी ट्रैक पर ड्राफ़्ट रिलीज़ बनाने के लिए:

  1. बदलाव करने का वर्कफ़्लो में बताए गए तरीके से, नया बदलाव खोलें
  2. अपलोड किए जाने वाले हर APK के लिए, Edits.apks: upload तरीके का इस्तेमाल करें. APK को तरीके के अनुरोध के मुख्य भाग में पास करें. यह तरीका, अपलोड किए गए हर APK के लिए एक वर्शन कोड दिखाता है. इस वर्शन कोड का इस्तेमाल, APK को रिलीज़ के लिए असाइन करते समय किया जाता है.
  3. आपको जिस ट्रैक को रिलीज़ करना है उसके लिए, Edits.tracks: update तरीके को कॉल करें. अनुरोध के मुख्य भाग में, Edits.tracks संसाधन पास करें. इसमें वह ड्राफ़्ट रिलीज़ शामिल होनी चाहिए जिसे आपको बनाना है. उदाहरण के लिए:

    {
    "releases": [{
      "name": "My draft release",
      "versionCodes": ["88"],
      "status": "draft"
    }]
    }

  4. बदलावों को लागू करने के लिए, 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."}
      ]
  }]
}