إنشاء وحدة تحكُّم بسياسة الجهاز

يوضّح هذا الدليل كيفية تطوير وحدة التحكّم بسياسة الجهاز (DPC) للأجهزة في نشر Android للمؤسسات. يتحكّم تطبيق وحدة التحكّم بسياسة الجهاز (DPC)، الذي كان يُعرف سابقًا باسم وحدة التحكّم بسياسة العمل، في سياسات الأجهزة المحلية وتطبيقات النظام على الأجهزة.

لمحة عن وحدات التحكّم بسياسة الجهاز

في عملية النشر على نظام التشغيل Android للمؤسسات، تحتفظ المؤسسة بإمكانية التحكم في جوانب مختلفة من أجهزة المستخدمين، مثل عزل المعلومات المتعلّقة بالعمل عن البيانات الشخصية للمستخدمين، أو الضبط المُسبق للتطبيقات التي تمت الموافقة عليها للبيئة، أو إيقاف إمكانات الجهاز (على سبيل المثال، الكاميرا).

بصفتك موفّر إدارة الخدمات الجوّالة للمؤسسات (EMM)، عليك تطوير تطبيق لوحدة التحكّم بسياسة الجهاز (DPC) يمكن لعملائك استخدامه بالاقتران مع وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات والخادم. ينشر العميل وحدة التحكّم بسياسة الجهاز (DPC) على أجهزة المستخدمين التي يديرها. تعمل وحدة التحكّم بسياسة الجهاز (DPC) كجسر بين وحدة تحكُّم EMM (والخادم) والجهاز. يستخدم المشرف وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (EMM) لتنفيذ مجموعة من المهام، بما في ذلك ضبط إعدادات الجهاز والتطبيقات.

تنشئ وحدة التحكّم بسياسة الجهاز الملف الشخصي للعمل وتديره على الجهاز الذي تم تثبيته عليه. يشفِّر الملف الشخصي للعمل المعلومات المتعلّقة بالعمل ويبقيها منفصلة عن التطبيقات والبيانات الشخصية للمستخدمين. وقبل إنشاء ملف شخصي للعمل، يمكن لوحدة التحكّم بسياسة الجهاز أيضًا توفير حساب Google Play للأعمال لاستخدامه على الجهاز.

يوضِّح لك هذا الدليل كيفية تطوير وحدة التحكّم بسياسة الجهاز (DPC) التي يمكنها إنشاء الملفات الشخصية للعمل وإدارتها.

مكتبة دعم وحدة التحكّم بسياسة الجهاز لإدارة الخدمات الجوّالة للمؤسسات (EMM)

تضم "مكتبة دعم وحدة التحكّم بسياسة الجهاز" (DPC) لإدارة الخدمات الجوّالة للمؤسسات (EMM) فئات مساعِدة ومساعِدة تسهّل توفير الأجهزة التي تعمل بنظام التشغيل Android وإدارتها في بيئة العمل. تتيح لك المكتبة الاستفادة من الميزات المهمة في تطبيقات وحدة التحكم بسياسة الجهاز:

  • إتاحة توفير المتطلبات اللازمة لـ "حسابات Google Play للأعمال": إنّ توفير المتطلبات اللازمة لحسابات Google Play للأعمال من تطبيق وحدة التحكّم بسياسة الجهاز (DPC) يتطلّب استيفاء تطبيقات Google Play و"خدمات Google Play" للحد الأدنى من متطلبات الإصدار. ومع ذلك، قد يكون تحديث هذه التطبيقات معقدًا. وتتولى مكتبة الدعم الخاصة بوحدة التحكّم بسياسة الجهاز تحديث هذه التطبيقات، كما تضمن التوافق مع التحديثات المستقبلية لعملية توفير حسابات Google Play للأعمال. راجع دعم توفير حسابات Google Play للأعمال للحصول على مزيد من التفاصيل.
  • إتاحة عمليات الضبط المُدارة: إنّ استخدام واجهة برمجة التطبيقات Play EMM API للتعامل مع عمليات الضبط المُدارة للتطبيقات الموافَق عليها هي أسهل طريقة لتنفيذ عمليات الضبط المُدارة على وحدة التحكّم بسياسة الجهاز. تتيح لك مكتبة دعم وحدة التحكُّم بسياسة الجهاز (DPC) تفويض مهمة تطبيق عمليات الضبط المُدارة إلى Google Play (المعروفة سابقًا باسم قيود التطبيقات) على النحو الذي حدّده المشرف باستخدام وحدة تحكُّم EMM. يسمح استخدام واجهة برمجة تطبيقات Play EMM API للتعامل مع عمليات الضبط المُدارة بتطبيق إعدادات التطبيق بشكل شامل أثناء التثبيت. يُرجى الاطّلاع على تطبيق عمليات الضبط المُدارة على تطبيقات العمل للحصول على مزيد من المعلومات حول كيفية تفعيل هذه الميزة في وحدة التحكّم بسياسة الجهاز.

اتبع الخطوات أدناه لتنزيل المكتبة. تفترض المهام التفصيلية في هذا الدليل استخدام مكتبة دعم وحدة التحكّم بسياسة الجهاز.

تنزيل مكتبة دعم وحدة التحكّم بسياسة الجهاز

لاستخدام مكتبة دعم وحدة التحكّم بسياسة الجهاز (DPC)، يمكنك تنزيل المكتبة من منتدى مزوّدي إدارة الخدمات الجوّالة للمؤسسات (EMM) في Android Enterprise. يجب إضافة المكتبة إلى ملف Build.gradle والاهتمام بالتبعيات الأخرى عند إنشاء تطبيق DPC. على سبيل المثال، تتطلب المكتبة 11.4.0 مكتبة برامج المصادقة في "خدمات Google Play".

  1. أضِف المكتبة إلى ملف "build.gradle":

    رائع

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

    Kotlin

    implementation(name = "dpcsupport-yyyymmdd", ext = "aar")
    
  2. أضِف الإصدار 11.4.0 مكتبة برامج المصادقة في "خدمات Google Play" إلى ملف Build.gradle:

    رائع

    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:

  <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) كما هو موضّح في إدارة الأجهزة.

إنشاء ملف شخصي للعمل

للحصول على نموذج يوضح كيفية إنشاء ملف شخصي أساسي للعمل، يُرجى الاطّلاع على BasicManagedProfile على GitHub.

لإنشاء ملف شخصي للعمل على جهاز يتضمن ملفًا شخصيًا له حاليًا، عليك أولاً معرفة ما إذا كان يمكن استخدام الملف الشخصي للعمل على الجهاز أم لا، وذلك من خلال التأكّد من توفُّر ميزة نظام 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();
}

يستجيب النظام لهذا الغرض بتنفيذ ما يلي:

  • التحقق من أن الجهاز مشفّر. وإذا لم يكن الأمر كذلك، سيطلب النظام من المستخدم تشفير الجهاز قبل المتابعة.
  • ينشئ ملفًا شخصيًا للعمل.
  • إزالة التطبيقات غير المطلوبة من الملف الشخصي للعمل
  • ينسخ تطبيق وحدة التحكّم بسياسة الجهاز إلى الملف الشخصي للعمل ويضبط وحدة التحكّم بسياسة الجهاز نفسها كمالك للملف الشخصي.

إلغاء 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);
    }
}

إكمال تفعيل الملف الشخصي للعمل

عند توفير الملف الشخصي، يستدعي النظام طريقة 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);

إعداد سياسات الأجهزة

يطبِّق تطبيق وحدة التحكّم بسياسة الجهاز سياسات الجهاز التي حدّدها المشرف لتلبية متطلبات المؤسسة والقيود المفروضة. مثلاً، قد تشترط سياسة الأمان قفل الأجهزة بعد عدد معيّن من المحاولات غير الناجحة لإدخال كلمة المرور. تطلب وحدة التحكّم بسياسة الجهاز (DPC) وحدة تحكم إدارة الخدمات الجوّالة للمؤسسات (EMM) للسياسات الحالية، ثم تطبّق السياسات باستخدام واجهة برمجة التطبيقات إدارة الأجهزة.

للحصول على معلومات حول كيفية تطبيق سياسات الأجهزة، يُرجى الاطّلاع على السياسات.

تطبيق عمليات الضبط المُدارة على تطبيقات العمل

تتيح لك عمليات الإعداد المُدارة تزويد عملائك بإمكانية الضبط المسبق للتطبيقات التي وافقوا على نشرها، وتحديث هذه التطبيقات بسهولة عند الحاجة إلى تغيير الإعدادات. ويضمن ضبط التطبيق قبل النشر تلبية أمان المؤسسة والسياسات الأخرى عند تثبيت التطبيق على الجهاز المستهدف.

ويحدّد مطوِّر التطبيق إمكانات التطبيق في مخطط XML (مخطط عمليات الضبط المُدارة) الذي يصاحب التطبيق عند تحميله إلى Google Play (يُرجى الاطّلاع على إعداد عمليات الضبط المُدارة لمعرفة التفاصيل).

يمكنك استرداد هذا المخطط من التطبيق لعرضه لمشرفي العملاء في وحدة التحكم في إدارة الخدمات الجوّالة للمؤسسات (EMM)، وتوفير واجهة مستخدم يتم فيها تحديد الخيارات المختلفة المحددة في عرض المخطط، وتمكين المشرفين من ضبط إعدادات التطبيق مسبقًا. عادةً ما يتم تخزين الإعدادات المُدارة الناتجة التي حدّدها المشرف على خادم إدارة الخدمات الجوّالة للمؤسسات (EMM) الذي يستخدم بعد ذلك واجهة برمجة التطبيقات لإدارة الخدمات الجوّالة للمؤسسات (EMM) في Play لضبط عمليات الضبط المُدارة للجهاز أو عمليات الضبط المُدارة للمستخدم. للحصول على مزيد من التفاصيل، يُرجى الاطّلاع على عمليات الضبط المُدارة من خلال Play.

يمكن تطبيق عمليات الضبط المُدارة على التطبيق باستخدام واجهة برمجة التطبيقات Play EMM API (الأسلوب المقترَح) أو مباشرةً من وحدة التحكّم بسياسة الجهاز (DPC) (الموضّحة في تطبيق عمليات الضبط المُدارة مباشرةً من وحدة التحكّم بسياسة الجهاز). ولاستخدام واجهة برمجة التطبيقات لإدارة الخدمات الجوّالة للمؤسسات (EMM) مزايا متعدّدة، من بينها سهولة التنفيذ لأنّه يمكنك استخدام مكتبة دعم وحدة التحكّم بسياسة الجهاز لتبسيط مهام وحدة التحكّم بسياسة الجهاز. بالإضافة إلى ذلك، توفّر واجهة برمجة التطبيقات Play EMM API ما يلي:

  • تعمل على ضبط الإعدادات بشكل شامل عند تثبيت تطبيق جديد، ما يضمن أن يكون التطبيق جاهزًا عند تشغيل المستخدِم لأول مرة.
  • يتيح لك إدارة عمليات الإعداد على أساس كل مستخدم، حتى تتمكَّن من تجنُّب مراقبة توفير المتطلبات اللازمة على أساس كل جهاز.

تطبيق عمليات الضبط المُدارة باستخدام واجهة برمجة التطبيقات لإدارة الخدمات الجوّالة للمؤسسات (EMM)

لاستخدام واجهة برمجة التطبيقات Play EMM API لعمليات الضبط المُدارة، يجب أن تسمح وحدة التحكّم بسياسة الجهاز لـ Google Play بضبط الإعدادات. وتتولى مكتبة دعم وحدة التحكّم بسياسة الجهاز (DPC) هذه المهمة بالنيابة عنك من خلال إنشاء وكيل مع إعدادات الضبط التي تم إرسالها من خلال Google Play.

لاستخدام واجهة برمجة التطبيقات Play EMM API، نزِّل مكتبة دعم وحدة التحكُّم بسياسة الجهاز (DPC)، ثم فعِّل دعم عمليات الضبط المُدارة في وحدة التحكّم بسياسة الجهاز.

فعِّل دعم عمليات الضبط المُدارة في وحدة التحكّم بسياسة الجهاز

استورِد هذا الصف إلى وحدة التحكّم بسياسة الجهاز:

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

تهيئة مكتبة عمليات الضبط المُدارة. في هذا المثال، يكون "المشرف" هو ComponentName لـ DeviceAdmin المحدَّد.

Kotlin

var managedConfigurationsSupport = ManagedConfigurationsSupport(context, admin)

Java

ManagedConfigurationsSupport managedConfigurationsSupport =
    new ManagedConfigurationsSupport(context, admin);

تفعيل عمليات الضبط المُدارة:

Kotlin

managedConfigurationsSupport.enableManagedConfigurations()

Java

managedConfigurationsSupport.enableManagedConfigurations();

بعد إعداد هذه المكتبة في وحدة التحكّم بسياسة الجهاز، يمكنك استخدام واجهة برمجة تطبيقات Google Play EMM API في وحدة التحكّم والخادم في إدارة الخدمات الجوّالة للمؤسسات (EMM) لتطبيق عمليات الضبط المُدارة على التطبيقات الموافَق عليها، بدلاً من ترميز هذه المهام مباشرةً في وحدة التحكّم بسياسة الجهاز. لمزيد من التفاصيل، يُرجى الاطّلاع على عمليات الضبط المُدارة من خلال Play.

طبِّق عمليات الضبط المُدارة من وحدة التحكّم بسياسة الجهاز مباشرةً

لتغيير إعدادات ضبط تطبيق مباشرةً من وحدة التحكّم بسياسة الجهاز (DPC)، عليك استدعاء طريقة DevicePolicyManager.setApplicationRestrictions() وتمرير المَعلمات الخاصة بتطبيق وحدة التحكّم بسياسة الجهاز (DPC) DeviceAdminAdmin واسم الحزمة للتطبيق المستهدَف والحزمة التي تتضمّن الإعداد المُدار للتطبيق كما حدّده المشرف. يمكنك الاطّلاع على كيفية تفاعل وحدة التحكّم بسياسة الجهاز (DPC) ووحدة تحكُّم إدارة الخدمات الجوّالة للمؤسسات (EMM) وإعداد عمليات الضبط المُدارة للحصول على التفاصيل. ومع ذلك، يُرجى العلم أنّ هذا النهج البديل لتطبيق عمليات الضبط المُدارة لا يُنصَح به في عمليات نشر "حسابات Google Play للأعمال".

دعم توفير حساب Google Play للأعمال

تتضمن مكتبة دعم وحدة التحكُّم بسياسة الجهاز (DPC) الدعم لتوفير حسابات Google Play للأعمال. لاستخدام هذا الدعم، يجب أولاً إعداد المكتبة، وبعد ذلك يمكنك التأكّد من توفير بيئة العمل وإضافة حساب Google Play مُدار.

يجب إعداد دعم "حسابات Google Play للأعمال" في وحدة التحكّم بسياسة الجهاز

استورِد هذا الصف إلى وحدة التحكّم بسياسة الجهاز:

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

إعداد مكتبة توافق إدارة الحسابات في هذا المثال، "المشرف" هو ComponentName من DeviceAdminReceiver.

Kotlin

var androidForWorkAccountSupport = AndroidForWorkAccountSupport(context, admin)

Java

AndroidForWorkAccountSupport androidForWorkAccountSupport =
    new AndroidForWorkAccountSupport(context, admin);

يجب ضمان بيئة العمل الخاصة بحسابات Google Play للأعمال

بعد أن توفّر وحدة التحكّم بسياسة الجهاز (DPC) جهازًا في وضع مالك الملف الشخصي (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 للأعمال"

يمكن لإطار عمل AccountManager إضافة حساب "Google Play للأعمال" إلى جهاز. لتبسيط التفاعل مع AccountManager، استخدِم دالة المساعدة (الموضَّحة في المثال أدناه) من مكتبة دعم وحدة التحكّم بسياسة الجهاز. تعالج هذه الدالة الرمز المميز الذي يعرضه خادم Google Play، وتسهِّل توفير حساب Google Play للأعمال. يتم إرجاع الدالة عندما يكون حساب Google Play للأعمال في حالة صالحة:

Kotlin

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback)

Java

androidForWorkAccountSupport.addAndroidForWorkAccount(token, accountAddedCallback);
  • token: الرمز المميّز لمصادقة المستخدم الذي تم إنشاؤه من خلال طلب Users.generateAuthenticationToken() لواجهة برمجة التطبيقات لإدارة الخدمات الجوّالة للمؤسسات (EMM) في Google Play.
  • 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 الذي يوضّح كيفية ضبط عمليات الضبط على تطبيقات أخرى كمالك للملف الشخصي، يمكنك الاطّلاع على AppRestrictionforcer.