שילוב עם AMAPI SDK

Android Management API (AMAPI) SDK מאפשר לאפליקציות ספציפיות לתקשר ישירות עם Android Device Policy (ADP). היא כוללת תמיכה ב:

כדי לשלב את AMAPI SDK באפליקציה, צריך לבצע את השלבים הבאים:

  1. מוסיפים את ספריית AMAPI SDK.
  2. מוסיפים את רכיב השאילתות, אם יעד ה-SDK הוא 30 ומעלה.

דרישות מוקדמות

  • מוודאים שרמת ה-API של האפליקציה minSdkVersion מוגדרת לרמה 21 לפחות.
  • מוסיפים את התלויות של הגרסה האחרונה של AMAPI SDK לאפליקציה. בהערות הגרסה של AMAPI SDK אפשר למצוא את הגרסה של הספרייה העדכנית ביותר שזמינה, ואת ההוראות להוספתה לאפליקציה.

הוספת רכיב queries

אם האפליקציה שלכם מטרגטת SDK בגרסה 30 ומעלה, צריך להוסיף את רכיב השאילתות אל 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 באמצעות API מתאים. הפרטים מופיעים במסמכי התיעוד של התכונה הרלוונטית. ב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 לאותו שירות.