שילוב עם AMAPI SDK

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

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

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

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

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

הוספת רכיב של שאילתות

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