עבודה מבודדת
public
interface
IsolatedWorker
| android.adservices.ondevicepersonalization.IsolatedWorker |
ממשק עם methods שצריך להטמיע כדי לטפל בבקשות ממערכת ההפעלה ל-IsolatedService. השדה IsolatedService יוצר מופע של IsolatedWorker ב-
כל בקשה מפעילה את אחת מהשיטות הבאות, בהתאם לסוג הבקשה. ה-IsolatedService מפעיל את ה-method ב-thread של Binder, וה-IsolatedWorker אמור
להפחית את העומס של פעולות ממושכות לשרשור של עובדים. נעשה שימוש בפרמטר הצרכן של כל שיטה
כדי להחזיר תוצאות.
סיכום
שיטות ציבוריות | |
|---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
טיפול בהורדה שהושלמה. |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
טיפול באירוע שמופעל על-ידי בקשה לכתובת URL למעקב |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
מטפל בבקשה מאפליקציה. |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
יוצר HTML עבור התוצאות שהוחזרו כתוצאה
|
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
ליצור דוגמה אחת לאימון שמשמשת למשימת חישוב מאוחדת. |
שיטות ציבוריות
ההורדה הושלמה
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
טיפול בהורדה שהושלמה. הפלטפורמה מורידה תוכן באמצעות הפרמטרים שמוגדרים ב
מניפסט החבילה של IsolatedService, קורא לפונקציה הזו לאחר ההורדה
הושלם, ומעדכן את הטבלה REMOTE_DATA מ-
IsolatedService#getRemoteData(RequestToken) מהתוצאה של השיטה הזו.
| פרמטרים | |
|---|---|
input |
DownloadCompletedInput: הורדת הפרמטרים של ה-handler.
הערך הזה לא יכול להיות null. |
consumer |
Consumer: קריאה חוזרת (callback) שמקבלת את התוצאה. צריך להתקשר עם null בתאריך
שגיאה. אם נשלחת קריאה באמצעות null, לא מתבצעים עדכונים בטבלה REMOTE_DATA.
אם השיטה הזו מחזירה |
onEvent
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
טיפול באירוע שמופעל על-ידי בקשה לכתובת URL למעקב EventUrlProvider שסופקה על ידי הפלטפורמה, שהוטמעה בפלט ה-HTML שהוחזר על-ידי הפלטפורמה
onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer). הפלטפורמה מעדכנת את הטבלה Events באמצעות
EventOutput#getEventLogRecord()
| פרמטרים | |
|---|---|
input |
EventInput: הפרמטרים שדרושים כדי לחשב נתוני אירועים.
הערך הזה לא יכול להיות null. |
consumer |
Consumer: קריאה חוזרת (callback) שמקבלת את התוצאה. צריך להתקשר עם null בתאריך
שגיאה. אם נשלחת קריאה באמצעות null, לא ייכתבו נתונים בטבלת האירועים.
אם השיטה הזו גורמת לשגיאה |
בביצוע
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
מטפל בבקשה מאפליקציה. לשיטה הזו מתבצעת קריאה כשאפליקציה קוראת ל-OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver) שמפנה אל
IsolatedService.
| פרמטרים | |
|---|---|
input |
ExecuteInput: מבקשים פרמטרים מאפליקציית הקריאה.
הערך הזה לא יכול להיות null. |
consumer |
Consumer: קריאה חוזרת (callback) שמקבלת את התוצאה ExecuteOutput. צריך להתקשר
עם null בשגיאה. השגיאה תופץ לאפליקציית השיחות
OnDevicePersonalizationException עם קוד השגיאה OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. כדי למנוע הדלפת מידע פרטי
נתונים לאפליקציית השיחות, דיווח מפורט יותר על שגיאות לא זמין. אם IsolatedService צריך לדווח נתונים סטטיסטיים של שגיאות לקצה העורפי שלו, צריך לאכלס את ExecuteOutput בנתוני שגיאות לרישום ביומן, ולהסתמך על נתונים מאוחדים של Analytics לצורך צבירה
בדוחות השגיאות.
אם השיטה הזו גורמת לשגיאה |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
יוצר HTML עבור התוצאות שהוחזרו כתוצאה
onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) בוצעה שיחה כשאפליקציית לקוח מתקשרת
OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
הפלטפורמה תעבד את ה-HTML הזה ב-WebView בתוך
מסגרת.
| פרמטרים | |
|---|---|
input |
RenderInput: הפרמטרים לבקשת העיבוד.
הערך הזה לא יכול להיות null. |
consumer |
Consumer: קריאה חוזרת (callback) שמקבלת את התוצאה. צריך להתקשר עם null בתאריך
שגיאה. השגיאה תופץ לאפליקציית השיחות כ-OnDevicePersonalizationException עם קוד השגיאה OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.
אם השיטה הזו גורמת לשגיאה |
דוגמה לאימון
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
ליצור דוגמה אחת לאימון שמשמשת למשימת חישוב מאוחדת.
| פרמטרים | |
|---|---|
input |
TrainingExampleInput: הפרמטרים שנדרשים כדי ליצור את דוגמת האימון.
הערך הזה לא יכול להיות null. |
consumer |
Consumer: קריאה חוזרת (callback) כשתופעל בסיום.
הערך הזה לא יכול להיות null. |