বিদ্যমান ডিভাইসগুলিকে AMAPI-তে স্থানান্তর করুন৷

আপনার কাস্টম ডিপিসি দ্বারা পরিচালিত ডিভাইসগুলিকে অ্যান্ড্রয়েড ডিভাইস পলিসিতে (ADP) স্থানান্তরিত করা যেতে পারে এবং Android ম্যানেজমেন্ট API এর সুবিধা নিতে পারে৷

পূর্বশর্ত

  • ডিভাইসটি ইতিমধ্যেই একটি কাস্টম DPC সহ আপনার EMM দ্বারা পরিচালিত৷
  • আপনার কাস্টম 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 আপনার কাস্টম ডিপিসিতে পাঠান।
  4. Play EMM API ব্যবহার করে ডিভাইসে Android ডিভাইস নীতি ইনস্টল করা আছে তা নিশ্চিত করুন।
  5. একটি DpcMigrationClient তৈরি করতে DpcMigrationClientFactory ব্যবহার করুন
  6. DpcMigrationClient এ, migrateDeviceManagementToAndroidManagementApi পদ্ধতিতে কল করুন। এটি মাইগ্রেশন সম্পূর্ণ করে।
  7. deviceState ACTIVE এ পরিবর্তিত হয় এবং আপনি Pub/Sub চ্যানেলের মাধ্যমে একটি STATUS_REPORT বার্তা পাবেন।

একবার মাইগ্রেশন সম্পূর্ণ হলে কলিং অ্যাপটি তার ডিভাইসের মালিক বা প্রোফাইল মালিকের বিশেষাধিকার হারায়, কারণ এগুলো Android ডিভাইস নীতিতে স্থানান্তরিত হয়।

দ্রষ্টব্য: স্থানান্তর শুরু করতে ডিভাইসটি অবশ্যই ইন্টারনেটের সাথে সংযুক্ত থাকতে হবে। প্রক্রিয়াটি মাইগ্রেশন প্রক্রিয়া চলাকালীন নেটওয়ার্ক সংযোগ বিচ্ছিন্ন হওয়ার জন্য স্থিতিস্থাপক হওয়ার জন্য ডিজাইন করা হয়েছে, যাতে আপনার DPC থেকে Android ডিভাইস নীতিতে ডিভাইসের মালিক বা প্রোফাইল মালিকের অধিকারের প্রকৃত স্থানান্তর হওয়ার আগে নেটওয়ার্ক সংযোগের জন্য প্রয়োজনীয় মূল ক্রিয়াকলাপগুলি সম্পন্ন হয়৷

মাইগ্রেশন টোকেন

একটি মাইগ্রেশন টোকেন ইএমএম সার্ভার দ্বারা অনুরোধ করা হয় একটি নির্দিষ্ট ডিভাইস স্থানান্তর করার অভিপ্রায়কে সংকেত করার জন্য যা একটি কাস্টম DPC দ্বারা পরিচালিত হয়৷ মাইগ্রেশন সফলভাবে সম্পন্ন না হওয়া পর্যন্ত বা মেয়াদ শেষ না হওয়া পর্যন্ত একটি মাইগ্রেশন টোকেন ব্যবহার করা যেতে পারে।

কাস্টম ডিপিসি ইন্টিগ্রেশন

প্রথমে আপনাকে একটি DpcMigrationRequest তৈরি করতে হবে, টোকেন পাস করে, এবং প্রয়োজনে, কনফিগার করা Wi-Fi নেটওয়ার্কগুলির তালিকা তার নির্মাতার কাছে:

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

Wi-Fi নেটওয়ার্কগুলি পরিচালনা করুন

যদি কাস্টম DPC দ্বারা পরিচালিত Wi-Fi নেটওয়ার্ক থাকে, AMAPI ONC নীতিগুলি এই নেটওয়ার্কগুলির কনফিগারেশনের সাথে মিলিত হওয়া উচিত যাতে AMAPI তাদের সুচারুভাবে পরিচালনা শুরু করে৷ ওয়াই-ফাই ম্যানেজমেন্টের সাথে DPC মাইগ্রেশনের মিথস্ক্রিয়া ম্যানেজমেন্ট মোডের উপর নির্ভর করে পরিবর্তিত হয়।

কোম্পানির মালিকানাধীন ডিভাইসে সম্পূর্ণরূপে পরিচালিত ডিভাইস এবং কাজের প্রোফাইল

মাইগ্রেশনের সময়, Android ডিভাইস নীতি অনুমান করে যে নীতিতে কনফিগার করা যেকোন Wi-Fi নেটওয়ার্ক ডিভাইসে কনফিগার করা Wi-Fi নেটওয়ার্কের একই SSID এবং সুরক্ষা প্রকারের সাথে মিলিত কনফিগার করা Wi-Fi নেটওয়ার্কের সাথে অভিন্ন। তাই, কাস্টম DPC দ্বারা কনফিগার করা Wi-Fi নেটওয়ার্কগুলি স্থানান্তরের পরে অপরিবর্তিত থাকে যতক্ষণ না নেটওয়ার্কের সাথে সম্পর্কিত ONC নীতিতে পরিবর্তন হয়৷ যাইহোক, যদি কাস্টম DPC মাইগ্রেশনের পরে আনইনস্টল করা হয়, তাহলে কাস্টম DPC দ্বারা কনফিগার করা Wi-Fi নেটওয়ার্কগুলি স্বয়ংক্রিয়ভাবে সরানো হয়। অ্যান্ড্রয়েড ডিভাইস নীতি নীতি প্রয়োগ করা অব্যাহত রাখে, এবং যদি এই নেটওয়ার্কগুলির মধ্যে যেকোনও নীতিতে কনফিগার করা থাকে, নীতিতে কনফিগার করা নেটওয়ার্কগুলি যথারীতি যোগ করা হয়।

একটি ব্যক্তিগত ডিভাইসে কাজের প্রোফাইল

প্রযুক্তিগত কারণে, কাস্টম DPC দ্বারা কনফিগার করা Wi-Fi নেটওয়ার্কগুলিকে এই Wi-Fi নেটওয়ার্কগুলি পরিচালনা শুরু করার জন্য Android ডিভাইস নীতির জন্য কাস্টম DPC দ্বারা অপসারণ করতে হবে৷ AMAPI SDK এটির যত্ন নেয় এবং কাস্টম DPC থেকে Android ডিভাইস নীতিতে মালিকানা স্থানান্তর করার আগে এই জাতীয় Wi-Fi নেটওয়ার্কগুলি সরিয়ে দেয় তবে DpcMigrationRequest এ এই নেটওয়ার্কগুলি সম্পর্কে তথ্য পাস করার জন্য কাস্টম DPC-কে প্রয়োজন৷ মাইগ্রেশনের পরে, নীতিতে কনফিগার করা নেটওয়ার্কগুলি সাধারণত যোগ করা হবে, তাই এটি সুপারিশ করা হয় যে কাস্টম DPC দ্বারা যুক্ত নেটওয়ার্কগুলিকেও নীতিতে কনফিগার করা উচিত৷

সচেতন হওয়ার কিছু পয়েন্ট রয়েছে:

  • যদি সক্রিয় নেটওয়ার্কটি কাস্টম DPC দ্বারা কনফিগার করা একটি Wi-Fi নেটওয়ার্ক হয়, তবে স্থানান্তরের সময় ডিভাইসটি সংক্ষিপ্তভাবে অফলাইন থাকতে পারে।
  • শুধুমাত্র কাস্টম DPC দ্বারা কনফিগার করা Wi-Fi নেটওয়ার্কগুলিকে DpcMigrationRequest এ পাস করা উচিত, অন্যথায় AMAPI SDK (যেমন ব্যবহারকারী যুক্ত Wi-Fi নেটওয়ার্ক) দ্বারা একটি নেটওয়ার্ক সরানো না গেলে মাইগ্রেশন ব্যর্থ হয়৷
  • Wi-Fi নেটওয়ার্কগুলি শুধুমাত্র DpcMigrationRequest এ পাস করা উচিত যখন কাস্টম DPC একটি ব্যক্তিগত মালিকানাধীন ডিভাইসে প্রোফাইল মালিক হয়, অন্যথায় স্থানান্তর ব্যর্থ হয়।
  • প্রযুক্তিগত কারণে, Android 12 একটি ব্যতিক্রমী ক্ষেত্রে যেখানে DpcMigrationRequest এ পাস করা নেটওয়ার্কগুলি উপেক্ষা করা হয় এবং কাস্টম DPC দ্বারা কনফিগার করা সমস্ত Wi-Fi নেটওয়ার্ক স্বয়ংক্রিয়ভাবে সরানো হয়। আরও, ব্যক্তিগত মালিকানাধীন ডিভাইসে কাজের প্রোফাইলের জন্য Android 12-এ ACCESS_WIFI_STATE অনুমতি থাকা কাস্টম DPC-এর জন্য প্রয়োজনীয়, অন্যথায় স্থানান্তর ব্যর্থ হয়।

সতর্কতা

এখানে এই বৈশিষ্ট্য সম্পর্কিত কিছু সতর্কতা আছে।

এন্টারপ্রাইজ-নির্দিষ্ট আইডি

Android 12 এবং পরবর্তী কাজের প্রোফাইলের জন্য, এন্টারপ্রাইজ-নির্দিষ্ট আইডি , যা DevicePolicyManager.getEnrollmentSpecificId থেকে অ্যাক্সেস করা যেতে পারে মাইগ্রেশনের সময় পরিবর্তন হয় না। যাইহোক, যদি ডিভাইসে Android ডিভাইস নীতি দ্বারা পরিচালিত একটি কাজের প্রোফাইল আবার তৈরি করা হয় (উদাহরণস্বরূপ, পূর্ববর্তীটি মুছে ফেলার পরে বা ডিভাইসটি ফ্যাক্টরি-রিসেট করার পরে), তখন এন্টারপ্রাইজ-নির্দিষ্ট আইডি পরিবর্তন হবে।

সম্পূর্ণরূপে পরিচালিত ডিভাইসে কাজের প্রোফাইল

এই বৈশিষ্ট্যটি সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলিতে সমর্থিত নয় যেগুলির Android 9 বা 10 চালিত একটি কাজের প্রোফাইল রয়েছে৷ এই ডিভাইসগুলিকে স্থানান্তর করার চেষ্টা করা উচিত নয় এবং একটি ত্রুটি উত্থাপিত হোক না কেন, এই জাতীয় ডিভাইসগুলি DPC স্থানান্তরের জন্য সমর্থিত নয়৷