EnvironmentClient

interface EnvironmentClient


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

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

סיכום

פונקציות ציבוריות

suspend Environment

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

ListenableFuture<Environment>

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

suspend PrepareEnvironmentResponse
prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
)

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

ListenableFuture<PrepareEnvironmentResponse>
prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
)

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

פונקציות ציבוריות

getEnvironment

suspend fun getEnvironment(request: GetEnvironmentRequest): Environment

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

מקפיצה את הודעות השגיאה (Throws)
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

fun getEnvironmentAsync(request: GetEnvironmentRequest): ListenableFuture<Environment>

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

החזרות
ListenableFuture<Environment>

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

מקפיצה את הודעות השגיאה (Throws)
com.google.android.managementapi.common.exceptions.ApiLevelException

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

prepareEnvironment

suspend fun prepareEnvironment(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): PrepareEnvironmentResponse

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

ההתנהגות תלויה בהקשר:

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

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

פרמטרים
notificationServiceComponentName: ComponentName?

ה-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()
}
}
החזרות
PrepareEnvironmentResponse

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

מקפיצה את הודעות השגיאה (Throws)
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.GooglePlayServicesAppNotUpdatedException

אם Google Play Services לא עדכני.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateUnrecoverableException

אם ההתקנה או העדכון של Android Device Policy נכשלים והשגיאה לא ניתנת לתיקון.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallOrUpdateRecoverableException

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

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDeclinedException

אם המשתמש מסרב להתקין את אפליקציית Android Device Policy.

com.google.android.managementapi.environment.AndroidDevicePolicyInstallConsentDismissedException

אם המשתמש סוגר את מסך ההסכמה להתקנה.

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

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

com.google.android.managementapi.environment.PlayStoreUpdateUnrecoverableException

אם העדכון של חנות Play נכשל.

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

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

prepareEnvironmentAsync

fun prepareEnvironmentAsync(
    request: PrepareEnvironmentRequest,
    notificationServiceComponentName: ComponentName?
): ListenableFuture<PrepareEnvironmentResponse>

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

ההתנהגות תלויה בהקשר:

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

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

פרמטרים
notificationServiceComponentName: ComponentName?

ה-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()
}
}
החזרות
ListenableFuture<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}.
  • ‫Future שנכשל ועוטף SecurityException, אם הגורם ששלח את הקריאה לא מורשה לקרוא ל-API הזה.

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

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

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

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

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

  • ‫A failed future wrapping a InternalException, if call failed due to an internal error.

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

מקפיצה את הודעות השגיאה (Throws)
com.google.android.managementapi.common.exceptions.ApiLevelException

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