डिवाइस नीति कंट्रोलर बनाएं

इस गाइड में, Android Enterprise डिप्लॉयमेंट में शामिल डिवाइसों के लिए डिवाइस नीति कंट्रोलर (डीपीसी) डेवलप करने का तरीका बताया गया है. डीपीसी ऐप्लिकेशन, जिसे पहले वर्क प्रोफ़ाइल के लिए नीति कंट्रोलर के तौर पर जाना जाता था, डिवाइसों पर स्थानीय डिवाइस की नीतियों और सिस्टम ऐप्लिकेशन को कंट्रोल करता है.

डीपीसी के बारे में जानकारी

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

ईएमएम के तौर पर, आपको एक ऐसा डीपीसी ऐप्लिकेशन डेवलप करना होगा जिसे आपके ग्राहक, आपके ईएमएम कंसोल और सर्वर के साथ इस्तेमाल कर सकें. आपका ग्राहक, उन डिवाइसों पर DPC को डिप्लॉय करता है जिन्हें वह मैनेज करता है. डीपीसी, आपके ईएमएम कंसोल (और सर्वर) और डिवाइस के बीच पुल का काम करता है. एडमिन, ईएमएम कंसोल का इस्तेमाल करके कई तरह के काम करता है. जैसे, डिवाइस की सेटिंग और ऐप्लिकेशन कॉन्फ़िगर करना.

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

इस गाइड में, ऐसा डीपीसी डेवलप करने का तरीका बताया गया है जो वर्क प्रोफ़ाइलें बना और मैनेज कर सके.

ईएमएम के लिए DPC सपोर्ट लाइब्रेरी

EMM के लिए DPC Support Library में, यूटिलिटी और हेल्पर क्लास शामिल होती हैं. इनसे एंटरप्राइज़ एनवायरमेंट में, Android डिवाइसों को उपलब्ध कराने और उन्हें मैनेज करने में मदद मिलती है. इस लाइब्रेरी की मदद से, DPC ऐप्लिकेशन में इन अहम सुविधाओं का इस्तेमाल किया जा सकता है:

  • कारोबार के लिए Google Play खातों को चालू करने की सुविधा: डीपीसी ऐप्लिकेशन से कारोबार के लिए Google Play खातों को चालू करने के लिए, यह ज़रूरी है कि Google Play और Google Play services ऐप्लिकेशन, वर्शन से जुड़ी ज़रूरी शर्तों को पूरा करते हों. हालांकि, इन ऐप्लिकेशन को अपडेट करना मुश्किल हो सकता है. DPC support library, इन ऐप्लिकेशन को अपडेट करने का काम करती है. साथ ही, यह भी पक्का करती है कि मैनेज किए जा रहे Google Play खातों को उपलब्ध कराने की प्रोसेस के आने वाले अपडेट के साथ यह लाइब्रेरी काम करे. ज़्यादा जानकारी के लिए, Managed Google Play खातों के लिए, डिवाइसों को सेट अप करने से जुड़ी सहायता देखें.
  • मैनेज किए जा रहे कॉन्फ़िगरेशन की सुविधा: अनुमति वाले ऐप्लिकेशन के लिए मैनेज किए जा रहे कॉन्फ़िगरेशन को हैंडल करने के लिए, Play EMM API का इस्तेमाल करना, मैनेज किए जा रहे कॉन्फ़िगरेशन को अपने डीपीसी पर लागू करने का सबसे आसान तरीका है. DPC Support Library की मदद से, Google Play को यह काम सौंपा जा सकता है कि वह एडमिन की ओर से सेट की गई मैनेज की गई कॉन्फ़िगरेशन (पहले, ऐप्लिकेशन पर पाबंदियां) लागू करे. इसके लिए, आपकी EMM कंसोल का इस्तेमाल किया जाता है. Play EMM API का इस्तेमाल करके मैनेज किए गए कॉन्फ़िगरेशन को हैंडल करने से, ऐप्लिकेशन के कॉन्फ़िगरेशन को इंस्टॉलेशन के दौरान एक साथ लागू किया जा सकता है. अपने डीपीसी में इस सुविधा को चालू करने के तरीके के बारे में ज़्यादा जानने के लिए, काम से जुड़े ऐप्लिकेशन पर मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करना लेख पढ़ें.

लाइब्रेरी डाउनलोड करने के लिए, यहां दिया गया तरीका अपनाएं. इस गाइड में बताए गए टास्क के लिए, DPC सपोर्ट लाइब्रेरी का इस्तेमाल करना ज़रूरी है.

डीपीसी सपोर्ट लाइब्रेरी डाउनलोड करना

डीपीसी सपोर्ट लाइब्रेरी का इस्तेमाल करने के लिए, Android Enterprise EMM Provider community से लाइब्रेरी डाउनलोड करें. आपको अपनी build.gradle फ़ाइल में लाइब्रेरी जोड़नी होगी. साथ ही, DPC ऐप्लिकेशन बनाते समय अन्य डिपेंडेंसी का ध्यान रखना होगा. उदाहरण के लिए, लाइब्रेरी के लिए 11.4.0 Google Play services auth client library की ज़रूरत होती है.

  1. लाइब्रेरी को build.gradle फ़ाइल में जोड़ें:

    Groovy

    implementation(name:'dpcsupport-yyyymmdd', ext:'aar')

    Kotlin

    implementation(name = "dpcsupport-yyyymmdd", ext = "aar")
  2. build.gradle फ़ाइल में 11.4.0 Google Play Services auth client library जोड़ें:

    Groovy

    implementation 'com.google.android.gms:play-services-auth:11.4.0'

    Kotlin

    implementation("com.google.android.gms:play-services-auth:11.4.0")

लाइब्रेरी को चलाने के लिए कुछ अनुमतियों की ज़रूरत होती है. इसलिए, Google Play पर अपलोड करते समय, आपको इन्हें अपने DPC ऐप्लिकेशन के मेनिफ़ेस्ट में जोड़ना होगा:

  <uses-permission android:name=
      "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
  <uses-permission android:name=
      "android.permission.GET_ACCOUNTS"/>
  <uses-permission android:name=
      "android.permission.MANAGE_ACCOUNTS"/>
  <uses-permission android:name=
      "android.permission.WRITE_SYNC_SETTINGS"/>
  <uses-permission android:name=
      "com.google.android.providers.gsf.permission.READ_GSERVICES"/>

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

कोई DPC बनाना

डिवाइस एडमिनिस्ट्रेशन ऐप्लिकेशन के लिए इस्तेमाल किए जाने वाले मौजूदा मॉडल पर अपना डीपीसी बनाएं. खास तौर पर, आपके ऐप्लिकेशन को DeviceAdminReceiver (android.app.admin पैकेज की एक क्लास) को सबक्लास करना होगा. इसके बारे में डिवाइस एडमिनिस्ट्रेशन में बताया गया है.

वर्क प्रोफ़ाइल बनाएं

बुनियादी वर्क प्रोफ़ाइल बनाने का तरीका दिखाने वाले सैंपल के लिए, GitHub पर BasicManagedProfile देखें.

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

Kotlin

if (!packageManager.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS)) {
    // This device does not support work profiles!
}

Java

PackageManager pm = getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS)) {
    // This device does not support work profiles!
}

अगर डिवाइस पर वर्क प्रोफ़ाइल की सुविधा काम करती है, तो ACTION_PROVISION_MANAGED_PROFILE ऐक्शन के साथ इंटेंट भेजकर वर्क प्रोफ़ाइल बनाएं. (कुछ दस्तावेज़ों में, मैनेज की गई प्रोफ़ाइल एक सामान्य शब्द है. इसका मतलब, एंटरप्राइज़ में Android के संदर्भ में वर्क प्रोफ़ाइल से है.) डिवाइस एडमिन के पैकेज का नाम, अतिरिक्त तौर पर शामिल करें:

Kotlin

val provisioningActivity = getActivity()

// You'll need the package name for the DPC app.
val myDPCPackageName = "com.example.myDPCApp"

// Set up the provisioning intent
val adminComponent = ComponentName(provisioningActivity.applicationContext, MyAdminReceiver::class.java)
provisioningIntent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, adminComponent.flattenToString())
if (provisioningIntent.resolveActivity(provisioningActivity.packageManager) == null) {
    // No handler for intent! Can't provision this device.
    // Show an error message and cancel.
} else {
    // REQUEST_PROVISION_MANAGED_PROFILE is defined
    // to be a suitable request code
    startActivityForResult(provisioningIntent,
            REQUEST_PROVISION_MANAGED_PROFILE)
    provisioningActivity.finish()
}

Java

Activity provisioningActivity = getActivity();
// You'll need the package name for the DPC app.
String myDPCPackageName = "com.example.myDPCApp";
// Set up the provisioning intent
Intent provisioningIntent =
        new Intent("android.app.action.PROVISION_MANAGED_PROFILE");
ComponentName adminComponent = new ComponentName(provisioningActivity.getApplicationContext(), MyAdminReceiver.class);
provisioningIntent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, adminComponent.flattenToString());
if (provisioningIntent.resolveActivity(provisioningActivity.getPackageManager())
         == null) {
    // No handler for intent! Can't provision this device.
    // Show an error message and cancel.
} else {
    // REQUEST_PROVISION_MANAGED_PROFILE is defined
    // to be a suitable request code
    startActivityForResult(provisioningIntent,
            REQUEST_PROVISION_MANAGED_PROFILE);
    provisioningActivity.finish();
}

सिस्टम इस इंटेंट का जवाब देने के लिए, ये काम करता है:

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

यह देखने के लिए कि क्या प्रावधान पूरा हो गया है, onActivityResult() को बदलें:

Kotlin

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
    // Check if this is the result of the provisioning activity
    if (requestCode == REQUEST_PROVISION_MANAGED_PROFILE) {
        // If provisioning was successful, the result code is
        // Activity.RESULT_OK
        if (resultCode == Activity.RESULT_OK) {
            // Work profile created and provisioned.
        } else {
            // Provisioning failed.
        }
        return
    } else {
        // This is the result of some other activity. Call the superclass.
        super.onActivityResult(requestCode, resultCode, data)
    }
}

Java

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check if this is the result of the provisioning activity
    if (requestCode == REQUEST_PROVISION_MANAGED_PROFILE) {
        // If provisioning was successful, the result code is
        // Activity.RESULT_OK
        if (resultCode == Activity.RESULT_OK) {
            // Work profile created and provisioned.
        } else {
            // Provisioning failed.
        }
        return;
    } else {
        // This is the result of some other activity. Call the superclass.
        super.onActivityResult(requestCode, resultCode, data);
    }
}

वर्क प्रोफ़ाइल चालू करने की प्रोसेस पूरी करना

प्रोफ़ाइल के प्रोविज़न हो जाने के बाद, सिस्टम DPC ऐप्लिकेशन के DeviceAdminReceiver.onProfileProvisioningComplete() तरीके को कॉल करता है. वर्क प्रोफ़ाइल को चालू करने की प्रोसेस पूरी करने के लिए, इस कॉलबैक तरीके को बदलें.

आम तौर पर, DeviceAdminReceiver.onProfileProvisioningComplete() कॉलबैक को लागू करने पर ये काम होते हैं:

वर्क प्रोफ़ाइल चालू करना

ये टास्क पूरे करने के बाद, वर्क प्रोफ़ाइल चालू करने के लिए डिवाइस नीति मैनेजर के setProfileEnabled() तरीके को कॉल करें:

Kotlin

// Get the device policy manager
val myDevicePolicyMgr = getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
val componentName = myDeviceAdminReceiver.getComponentName(this)
// Set the name for the newly created work profile.
myDevicePolicyMgr.setProfileName(componentName, "My New Work Profile")
// ...and enable the profile
myDevicePolicyMgr.setProfileEnabled(componentName)

Java

// Get the device policy manager
DevicePolicyManager myDevicePolicyMgr =
        (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName componentName = myDeviceAdminReceiver.getComponentName(this);
// Set the name for the newly created work profile.
myDevicePolicyMgr.setProfileName(componentName, "My New Work Profile");
// ...and enable the profile
myDevicePolicyMgr.setProfileEnabled(componentName);

डिवाइस से जुड़ी नीतियां सेट अप करना

डीपीसी ऐप्लिकेशन, एडमिन की सेट की गई डिवाइस की नीतियों को लागू करता है. इससे किसी संगठन की ज़रूरी शर्तों और पाबंदियों को पूरा किया जा सकता है. उदाहरण के लिए, सुरक्षा नीति के तहत यह ज़रूरी हो सकता है कि पासवर्ड डालने की कुछ कोशिशें असफल होने के बाद, डिवाइस लॉक हो जाएं. डीपीसी, ईएमएम कंसोल से मौजूदा नीतियों के बारे में क्वेरी करता है. इसके बाद, Device Administration API का इस्तेमाल करके, नीतियां लागू करता है.

डिवाइस की नीतियां लागू करने के तरीके के बारे में जानने के लिए, नीतियां लेख पढ़ें.

वर्क ऐप्लिकेशन पर मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करना

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

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

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

मैनेज किए जा रहे कॉन्फ़िगरेशन को ऐप्लिकेशन पर लागू किया जा सकता है. इसके लिए, Play EMM API (सुझाया गया तरीका) का इस्तेमाल करें या सीधे डीपीसी से लागू करें. इसके बारे में डीपीसी से सीधे तौर पर मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करना लेख में बताया गया है. Play EMM API का इस्तेमाल करने के कई फ़ायदे हैं. जैसे, इसे आसानी से लागू किया जा सकता है. ऐसा इसलिए, क्योंकि DPC के टास्क को आसान बनाने के लिए, DPC Support Library का इस्तेमाल किया जा सकता है. इसके अलावा, Play EMM API:

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

Play EMM API का इस्तेमाल करके, मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करना

मैनेज किए गए कॉन्फ़िगरेशन के लिए Play EMM API का इस्तेमाल करने के लिए, DPC को Google Play को कॉन्फ़िगरेशन सेट करने की अनुमति देनी होगी. डीपीसी सपोर्ट लाइब्रेरी, Google Play से भेजे गए कॉन्फ़िगरेशन को प्रॉक्सी करके, इस टास्क को पूरा करती है.

Play EMM API का इस्तेमाल करने के लिए, DPC Support Library डाउनलोड करें. इसके बाद, अपने DPC में मैनेज किए गए कॉन्फ़िगरेशन की सुविधा चालू करें.

अपने डीपीसी में मैनेज किए जा रहे कॉन्फ़िगरेशन की सुविधा चालू करें

इस क्लास को अपने DPC में इंपोर्ट करें:

com.google.android.apps.work.dpcsupport.ManagedConfigurationsSupport

मैनेज किए जा रहे कॉन्फ़िगरेशन लाइब्रेरी को शुरू करें. इस उदाहरण में, "admin" DeviceAdminReceiver का ComponentName है.

Kotlin

var managedConfigurationsSupport = ManagedConfigurationsSupport(context, admin)

Java

ManagedConfigurationsSupport managedConfigurationsSupport =
    new ManagedConfigurationsSupport(context, admin);

मैनेज किए जा रहे कॉन्फ़िगरेशन चालू करें:

Kotlin

managedConfigurationsSupport.enableManagedConfigurations()

Java

managedConfigurationsSupport.enableManagedConfigurations();

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

डीपीसी से सीधे तौर पर मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करना

किसी ऐप्लिकेशन की कॉन्फ़िगरेशन सेटिंग को सीधे तौर पर डीपीसी से बदलने के लिए, DevicePolicyManager.setApplicationRestrictions() तरीके को कॉल करें. साथ ही, डीपीसी ऐप्लिकेशन के DeviceAdminReceiver, टारगेट ऐप्लिकेशन के पैकेज का नाम, और Bundle के लिए पैरामीटर पास करें. इस Bundle में, एडमिन की सेट की गई ऐप्लिकेशन की मैनेज की गई कॉन्फ़िगरेशन सेटिंग शामिल होती है. ज़्यादा जानकारी के लिए, आपका DPC और EMM कंसोल कैसे इंटरैक्ट करते हैं और मैनेज किए जा रहे कॉन्फ़िगरेशन सेट अप करना लेख पढ़ें. हालांकि, ध्यान दें कि मैनेज किए गए कॉन्फ़िगरेशन लागू करने का यह तरीका, मैनेज किए गए Google Play खातों के डिप्लॉयमेंट में इस्तेमाल करने का सुझाव नहीं दिया जाता.

Managed Google Play खाते को चालू करने में मदद

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

अपने डीपीसी में मैनेज किए जा रहे Google Play खातों के लिए सहायता शुरू करना

इस क्लास को अपने DPC में इंपोर्ट करें:

com.google.android.apps.work.dpcsupport.AndroidForWorkAccountSupport

प्रोविज़निंग की सुविधा के साथ काम करने वाली लाइब्रेरी को शुरू करें. इस उदाहरण में, “admin” DeviceAdminReceiver का ComponentName है.

Kotlin

var androidForWorkAccountSupport = AndroidForWorkAccountSupport(context, admin)

Java

AndroidForWorkAccountSupport androidForWorkAccountSupport =
    new AndroidForWorkAccountSupport(context, admin);

पक्का करें कि मैनेज किए जा रहे Google Play खातों के लिए वर्किंग एनवायरमेंट सही हो

डीपीसी के, डिवाइस को प्रोफ़ाइल के मालिक वाले मोड (ACTION_PROVISION_MANAGED_PROFILE) या डिवाइस के मालिक वाले मोड (ACTION_PROVISION_MANAGED_DEVICE) में उपलब्ध कराने के बाद, पक्का करें कि डिवाइस, मैनेज किए जा रहे Google Play खातों के साथ काम कर सकता हो. इसके लिए, यह तरीका अपनाएं:

Kotlin

androidForWorkAccountSupport.ensureWorkingEnvironment(callback)

Java

androidForWorkAccountSupport.ensureWorkingEnvironment(callback);

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

Kotlin

object : WorkingEnvironmentCallback() {
    override fun onSuccess() {
        // Can now provision the managed Google Play Account
    }
    override fun onFailure(error: Error) {
        // Notify user, handle error (check network connection)
    }
}

Java

new WorkingEnvironmentCallback() {
    @Override
    public void onSuccess() {
        // Can now provision the managed Google Play Account
    }

    @Override
    public void onFailure(Error error) {
        // Notify user, handle error (check network connection)
    }
}

मैनेज किया गया Google Play खाता जोड़ना

Android फ़्रेमवर्क का AccountManager, किसी डिवाइस में कारोबार के लिए Google Play खाता जोड़ सकता है. AccountManager के साथ इंटरैक्ट करने की प्रोसेस को आसान बनाने के लिए, DPC Support Library से हेल्पर फ़ंक्शन का इस्तेमाल करें. यह फ़ंक्शन, यहां दिए गए उदाहरण में दिखाया गया है. यह फ़ंक्शन, Google Play सर्वर से मिले टोकन को मैनेज करता है. साथ ही, मैनेज किए जा रहे Google Play खाते को चालू करने में मदद करता है. मैनेज किया गया Google Play खाता मान्य स्थिति में होने पर, फ़ंक्शन यह वैल्यू दिखाता है:

Kotlin

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback)

Java

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback);
  • token—Google Play EMM API Users.generateAuthenticationToken() कॉल से जनरेट किया गया उपयोगकर्ता की पुष्टि करने वाला टोकन.
  • accountAddedCallback—डिवाइस में जोड़े गए मैनेज किए जा रहे Google Play खाते की जानकारी देता है. इस कॉलबैक में onAccountReady() और onFailure() तरीके शामिल होने चाहिए.

Kotlin

val workAccountAddedCallback = object : WorkAccountAddedCallback() {
    override fun onAccountReady(account: Account, deviceHint: String) {
        // Device account was successfully added to the device
        // and is ready to be used.
    }

    override fun onFailure(error: Error) {
        // The account was not successfully added. Check that the token
        // provided was valid (it expires after a certain period of time).
    }
}

Java

WorkAccountAddedCallback workAccountAddedCallback =
    new WorkAccountAddedCallback() {
        @Override
        public void onAccountReady(Account account, String deviceHint) {
            // Device account was successfully added to the device
            // and is ready to be used.
        }

        @Override
        public void onFailure(Error error) {
            // The account was not successfully added. Check that the token
            // provided was valid (it expires after a certain period of time).
        }
};
  • डिवाइस एडमिन एपीआई के बारे में ज़्यादा जानने के लिए, डिवाइस एडमिन लेख पढ़ें.
  • Android Enterprise की मदद से डिवाइसों को प्रोविज़न करने के तरीकों के बारे में जानने के लिए, Android Enterprise डेवलपर गाइड में डिवाइसों को प्रोविज़न करना लेख पढ़ें.
  • GitHub का एक सैंपल देखें. इसमें बताया गया है कि बुनियादी वर्क प्रोफ़ाइल कैसे बनाई जाती है. इसके लिए, BasicManagedProfile देखें.
  • प्रोफ़ाइल के मालिक के तौर पर, दूसरे ऐप्लिकेशन पर कॉन्फ़िगरेशन सेट करने का तरीका दिखाने वाले GitHub सैंपल के लिए, AppRestrictionEnforcer देखें.