मौजूदा डिवाइसों को AMAPI पर माइग्रेट करें

आपके कस्टम डीपीसी से पहले से मैनेज किए जा रहे डिवाइसों को Android डिवाइस नीति (एडीपी) पर माइग्रेट किया जा सकता है. साथ ही, Android मैनेजमेंट एपीआई का फ़ायदा भी लिया जा सकता है.

ज़रूरी शर्तें

  • डिवाइस को पहले से ही आपके ईएमएम ने कस्टम डीपीसी की मदद से मैनेज किया जा रहा है.
  • आपका कस्टम डीपीसी, AMAPI SDK के साथ इंटिग्रेट हो.
  • डिवाइस को Google Play EMM API के साथ रजिस्टर किया गया हो.
  • डिवाइस, कारोबार के लिए Google Play खाता एंटरप्राइज़ से जुड़ा हो.
  • डिवाइस में Android 9 या इसके बाद का वर्शन हो.
  • कंपनी के मालिकाना हक वाले डिवाइसों पर वर्क प्रोफ़ाइल इस्तेमाल करने के लिए, डिवाइस में Android 11 या उसके बाद का वर्शन होना चाहिए.

अपने कस्टम डीपीसी में AMAPI SDK टूल के साथ इंटिग्रेट करना

माइग्रेशन की प्रोसेस के लिए, कस्टम डीपीसी ऐप्लिकेशन को AMAPI SDK टूल को इंटिग्रेट करना होगा. इस लाइब्रेरी के बारे में ज़्यादा जानकारी और इसे अपने ऐप्लिकेशन में जोड़ने के तरीके के बारे में जानने के लिए, AMAPI SDK टूल इंटिग्रेशन गाइड देखें.

किसी डिवाइस को माइग्रेट करने का तरीका

  1. AMAPI पर माइग्रेट करने के बाद, डिवाइस पर इस्तेमाल की जाने वाली नीति सेट अप करें. उपयोगकर्ता को बेहतर अनुभव देने के लिए, यह नीति, डिवाइस पर पहले से लागू डीपीसी की नीति के मुताबिक होनी चाहिए.
  2. enterprises.migrationTokens.create को कॉल करके, डिवाइस के लिए माइग्रेशन टोकन बनाएं.
  3. अपने कस्टम डीपीसी को, माइग्रेशन टोकन का value भेजें.
  4. Play EMM API का इस्तेमाल करके, पक्का करें कि डिवाइस पर Android Device Policy इंस्टॉल हो.
  5. DpcMigrationClient बनाने के लिए, DpcMigrationClientFactory का इस्तेमाल करें
  6. DpcMigrationClient पर, migrateDeviceManagementToAndroidManagementApi वाला तरीका कॉल करें. इससे माइग्रेशन पूरा हो जाता है.
  7. deviceState, ACTIVE में बदल जाता है. साथ ही, आपको Pub/Sub चैनल से STATUS_REPORT मैसेज मिलेगा.

माइग्रेशन पूरा होने के बाद, कॉल करने वाले ऐप्लिकेशन के पास डिवाइस के मालिक या प्रोफ़ाइल के मालिक के विशेषाधिकार नहीं रहते. ऐसा इसलिए होता है, क्योंकि ये विशेषाधिकार Android Device Policy में ट्रांसफ़र कर दिए जाते हैं. इस प्रोसेस को नीचे दिए गए क्रम के डायग्राम से दिखाया जा सकता है:

डीपीसी माइग्रेशन का सीक्वेंस डायग्राम

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

माइग्रेशन टोकन

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

कस्टम डीपीसी इंटिग्रेशन

सबसे पहले, आपको DpcMigrationRequest बनाना होगा. इसके लिए, टोकन और ज़रूरत पड़ने पर, कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क की सूची को उसके बिल्डर को पास करना होगा:

// Create a DpcMigrationRequest
DpcMigrationRequest request =
        DpcMigrationRequest.builder()
            .setMigrationToken(token)
            .build();

इसके बाद, DpcMigrationClient का इस्तेमाल करके, migrateDeviceManagementToAndroidManagementApi की मदद से माइग्रेशन की प्रोसेस शुरू की जा सकती है:

// Create a DpcMigrationClient
DpcMigrationClient dpcMigrationClient = DpcMigrationClientFactory.create(context);
try {
  // Use helper function to retrieve Admin component name
  var adminComponentName = getAdminComponent(context);

  ListenableFuture<DpcMigrationAttempt> futureAttempt =
          dpcMigrationClient.migrateDeviceManagementToAndroidManagementApi(
              new ComponentName(context, DpcMigrationNotificationReceiver.class),
              adminComponentName,
              request);
  // handle futureAttempt
} catch (RuntimeException e) {
  // send failure feedback: "Error: " + e
}

माइग्रेशन की प्रोग्रेस को ट्रैक करना

माइग्रेशन की प्रोसेस को डिवाइस पर DpcMigrationAttempt की मदद से ट्रैक किया जाता है.

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

// Passing an empty name, we retrieve the last attempt 
var request = GetDpcMigrationAttemptRequest.builder().build();

var attempt = client.getMigrationAttempt(request);

DpcMigrationAttempt के स्टेटस से जुड़े अपडेट सुनने के लिए, NotificationReceiverService का इस्तेमाल करके DpcMigrationListener सेट अप किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है.

// DpcMigrationNotificationReceiver for callback handling
public class DpcMigrationNotificationReceiver extends NotificationReceiverService
    implements DpcMigrationListener {

  @Override
  protected DpcMigrationListener getDpcMigrationListener() {
    // getDpcMigrationListener"
    return this;
  }

  @Override
  public void onMigrationStateChanged(DpcMigrationAttempt migrationAttempt) {
    // send success feedback
  }
}

वाई-फ़ाई नेटवर्क मैनेज करना

अगर कस्टम डीपीसी से मैनेज किए जा रहे वाई-फ़ाई नेटवर्क हैं, तो AMAPI ONC नीति, इन नेटवर्क के कॉन्फ़िगरेशन से मेल खानी चाहिए, ताकि AMAPI उन्हें आसानी से मैनेज कर सके. मैनेजमेंट मोड के हिसाब से, वाई-फ़ाई मैनेजमेंट के साथ डीपीसी माइग्रेशन का इंटरैक्शन अलग-अलग होता है.

कंपनी के मालिकाना हक वाले डिवाइसों पर, पूरी तरह से मैनेज किए जाने वाले डिवाइस और वर्क प्रोफ़ाइल

माइग्रेशन के दौरान, Android डिवाइस नीति यह मानती है कि नीति में कॉन्फ़िगर किया गया कोई भी वाई-फ़ाई नेटवर्क, डिवाइस पर कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क से मेल खाता है. इसके लिए, वाई-फ़ाई नेटवर्क का SSID और सिक्योरिटी टाइप एक जैसा होना चाहिए. इसलिए, कस्टम डीपीसी से कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क, माइग्रेशन के बाद तब तक नहीं बदलते, जब तक कि नेटवर्क से जुड़ी ओएनसी नीति में कोई बदलाव न हो. हालांकि, माइग्रेशन के बाद कस्टम डीपीसी को अनइंस्टॉल करने पर, कस्टम डीपीसी से कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क अपने-आप हट जाते हैं. Android Device Policy ऐप्लिकेशन, नीति को लागू करना जारी रखता है. अगर इनमें से किसी नेटवर्क को नीति में कॉन्फ़िगर किया गया है, तो नीति में कॉन्फ़िगर किए गए नेटवर्क को हमेशा की तरह जोड़ दिया जाता है.

निजी डिवाइस पर वर्क प्रोफ़ाइल

तकनीकी वजहों से, Android डिवाइस नीति के लिए कस्टम डीपीसी को, कस्टम डीपीसी से कॉन्फ़िगर किए गए वाई-फ़ाई नेटवर्क हटाने होंगे, ताकि इन वाई-फ़ाई नेटवर्क को मैनेज किया जा सके. AMAPI SDK टूल, कस्टम डीपीसी से Android डिवाइस नीति पर मालिकाना हक ट्रांसफ़र करने से पहले, ऐसे वाई-फ़ाई नेटवर्क हटा देता है. हालांकि, इसके लिए ज़रूरी है कि कस्टम डीपीसी, DpcMigrationRequest में इन नेटवर्क की जानकारी भेजे. माइग्रेशन के बाद, नीति में कॉन्फ़िगर किए गए नेटवर्क सामान्य रूप से जोड़ दिए जाएंगे. इसलिए, हमारा सुझाव है कि कस्टम डीपीसी की मदद से जोड़े गए नेटवर्क को भी नीति में कॉन्फ़िगर किया जाना चाहिए.

इन बातों का ध्यान रखें:

  • अगर चालू नेटवर्क, कस्टम डीपीसी से कॉन्फ़िगर किया गया वाई-फ़ाई नेटवर्क है, तो माइग्रेशन के दौरान डिवाइस कुछ समय के लिए ऑफ़लाइन हो सकता है.
  • DpcMigrationRequest में सिर्फ़ वे वाई-फ़ाई नेटवर्क पास किए जाने चाहिए जिन्हें कस्टम डीपीसी से कॉन्फ़िगर किया गया है.ऐसा न करने पर, अगर AMAPI SDK टूल किसी नेटवर्क को हटा नहीं पाता है, तो माइग्रेशन पूरा नहीं हो पाता. उदाहरण के लिए, उपयोगकर्ता का जोड़ा गया वाई-फ़ाई नेटवर्क.
  • वाई-फ़ाई नेटवर्क को DpcMigrationRequest में सिर्फ़ तब पास किया जाना चाहिए, जब कस्टम डीपीसी, निजी तौर पर मालिकाना हक वाले डिवाइस पर प्रोफ़ाइल का मालिक हो. ऐसा न करने पर, माइग्रेशन पूरा नहीं हो पाएगा.
  • तकनीकी वजहों से, Android 12 एक असाधारण मामला है. इसमें DpcMigrationRequest में पास किए गए नेटवर्क को अनदेखा किया जाता है. साथ ही, कस्टम डीपीसी से कॉन्फ़िगर किए गए सभी वाई-फ़ाई नेटवर्क अपने-आप हट जाते हैं. इसके अलावा, यह ज़रूरी है कि कस्टम डीपीसी के पास, निजी डिवाइसों पर वर्क प्रोफ़ाइल के लिए, Android 12 पर ACCESS_WIFI_STATE अनुमति हो. ऐसा न होने पर, माइग्रेशन नहीं हो पाएगा.

चेतावनियां

इस सुविधा से जुड़ी कुछ बातें यहां बताई गई हैं.

एंटरप्राइज़ का आईडी

Android 12 और उसके बाद के वर्शन पर वर्क प्रोफ़ाइलों के लिए, एंटरप्राइज़ के हिसाब से आईडी, जो DevicePolicyManager.getEnrollmentSpecificId से ऐक्सेस किया जा सकता है, माइग्रेशन के समय नहीं बदलता. हालांकि, अगर डिवाइस पर Android डिवाइस नीति से मैनेज की जाने वाली वर्क प्रोफ़ाइल फिर से बनाई जाती है, तो उस समय एंटरप्राइज़ के हिसाब से आईडी बदल जाएगा. उदाहरण के लिए, पिछली प्रोफ़ाइल मिटाने या डिवाइस को फ़ैक्ट्री रीसेट करने के बाद.

पूरी तरह से मैनेज किए जा रहे डिवाइसों पर वर्क प्रोफ़ाइलें

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