تتيح حزمة تطوير البرامج (SDK) لواجهة Android Management API (AMAPI) لتطبيقات معيّنة التواصل مباشرةً مع تطبيق Android Device Policy (ADP). ويشمل ذلك دعم ما يلي:
- التنفيذ المحلي للأوامر
- نقل الأجهزة المُدارة باستخدام وحدة تحكّم مخصّصة في سياسة الجهاز (DPC) إلى AMAPI
- Device Trust من Android Enterprise
- مسار تسجيل جهاز جديد يتيح أيضًا إضافة حسابات Google مُدارة
- إدارة التطبيقات المخصّصة باستخدام AMAPI
- إدارة أدوار التطبيق
يجب اتّخاذ الخطوات التالية لدمج حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI مع تطبيقك:
- أضِف مكتبة حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI.
- أضِف عنصر طلبات البحث، إذا كانت حزمة SDK المستهدَفة ≥ 30.
المتطلبات الأساسية
- تأكَّد من ضبط
minSdkVersion
لتطبيقك على المستوى 21 من واجهة برمجة التطبيقات أو أعلى. - أضِف التبعيات لأحدث إصدار من حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI إلى تطبيقك. يمكنك العثور على إصدار أحدث مكتبة متاحة وطريقة إضافتها إلى تطبيقك في صفحة ملاحظات إصدار حزمة تطوير البرامج (SDK) الخاصة بواجهة برمجة التطبيقات AMAPI.
إضافة عنصر طلبات البحث
إذا كان تطبيقك يستهدف حزمة تطوير البرامج (SDK) 30 أو إصدارًا أحدث، يجب تضمين عنصر طلب البحث في
AndroidManifest.xml
لتحديد أنّه سيتفاعل مع ميزة "الإعلانات المستندة إلى التطبيقات".
<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
إلى الخدمة نفسها.