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

जिन डिवाइसों को आपका कस्टम डीपीसी पहले से मैनेज करता है उन्हें Android Device Policy (ADP) पर माइग्रेट किया जा सकता है. साथ ही, Android Management API का फ़ायदा लिया जा सकता है.

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

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

पसंद के मुताबिक बनाए गए DPC में AMAPI SDK टूल के साथ इंटिग्रेट करें

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

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

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

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

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

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

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

कस्टम DPC इंटिग्रेशन

सबसे पहले आपको एक 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);

आपके पास अपने NotificationReceiverService का इस्तेमाल करके, DpcMigrationListener को सेट अप करने का विकल्प भी है. इससे DpcMigrationAttempt से जुड़े अपडेट की जानकारी सुनी जा सकती है.

// 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
  }
}

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

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

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

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

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

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

आपको इन बातों के बारे में जानकारी होनी चाहिए:

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

ध्यान दें

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

एंटरप्राइज़ से जुड़ा आईडी

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

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

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