تتيح حزمة تطوير البرامج (SDK) لواجهة Android Management API لتطبيقات معيّنة التواصل مباشرةً مع تطبيق Android Device Policy (ADP). ويشمل ذلك دعم ما يلي:
- التنفيذ المحلي للأوامر
- نقل الأجهزة المُدارة باستخدام وحدة تحكّم مخصّصة في سياسة الجهاز (DPC) إلى AMAPI
- Device Trust من Android Enterprise
- مسار تسجيل جهاز جديد يتيح أيضًا إضافة حسابات Google مُدارة
- إدارة التطبيقات المخصّصة باستخدام AMAPI
- إدارة أدوار التطبيق
- قراءة رقم EID للجهاز
يجب اتّخاذ الخطوات التالية لدمج حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI مع تطبيقك:
- أضِف مكتبة حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI.
- أضِف عنصر طلبات البحث، إذا كانت حزمة SDK المستهدَفة ≥ 30.
المتطلبات الأساسية
- تأكَّد من ضبط
minSdkVersionلتطبيقك على المستوى 21 من واجهة برمجة التطبيقات على الأقل. - أضِف التبعيات لأحدث إصدار من حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI إلى تطبيقك. يمكنك العثور على إصدار أحدث مكتبة متاحة وطريقة إضافتها إلى تطبيقك في صفحة ملاحظات إصدار حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI.
عنصر "إضافة طلبات البحث"
إذا كان تطبيقك يستهدف المستوى 30 أو مستوى أحدث من حزمة تطوير البرامج (SDK)، يجب تضمين عنصر طلب البحث في
AndroidManifest.xml لتحديد أنّه سيتفاعل مع واجهة برمجة التطبيقات ADP.
<queries>
<package android:name="com.google.android.apps.work.clouddpc" />
</queries>
لمزيد من المعلومات، يمكنك الاطّلاع على فلترة مستوى ظهور حِزم التطبيقات على Android.
تنفيذ NotificationReceiverService
تتطلّب بعض الميزات إنشاء
NotificationReceiverService، وتتيح بعض الميزات استخدامها بشكل اختياري. لاستخدامها، حدِّد فئة توسّع NotificationReceiverService، وأضِفها كـ service إلى AndroidManifest.xml، وتأكَّد من تصديرها.
import com.google.android.managementapi.notification.NotificationReceiverService;
...
public final class MyAppNotificationReceiverService extends NotificationReceiverService {
@Override
protected void setupInjection() {
// This method can be optionally used to inject dependencies at the
// beginning of the service lifecycle.
}
}
يجب تزويد تطبيق ADP بمعرّف ComponentName لفئة NotificationReceiverService. هناك طريقتان لإجراء ذلك.
تحدّد مستندات كل ميزة الطريقة التي يجب استخدامها.
Explicit API
في هذه الحالة، يتم تمرير ComponentName إلى تطبيق ADP من خلال واجهة برمجة تطبيقات مناسبة. تحتوي مستندات الميزة المعنيّة على التفاصيل.
في AndroidManifest.xml، أضِف:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" />
الاكتشاف التلقائي
باستخدام هذا الأسلوب، عليك وضع علامة على خدمتك كي يمكن اكتشافها تلقائيًا. في AndroidManifest.xml، أضِف:
<service
android:name = ".MyAppNotificationReceiverService"
android:exported = "true" >
<meta-data android:name="Insert name here" android:value=""/>
</service>
يتم توثيق السلسلة المحدّدة التي سيتم استخدامها في android:name من meta-data لكل ميزة تستخدم هذا الأسلوب (راجِع إدارة أدوار التطبيقات للحصول على مثال).
لكي يكون هذا التصنيف صالحًا، يجب أن يتضمّن تطبيقك خدمة واحدة فقط مفعّلة وتحتوي على meta-data التي تكون android:name فيها هي السلسلة المحدّدة وandroid:value هي سلسلة فارغة. يمكنك إضافة عدة meta-data إلى الخدمة نفسها.