OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager מספק ממשקי API לאפליקציות כדי לטעון
IsolatedService
בתהליך מבודד ולקיים איתו אינטראקציה.
האפליקציה יכולה לבקש מ-IsolatedService
ליצור תוכן לתצוגה
בתוך SurfaceView
בהיררכיית התצוגות של האפליקציה, וגם לכתוב
תוצאות קבועות באחסון במכשיר, שאפשר להשתמש בהן
על ידי Fedeated Analytics לצורך ניתוח סטטיסטי חוצה-מכשירים או באמצעות למידה משותפת לאימון מודלים. לאפליקציה המפעילה אין גישה ישירה לתוכן המוצג ולפלט הקבוע.
סיכום
שיטות ציבוריות | |
---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
מפעיל |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
הבקשה להוספת |
שיטות שעברו בירושה | |
---|---|
שיטות ציבוריות
ביצוע
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
הפעלת IsolatedService
בארגז החול של OnDevicePersonalization. הפלטפורמה
מקשרת אל IsolatedService
שצוין בתהליך מבודד
וקוראת ל-IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
עם הפרמטרים שסופקו על ידי מבצע הקריאה החוזרת. כשהפעלת IsolatedService
מסתיימת, הפלטפורמה מחזירה למבצע הקריאה את האסימונים שמפנים לתוצאות מהשירות.
לאחר מכן אפשר להשתמש באסימונים האלה כדי להציג תוצאות ב-SurfaceView
באפליקציה שבה מתבצעת הקריאה.
פרמטרים | |
---|---|
handler |
ComponentName : ה-ComponentName של ה-IsolatedService .
הערך לא יכול להיות null . |
params |
PersistableBundle : PersistableBundle שמועבר מאפליקציית השיחות אל IsolatedService . התוכן הצפוי של הפרמטר הזה מוגדר על ידי IsolatedService . הפלטפורמה לא מפענחת את הפרמטר הזה.
הערך לא יכול להיות null . |
executor |
Executor : ה-Executor שבו צריך להפעיל את הפונקציה הזו.
הערך לא יכול להיות null .
אירועי קריאה חוזרת ואירועי האזנה נשלחים דרך
Executor הזה, כדי לאפשר לך לקבוע בקלות באיזה שרשור
ייעשה שימוש. כדי לשלוח אירועים דרך השרשור הראשי של האפליקציה, אפשר להשתמש ב-Context.getMainExecutor() .
אחרת, צריך לספק Executor שמפנה לשרשור המתאים. |
receiver |
OutcomeReceiver : הפונקציה מחזירה רשימה של SurfacePackageToken אובייקטים, שכל אחד מהם הוא הפניה אטומה ל-RenderingConfig שהוחזר על ידי IsolatedService , או Exception במקרה של כשל. אפשר להשתמש באובייקטים SurfacePackageToken שמוחזרים בקריאה requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) הבאה כדי להציג את התוצאה בתצוגה. אפליקציית השיחות
ו-IsolatedService צריכים להסכים לגבי הגודל הצפוי של הרשימה הזו.
יכול להיות שהערך ברשימה שמוחזרת של האובייקטים SurfacePackageToken יהיה null, כדי לציין שלשירות אין פלט בפלטפורמה הספציפית הזו.
במקרה של שגיאה, המקבל מחזיר אחת מחריגות הבאות:
מחזירה PackageManager.NameNotFoundException אם חבילת ה-handler לא מותקנת או שאין לה מניפסט ODP חוקי.
הפונקציה מחזירה את הערך ClassNotFoundException אם לא נמצאה כיתה הטיפול.
הפונקציה מחזירה OnDevicePersonalizationException אם ההפעלה של הטיפול נכשל. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
הבקשה להוספת SurfaceControlViewHost.SurfacePackage
ל-SurfaceView
באפליקציה מבצעת את הקריאה. חבילת ה-surface תכיל את View
עם התוכן מתוצאה של קריאה קודמת ל-#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
שפועלת בארגז החול של OnDevicePersonalization.
פרמטרים | |
---|---|
surfacePackageToken |
SurfacePackageToken : הפניה ל-SurfacePackageToken שהוחזר על ידי קריאה קודמת ל-#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
הערך לא יכול להיות null . |
surfaceViewHostToken |
IBinder : ה-hostToken של ה-SurfaceView , שמוחזר על ידי SurfaceView.getHostToken() אחרי ש-SurfaceView נוסף להיררכיית התצוגה.
הערך לא יכול להיות null . |
displayId |
int : המזהה של התצוגה הלוגי, שבה מוצג הערך של SurfaceControlViewHost.SurfacePackage , שמוחזר על ידי Context.getDisplay().getDisplayId() . |
width |
int : הרוחב של SurfaceControlViewHost.SurfacePackage בפיקסלים. |
height |
int : הגובה של SurfaceControlViewHost.SurfacePackage
בפיקסלים. |
executor |
Executor : ה-Executor שבו צריך להפעיל את פונקציית ה-callback. הערך לא יכול להיות null .
אירועי החזרה (callbacks) ואירועי הקשבים (listeners) מועברים דרך Executor הזה, ומאפשרים לכם לשלוט בקלות בשרשור שבו נעשה שימוש. כדי לשלוח אירועים דרך ה-thread הראשי של האפליקציה, אפשר להשתמש ב-Context.getMainExecutor() .
אחרת, צריך לספק Executor שמפנה לשרשור המתאים. |
receiver |
OutcomeReceiver : הפונקציה הזו מחזירה את הערך SurfaceControlViewHost.SurfacePackage אם הפעולה בוצעה בהצלחה, ואת הערך Exception אם הפעולה נכשלה. סוג החריגה הוא OnDevicePersonalizationException אם ביצוע הטיפול נכשל.
הערך לא יכול להיות null . |