الدمج مع حزمة AMAPI SDK

تتيح حزمة تطوير البرامج (SDK) لواجهة Android Management API (AMAPI) لتطبيقات معيّنة التواصل مباشرةً مع تطبيق Android Device Policy (ADP). ويشمل ذلك دعم ما يلي:

يجب اتّخاذ الخطوات التالية لدمج حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI مع تطبيقك:

  1. أضِف مكتبة حزمة تطوير البرامج (SDK) لواجهة برمجة التطبيقات AMAPI.
  2. أضِف عنصر طلبات البحث، إذا كانت حزمة SDK المستهدَفة ≥ 30.

المتطلبات الأساسية

إضافة عنصر طلبات البحث

إذا كان تطبيقك يستهدف حزمة تطوير البرامج (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 إلى الخدمة نفسها.