ऐप्लिकेशन डिस्ट्रिब्यूट करें

Google Play EMM API, सार्वजनिक और निजी ऐप्लिकेशन के लिए नीचे दिए गए डिस्ट्रिब्यूशन के तरीकों के साथ काम करता है:

'कारोबार के लिए Google Play Store' से, मैन्युअल तरीके से ऐप्लिकेशन इंस्टॉल करना

Device के policy में जाकर, यह तय किया जा सकता है कि उपयोगकर्ता के लिए कौनसे ऐप्लिकेशन इंस्टॉल किए जा सकते हैं और Devices.update पर कॉल करके, इसे सेट किया जा सकता है. नए डिवाइस का प्रावधान करते समय, आपको मैनेज किए जा रहे Google Play खाते को डिवाइस में जोड़ने से पहले नीति को सेट करना होगा. ऐसा न करने पर, डिवाइस में खाता जोड़ने के बाद कुछ समय तक यह नीति लागू नहीं होगी.

मैनेज किए जा रहे Play Store के व्यवहार को policy.productAvailabilityPolicy की वैल्यू से तय किया जाता है:

  • all: Play Store के सभी सार्वजनिक ऐप्लिकेशन उपलब्ध हैं.
  • whitelist: सिर्फ़ policy.productPolicy में मौजूद ऐप्लिकेशन उपलब्ध हैं.

दोनों ही मामलों में, policy.productPolicy में मौजूद सभी ऐप्लिकेशन, एंटरप्राइज़ के स्टोर लेआउट में डिफ़ॉल्ट रूप से जुड़ जाते हैं. एंटरप्राइज़ का स्टोर लेआउट, whitelist को चुनने पर, मैनेज किए जा रहे Play Store का होम पेज होता है. साथ ही, all को चुनने पर, इसे "वर्क ऐप्लिकेशन" टैब में ऐक्सेस किया जा सकता है. मैनेज किए जा रहे Google Play iframe को एम्बेड करके, अपने ग्राहक को एंटरप्राइज़ के स्टोर लेआउट को पसंद के मुताबिक बनाने की अनुमति दी जा सकती है. मैनेज किए जा रहे Google Play iframe के साथ ऐप्लिकेशन व्यवस्थित करना लेख पढ़ें.

उपयोगकर्ता के डिवाइस पर दूर से ऐप्लिकेशन इंस्टॉल करना

किसी ऐप्लिकेशन को उपयोगकर्ता के डिवाइस पर रिमोट तरीके से इंस्टॉल करने (इसे पुश इंस्टॉल भी कहा जाता है) के लिए, Device के policy में policy.productPolicy.autoInstallPolicy को सेट करें. नए डिवाइस का प्रावधान करते समय, आपको मैनेज किए जा रहे Google Play खाते को डिवाइस में जोड़ने से पहले नीति को सेट करना होगा. ऐसा न करने पर, डिवाइस में खाता जोड़ने के बाद कुछ समय तक यह नीति लागू नहीं होगी.

autoInstallMode को इस पर सेट किया जा सकता है:

  • doNotAutoInstall: ऐप्लिकेशन अपने-आप इंस्टॉल नहीं होता है.
  • autoInstallOnce: ऐप्लिकेशन एक बार अपने-आप इंस्टॉल हो जाता है. अगर उपयोगकर्ता ऐप्लिकेशन को अनइंस्टॉल करता है, तो उसे दोबारा इंस्टॉल नहीं किया जा सकेगा.
  • forceAutoInstall: ऐप्लिकेशन अपने-आप इंस्टॉल हो जाता है. अगर उपयोगकर्ता ऐप्लिकेशन को अनइंस्टॉल करता है, तो वह फिर से इंस्टॉल हो जाएगा. मैनेज किए जा रहे डिवाइसों पर DPC को, DevicePolicyManager.setUninstallBlocked का इस्तेमाल करके अनइंस्टॉल को ब्लॉक कर देना चाहिए.

कनेक्ट नहीं हो पाने (कनेक्टिविटी में कमी, स्टोरेज की कमी वगैरह) के मामले में, इंस्टॉल होने की कोशिश अपने-आप तब तक होती रहती है, जब तक वे सफल नहीं हो जाते. डेटा और बैटरी को खर्च होने से बचाने के लिए, एक्स्पोनेंशियल बैकऑफ़ ट्रिप रणनीति लागू की जाती है.

इंस्टॉल की प्राथमिकता

autoInstallPriority को सेट करके, इंस्टॉल का क्रम चुना जा सकता है. प्राथमिकता एक बिना हस्ताक्षर वाला पूर्णांक होना चाहिए और डिफ़ॉल्ट मान 0 होना चाहिए. ऐप्लिकेशन बढ़ते क्रम या प्राथमिकता के हिसाब से इंस्टॉल किए जाएंगे. इसका मतलब है कि कम प्राथमिकता वाले ऐप्लिकेशन पहले इंस्टॉल किए जाएंगे.

इंस्टॉल करने से जुड़ी पाबंदियां

हर ऐप्लिकेशन के लिए इंस्टॉल से जुड़ी पाबंदियां सेट करने के लिए, autoInstallConstraint सेट करें. इससे, इंस्टॉल के दौरान डिवाइस की ज़रूरी स्थिति को कंट्रोल किया जा सकता है:

  • डिवाइस को वाई-फ़ाई नेटवर्क से कनेक्ट करना चाहिए या नहीं,
  • डिवाइस चार्ज होना चाहिए या नहीं,
  • और डिवाइस को कुछ समय के लिए इस्तेमाल न करना हो या नहीं. उपयोगकर्ता इसका इस्तेमाल सक्रिय रूप से न कर रहा हो.

अगर ज़रूरी शर्तें तुरंत पूरी नहीं की जाती हैं, तो जिन इंस्टॉल पर असर पड़ा है उन्हें तब तक सूची में रखा जाएगा, जब तक वे शर्तें पूरी नहीं हो जातीं.

autoInstallConstraint में, AND नियम फ़ील्ड के बीच लागू होता है. उदाहरण के लिए, नीचे दिए गए autoInstallConstraint के साथ, ऐप्लिकेशन इंस्टॉल करने के लिए यह ज़रूरी है कि वह चार्ज हो रहा हो और बिना मीटर वाले नेटवर्क (जैसे कि वाई-फ़ाई) से कनेक्ट हो:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

प्रावधान किए गए नए डिवाइसों पर ऐप्लिकेशन अपने-आप इंस्टॉल होने की सुविधा पाएं

जब किसी डिवाइस को पहली बार प्रावधान किया जाता है, तो Google Play ईएमएम एपीआई NewDeviceEvent सूचना भेजता है. नए प्रावधान किए गए डिवाइसों पर ऐप्लिकेशन अपने-आप पुश-इंस्टॉल करने के लिए, NewDeviceEvent की सूचनाएं सुनें. हर NewDeviceEvent से, userId और deviceId को वापस लाएं. इसके बाद, उस डिवाइस के लिए नीति सेट करने के लिए, Devices.update को कॉल करें.

ईएमएम सूचनाओं की सदस्यता लेने का तरीका जानने के लिए, ईएमएम सूचनाएं सेट अप करना देखें.

क्लोज़्ड टेस्ट के लिए ऐप्लिकेशन उपलब्ध कराना

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

ज़रूरी शर्तें पूरी करने वाले ऐप्लिकेशन

इससे पहले कि डेवलपर किसी एंटरप्राइज़ को अपने ऐप्लिकेशन के क्लोज़्ड टेस्टर की सूची में जोड़े, ऐप्लिकेशन को इन शर्तों को पूरा करना होगा:

  • ऐप्लिकेशन का प्रोडक्शन वर्शन, Google Play पर पब्लिश हो जाता है.
  • Google Play Console में, कारोबार के लिए Google Play, ऐप्लिकेशन के बेहतर सेटिंग पेज पर चालू है.
  • ऐप्लिकेशन का कोई भी बंद वर्शन, वर्शन कोड की ज़रूरी शर्तों को पूरा करता है.

क्लोज़्ड टेस्ट में किसी एंटरप्राइज़ को जोड़ना

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

  1. कारोबार के लिए Google Play Store में साइन इन करें.
  2. एडमिन सेटिंग पर क्लिक करें.
  3. संगठन की जानकारी वाले बॉक्स से संगठन आईडी स्ट्रिंग कॉपी करें और डेवलपर को भेजें.

निजी ऐप्लिकेशन के लिए अन्य ज़रूरी शर्तें

निजी ऐप्लिकेशन के लिए, डेवलपर को इसमें हिस्सा लेने वाले हर संगठन का संगठन आईडी भी जोड़ना होगा. यह आईडी, ऐप्लिकेशन के बेहतर सेटिंग वाले पेज पर कारोबार के लिए Google Play टैब में जोड़ा जा सकता है. निर्देशों के लिए, निजी ऐप्लिकेशन पब्लिश करना देखें.

उपयोगकर्ताओं को क्लोज़्ड ट्रैक उपलब्ध कराएं

अगर किसी खास ऐप्लिकेशन के लिए एंटरप्राइज़ के लिए उपलब्ध ट्रैक की सूची को फिर से पाना है, तो Products.get को कॉल करें. जवाब में शामिल appTracks[] की सूची में, हर ऐप्लिकेशन के लिए उपलब्ध ट्रैक शामिल होते हैं. appTracks[].trackAlias, ट्रैक का उपयोगकर्ता पढ़ने में आसान नाम होता है, जिसे ईएमएम कंसोल में दिखाया जा सकता है. साथ ही, appTracks[].trackId, ट्रैक का मशीन से पढ़ा जा सकने वाला आईडी है.

उपयोगकर्ता को ऐप्लिकेशन के क्लोज़्ड ट्रैक की अनुमति देने के लिए, Device के policy में policy.productPolicy[].trackIds[] को सेट करें. अगर किसी डिवाइस के लिए एक से ज़्यादा ट्रैक उपलब्ध हैं, तो सबसे नया वर्शन कोड वाला वह वर्शन इंस्टॉल किया जाएगा.

यहां दी गई कुछ स्थितियों में TrackIds अपने-आप Products.get कॉल से हटा दिए जाएंगे:

  • ट्रैक के APK को किसी दूसरे ट्रैक या प्रोडक्शन पर प्रमोट किया जाता है.
  • प्रोडक्शन वर्शन को, ट्रैक की तुलना में नए वर्शन में अपडेट किया जाता है.
  • एक डेवलपर ट्रैक रोक देता है.

पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन के लाइसेंस ट्रैक करें

पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन के लिए, Grouplicenses ऑब्जेक्ट इस बात पर नज़र रखता है कि किसी एंटरप्राइज़ के पास कितने लाइसेंस हैं और कितने लाइसेंस इस्तेमाल किए जा रहे हैं. किसी ऐप्लिकेशन के लाइसेंस की जानकारी पाने के लिए, Grouplicenses.get को कॉल करें.

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

Grouplicenses और Entitlements ऑब्जेक्ट का इस्तेमाल ऐसे ऐप्लिकेशन में नहीं किया जाता जिन्हें बिना किसी शुल्क के उपलब्ध कराया जाता है.