שילוב עם 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 לאותו שירות.