सामान्य मैनेजमेंट टास्क

ईएमएम की मदद से Android के लिए, अपने एंटरप्राइज़ सलूशन में कई सामान्य मैनेजमेंट टास्क लागू किए जा सकते हैं. उदाहरण के लिए, इस गाइड में दिए गए टास्क. सैंपल कोड, Java के लिए Google Play EMM API क्लाइंट लाइब्रेरी® का इस्तेमाल करता है.

उपयोगकर्ताओं को खोजें और उपयोगकर्ता की जानकारी पाएं

कई Google Play ईएमएम एपीआई को उपयोगकर्ता से जुड़े कुछ काम करने के लिए, userId (enterpriseId के अलावा) की ज़रूरत होती है. जैसे, ऐप्लिकेशन इंस्टॉल करना, एनटाइटलमेंट हासिल करना, और लाइसेंस देना. कुछ कॉल के लिए उपयोगकर्ता ऑब्जेक्ट की ज़रूरत होती है.

अगर कोई संगठन 'कारोबार के लिए Google Play खातों' का इस्तेमाल करता है, तो आपके पास उपयोगकर्ताओं के ईमेल पतों और उन खातों के यूज़र आईडी को मैप करने का विकल्प होता है. Google खातों के साथ, आप UsersListResponse का इस्तेमाल करते हैं.

उपयोगकर्ताओं को खोजें

इस कोड सैंपल को, Google खातों से जुड़े यूज़र आईडी मिलते हैं. यह उन संगठनों पर लागू नहीं होता जो 'कारोबार के लिए Google Play खाते' का इस्तेमाल करते हैं.

इस उदाहरण में यह माना जाता है कि आपने अपने कोड में User और UsersListResponse मॉडल इंपोर्ट किए हैं. कोई खास उपयोगकर्ता खाता पाने के लिए, UsersListResponse को enterpriseId और ईमेल भेजकर उसका userId पाएं.

public UsersListResponse list(String enterpriseId, String email) throws
   IOException {
    return androidEnterprise
        .users()
        .list(enterpriseId, email)
        .execute();
}

उपयोगकर्ता की जानकारी पाना

userId मिलने के बाद, अन्य जानकारी वापस पाई जा सकती है. यहां जाएं: Users.Get.

public User get(String enterpriseId, String userId) throws IOException {
    return androidEnterprise
        .users()
        .get(enterpriseId, userId)
        .execute();
}

उपयोगकर्ता को ऐप्लिकेशन का ऐक्सेस देना

Google Play के ईएमएम एपीआई का इस्तेमाल करके, यह तय किया जा सकता है कि उपयोगकर्ता किन ऐप्लिकेशन को ऐक्सेस कर सकता है मैनेज कर सकते हैं. किसी ऐप्लिकेशन के ऐक्सेस में ये काम किए जा सकते हैं इसे खोजें, देखें, इंस्टॉल करें, और अपडेट करें. Google Analytics 4 प्रॉपर्टी को ऐक्सेस करने के लिए, उपलब्ध स्तर:

  • सिर्फ़ अनुमति वाले ऐप्लिकेशन: उपयोगकर्ता के पास सिर्फ़ कुछ खास ऐप्लिकेशन का ऐक्सेस होता है.
  • स्वीकार किए गए सभी ऐप्लिकेशन: उपयोगकर्ता के पास उन सभी ऐप्लिकेशन का ऐक्सेस होता है जिन्हें मंज़ूरी मिली है के लिए इस्तेमाल किया जा सकता है.
  • सभी ऐप्लिकेशन: उपयोगकर्ता के पास सार्वजनिक तौर पर उपलब्ध सभी ऐप्लिकेशन का ऐक्सेस होता है Google Play Store में.

उपयोगकर्ता को सिर्फ़ कुछ खास ऐप्लिकेशन का ऐक्सेस दें

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

  • ऐसे productIds (ऐप्लिकेशन) की सूची इकट्ठा करें जिन्हें उपयोगकर्ता (productSet) के लिए मंज़ूरी दी गई है.
  • बताएं कि productSetBehavior स्ट्रिंग की वैल्यू को "whitelist" पर सेट करके, उपयोगकर्ता सिर्फ़ दी गई सूची में मौजूद ऐप्लिकेशन को ऐक्सेस कर सकता है.
  • setAvailableProductSet का इस्तेमाल करके उपयोगकर्ता के उपलब्ध प्रॉडक्ट सेट पर, productIds की सूची और व्यवहार की सेटिंग लागू करें.
public ProductSet setProductSet(String enterpriseId, String userId,
    List<String> productIds) throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductId(productIds);
  productSet.setProductSetBehavior("whitelist");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

उपयोगकर्ता को उन सभी ऐप्लिकेशन का ऐक्सेस देना जिन्हें मंज़ूरी मिली है

यहां दिए गए उदाहरण में, किसी उपयोगकर्ता को ऐसे ऐप्लिकेशन का ऐक्सेस देने का तरीका बताया गया है जिसे अनुमति मिल चुकी है एंटरप्राइज़ के लिए, मैनेज किए जा रहे Google Play Store से. इस प्रोसेस में, इसके लिए, नीचे दिया गया तरीका अपनाएं:

  • तय करें कि उपयोगकर्ता, productSetBehavior स्ट्रिंग की वैल्यू को "allApproved" पर सेट करके, एंटरप्राइज़ के लिए स्वीकार किए गए सभी ऐप्लिकेशन को ऐक्सेस कर सकता है.
  • setAvailableProductSet का इस्तेमाल करने वाले लोगों पर यह सेटिंग लागू करें.
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("allApproved");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

ध्यान दें: जब productSetBehavior को "allApproved" पर सेट किया जाता है, आपको productSet के लिए कोई productIds तय करने की ज़रूरत नहीं है.

उपयोगकर्ता को सभी ऐप्लिकेशन का ऐक्सेस देना

नीचे दिए गए उदाहरण में, किसी उपयोगकर्ता को 'कारोबार के लिए Google' में अनुमति देने का तरीका बताया गया है Play Store का इस्तेमाल करके, ऐसे किसी भी ऐप्लिकेशन को ऐक्सेस किया जा सकता है जो सार्वजनिक Google Play Store में उपलब्ध है. जिन उपयोगकर्ताओं के पास सभी ऐप्लिकेशन का ऐक्सेस है उन्हें अब भी सिर्फ़ उनकी एंटरप्राइज़ के लिए, कारोबार के लिए Google Play खोलने पर, लेकिन दूसरे ऐप्लिकेशन ढूंढ सकते हैं खोज करके.

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

  • तय करें कि उपयोगकर्ता, productSetBehavior स्ट्रिंग की वैल्यू को "includeAll" पर सेट करके, Google Play Store में मौजूद सभी ऐप्लिकेशन ऐक्सेस कर सकता है.
  • setAvailableProductSet का इस्तेमाल करने वाले लोगों पर यह सेटिंग लागू करें.
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId)
    throws IOException {
  ProductSet productSet = new ProductSet();
  productSet.setProductSetBehavior("includeAll");

  return androidEnterprise
      .users()
      .setAvailableProductSet(enterpriseId, userId, productSet)
      .execute();
}

ध्यान दें: जब productSetBehavior को "includeAll" पर सेट किया जाता है, आपको productSet के लिए कोई productIds तय करने की ज़रूरत नहीं है.

स्टोर का लेआउट बनाएं

उपयोगकर्ताओं को ऐप्लिकेशन का ऐक्सेस देने के बाद, ऐप्लिकेशन को क्लस्टर में ग्रुप करें, ताकि उन्हें 'कारोबार के लिए Google Play' के फ़्रंट पेज पर दिखाया जा सके.

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

किसी ऐप्लिकेशन की अनुमतियां लेना

ऐप्लिकेशन को कस्टम स्टोर लेआउट में जोड़ने के लिए या किसी उपयोगकर्ता के उपयोगकर्ता को उस ऐप्लिकेशन को दिखाना होगा, ताकि उसे चुना जा सके. एडमिन को यह तय करना होगा कि पूरे संगठन के लिए उस ऐप्लिकेशन की अनुमतियां स्वीकार करनी होंगी. एडमिन ये काम कर सकते हैं ऐप्लिकेशन की अनुमतियों को स्वीकार करें और मैनेज किए जा रहे ऐप्लिकेशन में डिस्ट्रिब्यूशन के लिए, ऐप्लिकेशन को 'स्वीकार किया गया' के तौर पर मार्क करें Google Play Console (कारोबार के लिए Google Play की खास जानकारी देखें).

हमारा सुझाव है कि अनुमति iframe को अपने ईएमएम कंसोल. इसका मतलब है कि उपयोगकर्ता को कारोबार के लिए Google Play Console. iframe का यूआरएल पाने के लिए Products.getApprovalUrl का इस्तेमाल करें.

public String getApprovalUrl(String enterpriseId, String productId)
    throws IOException {
  return androidEnterprise
      .products()
      .generateApprovalUrl(enterpriseId, productId)
      .execute()
      .getUrl();
}

उन अनुमतियों को स्वीकार करने के लिए, Products.approve का इस्तेमाल करें.

public void approveProduct(String enterpriseId,
    String productId,
    String approvalUrl) throws IOException {
  ProductsApproveRequest productsApproveRequest =
      new ProductsApproveRequest()
          .setApprovalUrlInfo(
              new ApprovalUrlInfo().setApprovalUrl(approvalUrl));
  androidEnterprise
      .products()
      .approve(enterpriseId, productId, productsApproveRequest)
      .execute();
  }

उपयोगकर्ता के डिवाइस लें

डिवाइस से जुड़ी खास कार्रवाइयां करने के लिए, आपको Google Ads खाते से जुड़े डिवाइस की पहचान करनी होगी एक उपयोगकर्ता. यह उदाहरण DevicesListResponse का इस्तेमाल करने वाले किसी दिए गए userID के लिए डिवाइसों की सूची दिखाता है.

public DevicesListResponse list(String enterpriseId, String userId) throws
   IOException {

    return androidEnterprise
        .devices()
        .list(enterpriseId, userId)
        .execute();
}

अगर उपयोगकर्ता, ऐक्सेस करने की कोशिश करते समय लागू की गई सेवा की शर्तों से सहमत है कारोबार के लिए Google Play का पहली बार इस्तेमाल किया है, तो रिस्पॉन्स में मैनेज नहीं किए जा रहे डिवाइस शामिल हैं (unmanagedProfile मैनेजमेंट टाइप वाले डिवाइस).

डिवाइस की स्थिति देखना और उसे सेट करना

मैनेज करने का यह टास्क सिर्फ़ उन संगठनों पर लागू होता है जो Google खातों का इस्तेमाल करते हैं. यह उन संगठनों पर लागू नहीं होता जो कारोबार के लिए Google Play खातों का इस्तेमाल करते हैं.

जब उपयोगकर्ता का मैनेज किया जा रहा Google खाता, मैनेज किए जा रहे डिवाइस पर चालू होता है, तो Google की सेवाओं को चालू (या बंद) करने के लिए इनका इस्तेमाल किया जाता है:

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

यह उदाहरण दिखाता है कि किसी डिवाइस की स्थिति कैसे पता की जाए (पास के ज़रिए बताया जाता है) enterpriseId, userId, और deviceId).

getState() और setState() ऑपरेशन, managementType वाले डिवाइसों के लिए काम करते हैं सिर्फ़ managedDevice या managedProfile (Devices संसाधन पर) के लिए. इस सुविधा वाले डिवाइस unmanagedProfile में से managementType को इन एपीआई से कंट्रोल नहीं किया जा सकता.

public DeviceState getState(String enterpriseId, String userId, String
   deviceId) throws IOException {

    return androidEnterprise
        .devices()
        .getState(enterpriseId, userId, deviceId)
        .execute();
}

आप AccountState स्ट्रिंग को सही कॉन्सटेंट पर ले जाएं.

public DeviceState setState(String enterpriseId, String userId, String
   deviceId, String accountState) throws IOException {

    DeviceState deviceState = new DeviceState();
    deviceState.setAccountState(accountState);

    return androidEnterprise
        .devices()
        .setState(enterpriseId, userId, deviceId, deviceState)
        .execute();
}

डिवाइस पर ऐप्लिकेशन को पुश इंस्टॉल करें

व्यवस्थापक ऐप्लिकेशन को चुपचाप इंस्टॉल कर सकते हैं. उपयोगकर्ता इंटरैक्शन की ज़रूरत नहीं है. बिना आवाज़ के किसी ऐप्लिकेशन को इंस्टॉल करने के लिए, इस उदाहरण में Installs.Update का इस्तेमाल किया गया है. इस ऐप्लिकेशन की पहचान productId करता है किसी डिवाइस से (deviceId ने पहचाना).

public Install update(String enterpriseId, String userId, String
   deviceId, String productId) throws IOException {

    return androidEnterprise
        .installs()
        .update(enterpriseId, userId, deviceId, productId,
           new Install())
        .execute();
}

अगर डिवाइस पर ऐप्लिकेशन पहले से मौजूद है और अपडेट किया गया वर्शन उपलब्ध है, तो ऐप्लिकेशन को नए वर्शन में अपडेट कर दिया जाता है.

अनुमति पा चुके ऐप्लिकेशन की सूची में, ऐप्लिकेशन खोजें और उनसे ऐप्लिकेशन डाउनलोड करें

एडमिन, मंज़ूरी पा चुके उन ऐप्लिकेशन की सूची बनाते और उन्हें मैनेज करते हैं जो 'कारोबार के लिए Google Play' पर उनके उपयोगकर्ताओं के लिए उपलब्ध होते हैं. 'ऑफ़िस में निजी डिवाइस का इस्तेमाल' करके वर्क प्रोफ़ाइल वाले डिवाइस इस्तेमाल करने वाले और कॉर्पोरेट डिवाइस इस्तेमाल करने वाले ऐसे डिवाइस इस्तेमाल करने वाले लोग सिर्फ़ इस सूची से ऐप्लिकेशन डाउनलोड कर सकते हैं जिन्हें संगठन मैनेज करता है.

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

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

अपनी क्वेरी में, आप तय कर सकते हैं कि आपके नतीजे में ज़्यादा से ज़्यादा कितने प्रॉडक्ट शामिल होने चाहिए, जैसे कि setMaxResults(10L). इतना ही नहीं, यह सिर्फ़ स्क्रीन पर भरने के लिए काफ़ी है. डिफ़ॉल्ट मान 100 है, जो कि एक बार में लौटाए जा सकने वाले ज़्यादा से ज़्यादा मान भी है. जब किसी नतीजे में, पेजिनेशन टोकन शामिल होता है, तो ऐसे और भी नतीजे मिलते हैं जिन्हें पेज नंबर वाला टोकन पास करके वापस पाया जा सकता है.

इस उदाहरण में, बेहतर ढंग से काम करने में मदद करने वाले ऐप्लिकेशन खोजने के लिए, पहले 10 नतीजे पाने का तरीका बताया गया है. Products.List देखें.

public List searchProducts(String enterpriseId) throws IOException {
  ProductsListResponse executeResult =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setQuery("productivity")
          .execute();
  return executeResult.getProduct();
}

अगर खोज के नतीजे में, पेज पर नंबर डालने वाला टोकन शामिल है, तो खोज के लिए setMaxResults से ज़्यादा नतीजे मिले हैं. इसके अलावा, इस उदाहरण में 10 से ज़्यादा नतीजे मिले हैं. ज़्यादा नतीजे पाने के लिए, खोज को फिर से करें और अनुरोध में, पेजों का नंबर डालें. इस उदाहरण में अगले 10 नतीजे दिखाए जाते हैं.

public ProductsListResponse continueSearch(
    String enterpriseId, ProductsListResponse previousResponse) throws IOException {
  ProductsListResponse nextResults =
      androidEnterprise
          .products()
          .list(enterpriseId)
          .setMaxResults(10L)
          .setToken(previousResponse.getTokenPagination().getNextPageToken())
          .setQuery("productivity")
          .execute();
  return nextResults;
}