OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
| java.lang.Object | |
| ↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager מספק ממשקי API לאפליקציות כדי לטעון
IsolatedService בתהליך מבודד ולקיים איתו אינטראקציה.
האפליקציה יכולה לבקש IsolatedService ליצור תוכן לתצוגה
בתוך SurfaceView בהיררכיית התצוגות של האפליקציה, וגם לכתוב
תוצאות קבועות באחסון במכשיר, שאפשר להשתמש בהן על ידי Federated Analytics
ניתוח סטטיסטי בין מכשירים או באמצעות למידה משותפת (Federated Learning) לאימון מודלים. הערכים שמוצגים
גם לתוכן וגם לפלט הקבוע אין גישה ישירה לאפליקציית הקריאה.
סיכום
שיטות ציבוריות | |
|---|---|
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 בארגז החול של OnDeviceCustomize.
הפלטפורמה מקשרת ל-IsolatedService שצוין בתהליך מבודד
ומתקשר אל IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
עם הפרמטרים שסופקו על ידי המתקשר/ת. כשההפעלה של IsolatedService תסתיים,
הפלטפורמה תחזיר אסימונים הקשורים לתוצאות מהשירות למקבל הקריאה.
ניתן להשתמש באסימונים האלה בהמשך כדי להציג תוצאות
SurfaceView באפליקציית השיחות.
| פרמטרים | |
|---|---|
handler |
ComponentName: ה-ComponentName של IsolatedService.
הערך הזה לא יכול להיות null. |
params |
PersistableBundle: PersistableBundle שמועבר מאפליקציית השיחות
IsolatedService. התוכן הצפוי של הפרמטר הזה מוגדר
על ידי IsolatedService. הפלטפורמה לא מפרשת את הפרמטר הזה.
הערך הזה לא יכול להיות null. |
executor |
Executor: ה-Executor שבו צריך להפעיל את הקריאה החוזרת (callback).
הערך הזה לא יכול להיות null.
אירועי קריאה חוזרת ואירועי האזנה נשלחים באמצעות
Executor, דרך קלה לקבוע איזה שרשור
בשימוש. כדי לשלוח אירועים דרך ה-thread הראשי
אפשר להשתמש
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 אם המחלקה של ה-handler לא נמצאה.
הפונקציה מחזירה ערך OnDevicePersonalizationException אם הביצוע של ה-handler נכשל. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
מבקש להוסיף SurfaceControlViewHost.SurfacePackage ל
SurfaceView באפליקציית השיחות. חבילת הפלטפורמה תכיל
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 שבו תופעל הקריאה החוזרת
הערך הזה לא יכול להיות null.
אירועי קריאה חוזרת ואירועי האזנה נשלחים באמצעות
Executor, דרך קלה לקבוע איזה שרשור
בשימוש. כדי לשלוח אירועים דרך ה-thread הראשי
אפשר להשתמש
Context.getMainExecutor()
אם לא, צריך לציין Executor ששולח לשרשור מתאים. |
receiver |
OutcomeReceiver: פעולה זו מחזירה
SurfaceControlViewHost.SurfacePackage להצלחה, או
Exception במקרה של כשל. סוג החריגה הוא
OnDevicePersonalizationException אם הביצוע של ה-handler נכשל.
הערך הזה לא יכול להיות null. |