EnvironmentClient

public interface EnvironmentClient


לקוח לגישה לממשקי API שקשורים לסביבה.

אפשר להשתמש ב-EnvironmentClientFactory כדי ליצור מכונה.

סיכום

שיטות ציבוריות

abstract @NonNull Environment

הפונקציה מחזירה את הערך Environment.

abstract @NonNull ListenableFuture<@NonNull Environment>

הפונקציה מחזירה את הערך Environment.

abstract @NonNull PrepareEnvironmentResponse
prepareEnvironment(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

הכנת סביבת המכשיר.

abstract @NonNull ListenableFuture<@NonNull PrepareEnvironmentResponse>
prepareEnvironmentAsync(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

הכנת סביבת המכשיר.

שיטות ציבוריות

getEnvironment

abstract @NonNull Environment getEnvironment(@NonNull GetEnvironmentRequest request)

הפונקציה מחזירה את הערך Environment. הוא עוזר למתקשר לדעת אם הסביבה מוכנה או לא.

זריקות
com.google.android.managementapi.common.exceptions.InvalidArgumentException

אם התפקידים המבוקשים לא תקינים.

com.google.android.managementapi.common.exceptions.InternalException

אם השיחה נכשלה בגלל שגיאה פנימית.

com.google.android.managementapi.common.exceptions.ApiLevelException

אם רמת ה-API של ערכת ה-SDK במכשיר לא מספיקה לתפקידים מסוימים שנדרשים (יכול להיות שזה בנוסף לדרישת רמת API מינימלית כללית לקריאה עצמה). ‫{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} דורש רמת API‏ 23 ומעלה. כל תפקיד אחר דורש רמת API‏ 28 ומעלה.

getEnvironmentAsync

abstract @NonNull ListenableFuture<@NonNull EnvironmentgetEnvironmentAsync(@NonNull GetEnvironmentRequest request)

הפונקציה מחזירה את הערך Environment. הוא עוזר למתקשר לדעת אם הסביבה מוכנה או לא.

החזרות
@NonNull ListenableFuture<@NonNull Environment>

תג ListenableFuture שמקיף את התוצאה. הסיבה לכך יכולה להיות:

  • עתיד מוצלח שעוטף Environment, במקרה של הצלחה.

  • ‫A failed future wrapping a

  • ‫A failed future wrapping a InvalidArgumentException, if the requested roles are not valid.

  • אובייקט Future שנכשל ועוטף InternalException, אם הקריאה נכשלה בגלל שגיאה פנימית.

זריקות
com.google.android.managementapi.common.exceptions.ApiLevelException

אם רמת ה-API של ערכת ה-SDK במכשיר לא מספיקה לתפקידים מסוימים שנדרשים (יכול להיות שזה בנוסף לדרישת רמת API מינימלית כללית לקריאה עצמה). ‫{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} דורש רמת API‏ 23 ומעלה. כל תפקיד אחר דורש רמת API‏ 28 ומעלה.

prepareEnvironment

abstract @NonNull PrepareEnvironmentResponse prepareEnvironment(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

הכנת סביבת המכשיר.

המשתמשים יתבקשו להתקין את אפליקציית Device Policy ל-Android. ההתקנה תמשיך אם המשתמש יאשר את ההנחיה. אחרי ההתקנה, האפליקציה מבצעת פעולות כדי לוודא שהיא מוכנה לשימוש.

פרמטרים
ComponentName notificationServiceComponentName

ה-ComponentName של השירות שמוסיפים NotificationReceiverService. אם מציינים רכיב, הוא חייב להיות רכיב תקין ששייך לאפליקציה שמתקשרת, והוא צריך להיות מיוצא במניפסט. כדי לקבל התראות על אירועים שקשורים להכנת הסביבה, צריך:

  1. מטמיעים את הממשק EnvironmentListener באפליקציה.

  2. מספקים הטמעה של אופן הטיפול באירועים שהתקבלו.

  3. מרחיבים את NotificationReceiverService ומספקים מופע EnvironmentListener.

  4. מוסיפים את המחלקה המורחבת NotificationReceiverService אל AndroidManifest.xml ומוודאים שהיא מיוצאת.

לדוגמה:

class MyEnvironmentListener : EnvironmentListener {
override fun onEnvironmentEvent(event: EnvironmentEvent) {
// Handle the environment event.
}
}

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
החזרות
@NonNull PrepareEnvironmentResponse

PrepareEnvironmentResponse שמכיל פרטים על הסטטוס הסופי של הכנת הסביבה.

זריקות
com.google.android.managementapi.common.exceptions.InvalidArgumentException

אם:

  • ‫[notificationServiceComponentName] הוא לא רכיב תקין ששייך לאפליקציה שקוראת או שהוא לא מיוצא במניפסט.
  • התפקידים המבוקשים כוללים את {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} ולא סופק {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} או שהוא לא מרחיב את {@code android.app.admin.DeviceAdminReceiver}.
  • התפקידים המבוקשים לא חוקיים.
java.lang.SecurityException

אם למתקשר אין הרשאה להתקשר ל-API הזה.

com.google.android.managementapi.environment.exception.GooglePlayServicesAppNotUpdatedException אם Google Play Services לא עדכנית.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateUnrecoverableException אם ההתקנה או העדכון של Android Device Policy נכשלים והשגיאה לא ניתנת לתיקון.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallOrUpdateRecoverableException אם ההתקנה או העדכון של אפליקציית Android Device Policy נכשלים והשגיאה ניתנת לתיקון (למשל, הבקשה נכשלה בגלל בעיות זמניות ברשת), אפשר לנסות שוב לשלוח את הבקשה.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDeclinedException אם המשתמש מסרב להתקין את אפליקציית Device Policy ל-Android.

com.google.android.managementapi.environment.exception.AndroidDevicePolicyInstallConsentDismissedException אם המשתמש סוגר את מסך ההסכמה להתקנה.

com.google.android.managementapi.common.exceptions.InternalException

אם השיחה נכשלה בגלל שגיאה פנימית.

com.google.android.managementapi.environment.exception.PlayStoreUpdateUnrecoverableException אם העדכון של חנות Play נכשל.

com.google.android.managementapi.common.exceptions.ApiLevelException

אם רמת ה-API של ערכת ה-SDK של המכשיר לא מספיקה לתפקידים מסוימים שנדרשים (יכול להיות שזה בנוסף לדרישת רמת API מינימלית כללית לקריאה עצמה).{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} דורש רמת API ‏23 ומעלה. כל תפקיד אחר דורש רמת API‏ 28 ומעלה.

prepareEnvironmentAsync

abstract @NonNull ListenableFuture<@NonNull PrepareEnvironmentResponseprepareEnvironmentAsync(
    @NonNull PrepareEnvironmentRequest request,
    ComponentName notificationServiceComponentName
)

הכנת סביבת המכשיר.

המשתמשים יתבקשו להתקין את אפליקציית Device Policy ל-Android. ההתקנה תמשיך אם המשתמש יאשר את ההנחיה. אחרי ההתקנה, האפליקציה מבצעת פעולות כדי לוודא שהיא מוכנה לשימוש.

פרמטרים
ComponentName notificationServiceComponentName

ה-ComponentName של השירות שמוסיפים NotificationReceiverService. אם מציינים רכיב, הוא חייב להיות רכיב תקין ששייך לאפליקציה שמתקשרת, והוא צריך להיות מיוצא במניפסט. כדי לקבל התראות על אירועים שקשורים להכנת הסביבה, צריך:

  1. מטמיעים את הממשק EnvironmentListener באפליקציה.

  2. מספקים הטמעה של אופן הטיפול באירועים שהתקבלו.

  3. מרחיבים את NotificationReceiverService ומספקים מופע EnvironmentListener.

  4. מוסיפים את המחלקה המורחבת NotificationReceiverService אל AndroidManifest.xml ומוודאים שהיא מיוצאת.

לדוגמה:

class MyEnvironmentListener : EnvironmentListener {
override fun onEnvironmentEvent(event: EnvironmentEvent) {
// Handle the environment event.
}
}

class MyNotificationReceiverService : NotificationReceiverService() {
override fun getPrepareEnvironmentListener(): EnvironmentListener? {
return MyEnvironmentListener()
}
}
החזרות
@NonNull ListenableFuture<@NonNull PrepareEnvironmentResponse>

תג ListenableFuture שמקיף את התוצאה. הערך יכול להיות

  • העטיפה העתידית תצליח אם PrepareEnvironmentResponse יכיל פרטים על הסטטוס הסופי של הכנת הסביבה.

  • ‫Future שנכשלת ועוטפת InvalidArgumentException אם:

    • ‫[notificationServiceComponentName] הוא לא רכיב תקין ששייך לאפליקציה שקוראת או שהוא לא מיוצא במניפסט.
    • התפקידים המבוקשים לא חוקיים.
  • התפקידים המבוקשים כוללים את {@code Role.RoleType.DEVICE_POLICY_CONTROLLER} ולא סופק {@code com.google.android.managementapi.environment.model.PrepareEnvironmentRequest.admin} או שהוא לא מרחיב את {@code android.app.admin.DeviceAdminReceiver}.
  • ‫A failed future wrapping a

  • ‫Future שנכשל ועוטף SecurityException, אם הגורם ששלח את הקריאה לא מורשה לקרוא ל-API הזה.

  • העטיפה של GooglePlayServicesAppNotUpdatedException נכשלה אם Google Play Services לא עדכני.

  • ‫Future שנכשל ועוטף AndroidDevicePolicyInstallOrUpdateUnrecoverableException אם ההתקנה או העדכון של Android Device Policy נכשלים והשגיאה לא ניתנת לתיקון.

  • העטיפה העתידית נכשלה AndroidDevicePolicyInstallOrUpdateRecoverableException אם אפליקציית Android Device Policy נכשלת בהתקנה או בעדכון והשגיאה ניתנת לשחזור (למשל, הבקשה נכשלה בגלל בעיות זמניות ברשת), כך שאפשר לנסות שוב את הבקשה.

  • הפעולה נכשלה בעתיד, ועוטפת AndroidDevicePolicyInstallConsentDeclinedException אם המשתמש מסרב להתקין את אפליקציית Android Device Policy.

  • ‫Future שנכשל ועוטף AndroidDevicePolicyInstallConsentDismissedException אם המשתמש סוגר את מסך ההסכמה להתקנה.

  • אובייקט Future שנכשל ועוטף InternalException, אם הקריאה נכשלה בגלל שגיאה פנימית.

  • ‫A failed future wrapping a PlayStoreUpdateUnrecoverableException if the Play Store update failed.

  • זריקות
    com.google.android.managementapi.common.exceptions.ApiLevelException

    אם רמת ה-API של ערכת ה-SDK במכשיר לא מספיקה לתפקידים מסוימים שנדרשים. ‫{@code Role.RoleType.DEVICE_POLICY_CONTROLLER} דורש רמת API‏ 23 ומעלה. כל תפקיד אחר דורש רמת API‏ 28 ומעלה.