يوضّح هذا الدليل كيفية تطوير وحدة التحكُّم بسياسة الجهاز (DPC) للأجهزة في عملية نشر Android Enterprise. يتحكّم تطبيق وحدة التحكّم بسياسة الجهاز، الذي كان يُعرف سابقًا باسم وحدة التحكّم في سياسات العمل، في سياسات الجهاز المحلية وتطبيقات النظام على الأجهزة.
لمحة عن وحدات التحكّم بسياسة الجهاز
في عملية نشر Android Enterprise، تحتفظ المؤسسة بالتحكّم في جوانب مختلفة من أجهزة المستخدمين، مثل عزل المعلومات المتعلّقة بالعمل عن البيانات الشخصية للمستخدمين، أو الإعداد المُسبَق للتطبيقات المعتمَدة في البيئة، أو إيقاف إمكانات الجهاز (مثل الكاميرا).
بصفتك مقدّم خدمة إدارة الخدمات الجوّالة للمؤسسات (EMM)، يمكنك تطوير تطبيق DPC يمكن لعملائك استخدامه مع وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات والخادم. ينشر العميل أداة DPC على أجهزة المستخدمين التي يديرها. يعمل DPC كجسر بين وحدة تحكّم EMM (والخادم) والجهاز. يستخدم المشرف وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (EMM) لتنفيذ مجموعة من المهام، بما في ذلك ضبط إعدادات الأجهزة والتطبيقات.
تنشئ وحدة التحكّم في سياسات الأجهزة (DPC) ملف العمل وتديره على الجهاز الذي تم تثبيتها عليه. يعمل ملف العمل على تشفير المعلومات المتعلّقة بالعمل وإبقائها منفصلة عن التطبيقات والبيانات الشخصية للمستخدمين. قبل إنشاء ملف العمل، يمكن لوحدة التحكّم في سياسة الجهاز أيضًا توفير حساب مُدار على Google Play للأعمال لاستخدامه على الجهاز.
يوضّح لك هذا الدليل كيفية تطوير سياسة DPC يمكنها إنشاء ملفات عمل وإدارتها.
مكتبة دعم وحدة التحكّم بسياسة الجهاز لإدارة الخدمات الجوّالة للمؤسسات
تتضمّن "مكتبة دعم وحدة التحكّم بسياسة الجهاز" الخاصة بإدارة الخدمات الجوّالة للمؤسسات فئات الأدوات والمساعدات التي تسهّل توفير وإدارة أجهزة Android في بيئة المؤسسة. تتيح لك المكتبة الاستفادة من الميزات المهمة في تطبيقات DPC:
- إتاحة توفير حسابات "Google Play للأعمال" المُدارة: يتطلّب توفير حسابات "Google Play للأعمال" المُدارة من تطبيق وحدة التحكّم في سياسة الجهاز استيفاء تطبيقات Google Play و"خدمات Google Play" للحد الأدنى من متطلبات الإصدار. ومع ذلك، قد يكون تحديث هذه التطبيقات عملية معقّدة. تتولّى مكتبة دعم DPC مهمة تحديث هذه التطبيقات، كما تضمن التوافق مع التحديثات المستقبلية لعملية توفير حسابات Google Play المُدارة. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة إتاحة حسابات Google Play للأعمال.
- توافق "عمليات الضبط المُدارة": يُعد استخدام واجهة برمجة التطبيقات Play EMM API للتعامل مع عمليات الضبط المُدارة للتطبيقات التي تمت الموافقة عليها أسهل طريقة لتنفيذ عمليات الضبط المُدارة على وحدة التحكّم في سياسة الجهاز (DPC). تتيح لك مكتبة DPC Support تفويض Google Play بمهمة تطبيق إعدادات الضبط المُدارة (المعروفة سابقًا باسم قيود التطبيقات) التي يضبطها المشرف باستخدام وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (EMM). يتيح استخدام واجهة برمجة التطبيقات Play EMM API للتعامل مع الإعدادات المُدارة تطبيق إعدادات التطبيق بشكل متكامل أثناء عملية التثبيت. يمكنك الاطّلاع على تطبيق عمليات الضبط المُدارة على تطبيقات العمل للحصول على مزيد من المعلومات حول كيفية تفعيل هذه الإمكانية في وحدة التحكّم في سياسة الجهاز (DPC).
اتّبِع الخطوات التالية لتنزيل المكتبة. تفترض المهام الموضّحة بالتفصيل في هذا الدليل استخدام "مكتبة دعم DPC".
تنزيل مكتبة دعم DPC
لاستخدام "مكتبة دعم وحدة التحكُّم بسياسة الجهاز (DPC)"، نزِّلها من منتدى "مزوّدو خدمة إدارة الخدمات الجوّالة للمؤسسات (EMM)" في برنامج "Android Enterprise". يجب إضافة المكتبة إلى ملف build.gradle والتعامل مع التبعيات الأخرى عند إنشاء تطبيق وحدة التحكّم بسياسة الجهاز (DPC). على سبيل المثال، تتطلّب المكتبة الإصدار 11.4.0 من مكتبة عميل المصادقة في "خدمات Google Play".
- أضِف المكتبة إلى ملف
build.gradle:
Groovy
implementation(name:'dpcsupport-yyyymmdd', ext:'aar')
Kotlin
implementation(name = "dpcsupport-yyyymmdd", ext = "aar")
- أضِف الإصدار 11.4.0 من
مكتبة برامج عميل مصادقة "خدمات Google Play" إلى ملف build.gradle:
Groovy
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! }
إذا كان الجهاز يتيح استخدام ملفات العمل، أنشئ ملف عمل عن طريق إرسال intent مع إجراء 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(); }
يستجيب النظام لهذه النية من خلال تنفيذ ما يلي:
- تتحقّق هذه السمة مما إذا كان الجهاز مشفّرًا. إذا لم يكن الأمر كذلك، سيطلب النظام من المستخدم تشفير الجهاز قبل المتابعة.
- لإنشاء ملف عمل
- يزيل التطبيقات غير المطلوبة من ملف العمل.
- ينسخ تطبيق وحدة التحكّم في سياسة الجهاز (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) } }
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() في تطبيق DPC. يمكنك إلغاء طريقة رد الاتصال هذه لإنهاء تفعيل ملف العمل.
يؤدّي التنفيذ النموذجي DeviceAdminReceiver.onProfileProvisioningComplete()
لوظيفة ردّ الاتصال ما يلي:
- التأكّد من امتثال الجهاز لسياسات الأجهزة التي تفرضها إدارة الخدمات الجوّالة للمؤسسات (EMM)، كما هو موضّح في مقالة إعداد سياسات الأجهزة
- تفعيل تطبيقات النظام التي أتاحها المشرف في ملف العمل باستخدام
DevicePolicyManager.enableSystemApp() - إذا كان الجهاز يستخدم "Google Play للأعمال"، أضِف الحساب المناسب إلى ملف العمل حتى يمكن تثبيت التطبيقات التي تمت الموافقة عليها على الجهاز.
- حسابات Google Play للأعمال: يمكنك الاطّلاع على ضمان توفير بيئة عمل لحسابات Google Play للأعمال وإضافة حساب Google Play للأعمال للحصول على التفاصيل.
- حسابات Google: استخدِم
AccountManager.addAccount().
تفعيل ملف العمل
بعد إكمال هذه المهام، اتّصِل بطريقة
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) الحصول على السياسات الحالية، ثم تطبّقها باستخدام واجهة برمجة التطبيقات Device Administration.
لمزيد من المعلومات حول كيفية تطبيق سياسات الأجهزة، يُرجى الاطّلاع على السياسات.
تطبيق الإعدادات المُدارة على تطبيقات العمل
تتيح لك الإعدادات المُدارة أن توفّر لعملائك إمكانية الضبط المُسبَق للتطبيقات التي وافقوا على نشرها، وتحديث هذه التطبيقات بسهولة عند الحاجة إلى تغيير الإعدادات. يضمن إعداد تطبيق قبل نشره استيفاء متطلبات الأمان والسياسات الأخرى للمؤسسة عند تثبيت التطبيق على الجهاز المستهدف.
يحدّد مطوّر التطبيق إمكانات التطبيق في مخطط XML (مخطط عمليات الضبط المُدار) الذي يصاحب التطبيق عند تحميله إلى Google Play (على مطوّري التطبيقات، الاطّلاع على إعداد عمليات الضبط المُدار للحصول على التفاصيل).
يمكنك استرداد هذا المخطط من التطبيق لعرضه لمشرفي العملاء في وحدة تحكّم "إدارة الخدمات الجوّالة للمؤسسات"، وتوفير واجهة مستخدم يتم فيها عرض الخيارات المختلفة المحدّدة في المخطط، والسماح للمشرفين بضبط إعدادات التطبيق مسبقًا. يتم عادةً تخزين مجموعة الإعدادات المُدارة التي يضبطها المشرف على خادم إدارة الخدمات الجوّالة للمؤسسات (EMM)، ثم يستخدم الخادم واجهة برمجة التطبيقات Play EMM API لضبط Managedconfigurationsfordevice أو Managedconfigurationsforuser. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة عمليات الضبط المُدارة من خلال Play.
يمكن تطبيق الإعدادات المُدارة على التطبيق باستخدام واجهة برمجة التطبيقات Play EMM API (الطريقة المُوصى بها) أو مباشرةً من جهاز التحكّم في السياسة (DPC) (موضّح في تطبيق الإعدادات المُدارة مباشرةً من جهاز التحكّم في السياسة). لاستخدام واجهة برمجة التطبيقات Play EMM API، مزايا عديدة، بما في ذلك سهولة التنفيذ لأنّه يمكنك استخدام مكتبة دعم وحدة التحكّم بسياسة الجهاز لتبسيط مهام وحدة التحكّم بسياسة الجهاز. بالإضافة إلى ذلك، تتيح واجهة Play EMM API ما يلي:
- يضبط الإعداد بشكل متكامل عند تثبيت تطبيق جديد، ما يضمن أن يكون التطبيق جاهزًا في المرة الأولى التي يشغّله فيها المستخدم.
- تتيح لك إدارة الإعدادات على مستوى كل مستخدم، ما يتيح لك تجنُّب رصد عملية الإعداد على مستوى كل جهاز.
تطبيق الإعدادات المُدارة باستخدام Play EMM API
لاستخدام Play EMM API في الإعدادات المُدارة، يجب أن يسمح تطبيق DPC لـ Google Play بضبط الإعدادات. تتولّى "مكتبة دعم وحدة التحكّم بسياسة الجهاز" هذه المهمة نيابةً عنك من خلال توفير إعدادات بديلة للإعدادات التي يرسلها Google Play.
لاستخدام واجهة برمجة التطبيقات Play EMM، نزِّل مكتبة دعم وحدة التحكّم بسياسة الجهاز، ثم فعِّل إمكانية استخدام الإعدادات المُدارة في وحدة التحكّم بسياسة الجهاز.
تفعيل إمكانية استخدام الإعدادات المُدارة في وحدة التحكّم بسياسة الجهاز (DPC)
استيراد هذا الصف في "وحدة التحكُّم بسياسة الجهاز (DPC)":
com.google.android.apps.work.dpcsupport.ManagedConfigurationsSupport
تهيئة مكتبة الإعدادات المُدارة في هذا المثال، "admin" هو ComponentName الخاص بفئة DeviceAdminReceiver.
Kotlin
var managedConfigurationsSupport = ManagedConfigurationsSupport(context, admin)
Java
ManagedConfigurationsSupport managedConfigurationsSupport = new ManagedConfigurationsSupport(context, admin);
فعِّل عمليات الضبط المُدارة باتّباع الخطوات التالية:
Kotlin
managedConfigurationsSupport.enableManagedConfigurations()
Java
managedConfigurationsSupport.enableManagedConfigurations();
بعد إعداد هذه المكتبة في تطبيق DPC، يمكنك استخدام Google Play EMM API في وحدة تحكّم وخادم إدارة الخدمات الجوّالة للمؤسسات (EMM) لتطبيق الإعدادات المُدارة على التطبيقات التي تمت الموافقة عليها، بدلاً من ترميز هذه المهام مباشرةً في تطبيق DPC. لمزيد من التفاصيل، يُرجى الاطّلاع على عمليات الضبط المُدارة من خلال Play.
تطبيق الإعدادات المُدارة مباشرةً من وحدة التحكّم في سياسة الجهاز (DPC)
لتغيير إعدادات ضبط التطبيق مباشرةً من خلال وحدة التحكُّم بسياسة الجهاز (DPC)، استدعِ طريقة DevicePolicyManager.setApplicationRestrictions() ومرِّر المَعلمات الخاصة DeviceAdminReceiver لتطبيق وحدة التحكُّم بسياسة الجهاز (DPC)، واسم حزمة التطبيق المستهدَف، والحزمة التي تتضمّن عمليات الضبط المُدارة للتطبيق كما يحدّدها المشرف. لمزيد من التفاصيل، يُرجى الاطّلاع على طريقة تفاعل وحدة تحكّم DPC مع وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (EMM) وإعداد "الإعدادات المُدارة". ومع ذلك، يُرجى العِلم أنّه لا يُنصح باتّباع هذا النهج البديل لتطبيق الإعدادات المُدارة في عمليات نشر "حسابات Google Play للأعمال".
إتاحة توفير حسابات Google Play للأعمال
تتضمّن مكتبة دعم DPC إمكانية توفير حسابات "Google Play للأعمال" المُدارة. لاستخدام هذه الميزة، عليك أولاً تهيئة المكتبة، ثم يمكنك ضمان بيئة العمل وإضافة حساب على "Google Play للأعمال".
إعداد ميزة دعم حسابات "Google Play للأعمال" في وحدة التحكُّم بسياسة الجهاز (DPC)
استيراد هذا الصف في "وحدة التحكُّم بسياسة الجهاز (DPC)":
com.google.android.apps.work.dpcsupport.AndroidForWorkAccountSupport
تهيئة مكتبة التوافق مع توفير الخدمات في هذا المثال، "admin" هو 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 للأعمال" إلى جهاز باستخدام إطار عمل Android. لتبسيط التفاعل مع
AccountManager، استخدِم الدالة المساعدة (الموضّحة في المثال أدناه)
من مكتبة دعم DPC. تعالج الدالة الرمز المميز الذي يعرضه خادم 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). } };
المستندات ذات الصلة
- لمزيد من المعلومات عن Device Administration API، يُرجى الاطّلاع على إدارة الأجهزة.
- للتعرّف على طرق توفير Android Enterprise، يُرجى الاطّلاع على توفير الأجهزة في دليل مطوّري البرامج لنظام Android Enterprise.
- للحصول على نموذج GitHub يوضّح كيفية إنشاء ملف عمل أساسي، يُرجى الاطّلاع على BasicManagedProfile.
- للحصول على نموذج GitHub يوضّح كيفية ضبط الإعدادات على التطبيقات الأخرى بصفتك مالك الملف الشخصي، يُرجى الاطّلاع على AppRestrictionEnforcer.