ডিভাইস নীতি কন্ট্রোলার তৈরি করা

এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে Android এন্টারপ্রাইজ ডিপ্লয়মেন্টে ডিভাইসের জন্য কীভাবে ডিভাইস নীতি কন্ট্রোলার (DPC) ডেভেলপ করতে হয়। DPC অ্যাপ, যা আগে ওয়ার্ক পলিসি কন্ট্রোলার নামে পরিচিত ছিল, সেটি ডিভাইসে লোকাল ডিভাইস নীতি ও সিস্টেম অ্যাপ্লিকেশন কন্ট্রোল করে।

DPC সম্পর্কে

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

EMM হিসেবে, আপনি একটি DPC অ্যাপ ডেভেলপ করেন যা আপনার গ্রাহকরা আপনার EMM কনসোল এবং সার্ভারের সাথে ব্যবহার করতে পারেন। আপনার গ্রাহক, তার ম্যানেজ করা ব্যবহারকারীর ডিভাইসে DPC ডেপ্লয় করেন। DPC আপনার EMM কনসোল (এবং সার্ভার) এবং ডিভাইসের মধ্যে সেতু হিসেবে কাজ করে। EMM কনসোল ব্যবহার করে অ্যাডমিন বিভিন্ন ধরনের কাজ করতে পারেন, যার মধ্যে ডিভাইস সেটিংস ও অ্যাপ কনফিগার করাও অন্তর্ভুক্ত।

DPC যে ডিভাইসে ইনস্টল করা আছে, সেখানে অফিস প্রোফাইল তৈরি ও ম্যানেজ করে। অফিস প্রোফাইল, অফিস সম্পর্কিত তথ্য এনক্রিপ্ট করে এবং ব্যবহারকারীর ব্যক্তিগত অ্যাপ ও ডেটা থেকে আলাদা করে রাখে। এছাড়াও, অফিস প্রোফাইল তৈরি করার আগে, ডিভাইসে ব্যবহারের জন্য DPC একটি ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশন করতে পারে।

এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে কীভাবে এমন একটি DPC ডেভেলপ করতে হয় যা অফিস প্রোফাইল তৈরি ও ম্যানেজ করতে পারে।

EMM-এর জন্য DPC সাপোর্ট লাইব্রেরি

EMM-এর জন্য DPC সাপোর্ট লাইব্রেরিতে ইউটিলিটি ও হেল্পার ক্লাস থাকে যা এন্টারপ্রাইজ পরিবেশে Android ডিভাইসের প্রভিশনিং ও ম্যানেজমেন্টের সুবিধা প্রদান করে। লাইব্রেরি আপনাকে আপনার DPC অ্যাপের গুরুত্বপূর্ণ ফিচারগুলির সুবিধা নিতে দেয়:

  • ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশনিং সংক্রান্ত সহায়তা: DPC অ্যাপ থেকে ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশন করার জন্য Google Play এবং Google Play পরিষেবা অ্যাপের ন্যূনতম ভার্সন সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে হবে। তবে, এইসব অ্যাপ আপডেট করা জটিল হতে পারে। DPC সাপোর্ট লাইব্রেরি এইসব অ্যাপ আপডেট করার দায়িত্ব নেয় এবং ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশনিং প্রসেসের ভবিষ্যতের আপডেটের সাথে মানানসই হওয়ার বিষয়টিও নিশ্চিত করে। বিস্তারিত জানতে ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশনিং সহায়তা দেখুন।
  • ম্যানেজ করা কনফিগারেশন সংক্রান্ত সহায়তা: অনুমোদিত অ্যাপের জন্য ম্যানেজ করা কনফিগারেশন ম্যানেজ করতে Play EMM API ব্যবহার করা হল আপনার DPC-তে ম্যানেজ করা কনফিগারেশন প্রয়োগ করার সবচেয়ে সহজ উপায়। DPC সাপোর্ট লাইব্রেরি আপনাকে Google Play-তে ম্যানেজ করা কনফিগারেশন (আগে, অ্যাপ সংক্রান্ত বিধিনিষেধ) প্রয়োগ করার টাস্ক ডেলিগেট করতে দেয়, যা আপনার EMM কনসোল ব্যবহার করে অ্যাডমিন সেট করেছেন। ম্যানেজ করা কনফিগারেশন হ্যান্ডেল করার জন্য Play EMM API ব্যবহার করলে, ইনস্টলেশনের সময় অ্যাপ কনফিগারেশন অ্যাটমিক্যালি প্রয়োগ করা যায়। আপনার DPC-তে এই ক্ষমতা কীভাবে চালু করবেন সেই সম্পর্কে আরও তথ্যের জন্য অফিসের অ্যাপে ম্যানেজ করা কনফিগারেশন প্রয়োগ করুন দেখুন।

লাইব্রেরি ডাউনলোড করতে নিচে উল্লেখ করা ধাপগুলি অনুসরণ করুন। এই গাইডে বিস্তারিতভাবে উল্লেখ করা টাস্কগুলি DPC সাপোর্ট লাইব্রেরি ব্যবহার করে বলে ধরে নেওয়া হয়।

DPC সাপোর্ট লাইব্রেরি ডাউনলোড করুন

DPC সাপোর্ট লাইব্রেরি ব্যবহার করতে, Android Enterprise EMM Provider কমিউনিটি থেকে লাইব্রেরি ডাউনলোড করুন। আপনার DPC অ্যাপ তৈরি করার সময় আপনাকে অবশ্যই build.gradle ফাইলে লাইব্রেরি যোগ করতে হবে এবং অন্যান্য নির্ভরতার দিকে নজর রাখতে হবে। যেমন, লাইব্রেরির জন্য 11.4.0 Google Play Services auth ক্লায়েন্ট লাইব্রেরি প্রয়োজন।

  1. build.gradle ফাইলে লাইব্রেরি যোগ করুন:

    গ্ৰুভি

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

    Kotlin

    implementation(name = "dpcsupport-yyyymmdd", ext = "aar")
  2. build.gradle ফাইলে 11.4.0 Google Play Services auth ক্লায়েন্ট লাইব্রেরি যোগ করুন:

    গ্ৰুভি

    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 তৈরি করুন

ডিভাইস অ্যাডমিনিস্ট্রেশন অ্যাপ্লিকেশনের জন্য ব্যবহৃত বর্তমান মডেলে আপনার 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!
}

জাভা

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()
}

জাভা

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

জাভা

@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)

জাভা

// 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);

ডিভাইস নীতি সেট-আপ করা

DPC অ্যাপটি কোনও সংস্থার প্রয়োজনীয়তা এবং সীমাবদ্ধতা পূরণ করার জন্য অ্যাডমিনের সেট করা ডিভাইস নীতি প্রয়োগ করে। যেমন, নিরাপত্তা নীতিতে নির্দিষ্ট সংখ্যক বার ভুল পাসওয়ার্ড দেওয়ার পরে ডিভাইস লক করার প্রয়োজন হতে পারে। DPC বর্তমান নীতির জন্য EMM কনসোল কোয়েরি করে, তারপর ডিভাইস অ্যাডমিনিস্ট্রেশন API ব্যবহার করে নীতি প্রয়োগ করে।

ডিভাইস নীতি কীভাবে প্রয়োগ করতে হয় সেই সম্পর্কে জানতে, নীতি দেখুন।

অফিসের অ্যাপে ম্যানেজ করা কনফিগারেশন প্রয়োগ করুন

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

অ্যাপের ক্ষমতা অ্যাপ ডেভেলপার XML স্কিমাতে (ম্যানেজ করা কনফিগারেশন স্কিমা) উল্লেখ করেন যা Google Play-তে আপলোড করার সময় অ্যাপের সাথে থাকে (অ্যাপ ডেভেলপার, আরও জানতে ম্যানেজ করা কনফিগারেশন সেট-আপ করুন দেখুন)।

আপনার EMM কনসোলে গ্রাহক অ্যাডমিনদের দেখানোর জন্য আপনি অ্যাপ থেকে এই স্কিমাটি পান, একটি UI প্রদান করুন যেখানে স্কিমা ডিসপ্লেতে সংজ্ঞায়িত বিভিন্ন বিকল্প রয়েছে এবং অ্যাডমিনদের অ্যাপের সেটিংস প্রি-কনফিগার করার অনুমতি দিন। অ্যাডমিনের সেট করা ম্যানেজ করা কনফিগারেশন সাধারণত EMM সার্ভারে স্টোর করা হয় যা পরে Play EMM API ব্যবহার করে Managedconfigurationsfordevice বা Managedconfigurationsforuser সেট করে। বিস্তারিত জানতে Play-এর মাধ্যমে ম্যানেজ করা কনফিগারেশন দেখুন।

Play EMM API ব্যবহার করে (প্রস্তাবিত পদ্ধতি) অথবা সরাসরি DPC থেকে (সরাসরি DPC থেকে ম্যানেজ করা কনফিগারেশন প্রয়োগ করুন বিভাগে বর্ণনা করা হয়েছে) অ্যাপে ম্যানেজ করা কনফিগারেশন প্রয়োগ করা যেতে পারে। Play EMM API ব্যবহার করার একাধিক সুবিধা আছে, যার মধ্যে সহজ প্রয়োগ অন্যতম কারণ আপনি DPC সাপোর্ট লাইব্রেরি ব্যবহার করে DPC টাস্ক সহজ করতে পারবেন। এছাড়াও, Play EMM API:

  • নতুন অ্যাপ ইনস্টল করা হলে কনফিগারেশন অটোমেটিক সেট করে, যার ফলে ব্যবহারকারী প্রথমবার অ্যাপ চালু করার সময় সেটি ব্যবহারের জন্য প্রস্তুত থাকে।
  • আপনাকে ব্যবহারকারী প্রতি কনফিগারেশন ম্যানেজ করতে দেয়, যাতে আপনি ডিভাইস প্রতি মনিটরিং প্রভিশনিং এড়াতে পারেন।

Play EMM API ব্যবহার করে ম্যানেজ করা কনফিগারেশন প্রয়োগ করুন

ম্যানেজ করা কনফিগারেশনের জন্য Play EMM API ব্যবহার করতে, DPC-কে অবশ্যই Google Play-কে কনফিগারেশন সেট করার অনুমতি দিতে হবে। DPC সাপোর্ট লাইব্রেরি Google Play-এর পাঠানো কনফিগারেশন প্রক্সি করে আপনার হয়ে এই কাজটি করে।

Play EMM API ব্যবহার করতে, DPC সাপোর্ট লাইব্রেরি ডাউনলোড করুন এবং তারপর আপনার DPC-তে ম্যানেজ করা কনফিগারেশন সাপোর্ট চালু করুন।

আপনার DPC-তে ম্যানেজ করা কনফিগারেশন চালু করুন

আপনার DPC-তে এই ক্লাস ইমপোর্ট করুন:

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

ম্যানেজ করা কনফিগারেশন লাইব্রেরি শুরু করুন। এই উদাহরণে, "admin" হল DeviceAdminReceiver-এর ComponentName।

Kotlin

var managedConfigurationsSupport = ManagedConfigurationsSupport(context, admin)

জাভা

ManagedConfigurationsSupport managedConfigurationsSupport =
    new ManagedConfigurationsSupport(context, admin);

ম্যানেজ করা কনফিগারেশন চালু করুন:

Kotlin

managedConfigurationsSupport.enableManagedConfigurations()

জাভা

managedConfigurationsSupport.enableManagedConfigurations();

আপনার DPC-তে এই লাইব্রেরি শুরু করার মাধ্যমে, আপনি আপনার EMM কনসোল এবং সার্ভারে Google Play EMM API ব্যবহার করতে পারেন যাতে অনুমোদিত অ্যাপগুলিতে ম্যানেজ করা কনফিগারেশন প্রয়োগ করা যায়, DPC-তে সরাসরি এই কাজগুলি কোড করার পরিবর্তে। বিস্তারিত জানতে Play-এর মাধ্যমে ম্যানেজ করা কনফিগারেশন দেখুন।

DPC থেকে সরাসরি ম্যানেজ করা কনফিগারেশন প্রয়োগ করুন

DPC থেকে সরাসরি কোনও অ্যাপের কনফিগারেশন সেটিংস পরিবর্তন করতে, DevicePolicyManager.setApplicationRestrictions() পদ্ধতি কল করুন এবং DPC অ্যাপের DeviceAdminReceiver, টার্গেট অ্যাপের প্যাকেজের নাম এবং অ্যাডমিনের সেট করা অ্যাপের ম্যানেজ করা কনফিগারেশন সহ Bundle-এর জন্য প্যারামিটার পাস করুন। বিস্তারিত জানতে আপনার DPC এবং EMM কনসোল কীভাবে ইন্টার‍্যাক্ট করে এবং ম্যানেজ করা কনফিগারেশন সেট-আপ করুন দেখুন। তবে, মনে রাখবেন যে ম্যানেজ করা Google Play অ্যাকাউন্ট ডেপ্লয়মেন্টে ম্যানেজ করা কনফিগারেশন প্রয়োগ করার এই বিকল্প পদ্ধতিটি সাজেস্ট করা হয় না।

Managed Google Play Account provisioning support

DPC সহায়তা লাইব্রেরিতে ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশন করার জন্য সহায়তা অন্তর্ভুক্ত আছে। এই সহায়তা ব্যবহার করতে, আপনাকে প্রথমে লাইব্রেরি শুরু করতে হবে এবং তারপর আপনি কাজের পরিবেশ নিশ্চিত করতে এবং ম্যানেজ করা Google Play অ্যাকাউন্ট যোগ করতে পারবেন।

আপনার DPC-তে ম্যানেজ করা Google Play অ্যাকাউন্ট সহায়তা শুরু করুন

আপনার DPC-তে এই ক্লাস ইমপোর্ট করুন:

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

প্রভিশনিং কম্প্যাটিবিলিটি লাইব্রেরি শুরু করুন। এই উদাহরণে, “admin” হল DeviceAdminReceiver-এর ComponentName।

Kotlin

var androidForWorkAccountSupport = AndroidForWorkAccountSupport(context, admin)

জাভা

AndroidForWorkAccountSupport androidForWorkAccountSupport =
    new AndroidForWorkAccountSupport(context, admin);

ম্যানেজ করা Google Play অ্যাকাউন্টের জন্য কাজের পরিবেশ নিশ্চিত করুন

DPC প্রোফাইল মালিক মোড (ACTION_PROVISION_MANAGED_PROFILE) বা ডিভাইস মালিক মোডে (ACTION_PROVISION_MANAGED_DEVICE) কোনও ডিভাইস প্রভিশন করার পরে, ডিভাইসটি ম্যানেজ করা Google Play অ্যাকাউন্ট সমর্থন করতে পারে কিনা তা নিশ্চিত করুন:

Kotlin

androidForWorkAccountSupport.ensureWorkingEnvironment(callback)

জাভা

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

জাভা

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 সহায়তা লাইব্রেরি থেকে হেল্পার ফাংশন (নিচে উদাহরণে দেখানো হয়েছে) ব্যবহার করুন। ফাংশনটি Google Play সার্ভার থেকে পাওয়া টোকেন ম্যানেজ করে এবং ম্যানেজ করা Google Play অ্যাকাউন্ট প্রভিশন করার সুবিধা প্রদান করে। ম্যানেজ করা Google Play অ্যাকাউন্ট সঠিক অবস্থায় থাকলে, ফাংশনটি ফিরে আসে:

Kotlin

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback)

জাভা

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).
    }
}

জাভা

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).
        }
};
  • ডিভাইস অ্যাডমিনিস্ট্রেশন API সম্পর্কে আরও জানতে, ডিভাইস অ্যাডমিনিস্ট্রেশন দেখুন।
  • Android Enterprise-এর প্রভিশনিং পদ্ধতি সম্পর্কে জানতে, Android Enterprise ডেভেলপার গাইডে ডিভাইস প্রভিশন করুন বিকল্প দেখুন।
  • GitHub-এর একটি স্যাম্পেল, যা দেখায় কীভাবে একটি বেসিক ওয়ার্ক প্রোফাইল তৈরি করতে হয়, তার জন্য BasicManagedProfile দেখুন।
  • প্রোফাইলের মালিক হিসেবে অন্যান্য অ্যাপে কীভাবে কনফিগারেশন সেট করতে হয় তা দেখায় এমন একটি GitHub স্যাম্পেলের জন্য, AppRestrictionEnforcer দেখুন।