שירות מבודד

public abstract class IsolatedService
extends Service

java.lang.Object
android.content.Context
  android.content.ContextWrapper
    android.app.Service
      android.adservices.ondevicepersonalization.IsolatedService


מחלקה בסיסית עבור שירותים שהופעלו על ידי ODP בשיחה אל OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) והם פועלים במקום מבודד התהליך. השירות יכול להפיק תוכן שיוצג SurfaceView באפליקציית שיחות וכתיבת תוצאות קבועות במכשיר אחסון נתונים, שאותו יכול להשתמש ב-Federated Analytics לצורך ניתוח סטטיסטי חוצה-מכשירים, באמצעות למידה משותפת לאימון מודלים. אפליקציות לקוח משתמשות ב-OnDevicePersonalizationManager כדי לקיים אינטראקציה עם IsolatedService.

סיכום

קבועים שעברו בירושה

בנאים ציבוריים

IsolatedService()

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

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

הפונקציה מחזירה את הערך EventUrlProvider עבור הבקשה הנוכחית.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

הפונקציה מחזירה את הערך FederatedComputeScheduler עבור הבקשה הנוכחית.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

מחזירה אובייקט גישה לנתונים עבור הטבלה LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

פונקציה זו מחזירה DAO עבור הטבלאות בעיקר ו-Events (אירועים) שמספקים גישה לשורות הניתנות לקריאה על ידי IsolatedService.

final KeyValueStore getRemoteData(RequestToken requestToken)

מחזירה אובייקט גישה לנתונים עבור הטבלה REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

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

IBinder onBind(Intent intent)

מתבצע קישור לקישור אל IsolatedService.

void onCreate()

יצירת קלסר עבור IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

מחזירה מופע של IsolatedWorker שמטפל בבקשות לקוח.

שיטות שעברו בירושה

בנאים ציבוריים

שירות מבודד

public IsolatedService ()

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

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

הפונקציה מחזירה את הערך EventUrlProvider עבור הבקשה הנוכחית. EventUrlProvider מספקת כתובות URL שאפשר להטמיע ב-HTML. כשקוד ה-HTML מעובד WebView, הפלטפורמה מיירטת בקשות לכתובות ה-URL האלה ומבצעת הפעלה IsolatedWorker#onEvent(EventInput, Consumer).

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות. הערך הזה לא יכול להיות null.

החזרות
EventUrlProvider EventUrlProvider שמחזיר כתובות URL למעקב אחרי אירועים. הערך הזה לא יכול להיות null.

למידע נוסף:

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

הפונקציה מחזירה את הערך FederatedComputeScheduler עבור הבקשה הנוכחית. אפשר להשתמש ב-FederatedComputeScheduler כדי לתזמן ולבטל משימות מחשוב מאוחד. חישוב מאוחד כולל למידה משותפת ועבודות אנליטיות מאוחדות.

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות. הערך הזה לא יכול להיות null.

החזרות
FederatedComputeScheduler FederatedComputeScheduler שמחזיר משימת חישוב מאוחדת מתזמן המשימות. הערך הזה לא יכול להיות null.

למידע נוסף:

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

מחזירה אובייקט גישה לנתונים עבור הטבלה LOCAL_DATA. הטבלה LOCAL_DATA היא קבועה מאגר מפתח/ערך שהשירות יכול להשתמש בו כדי לאחסן נתונים. התוכן של הטבלה הזו הוא גלויים רק לשירות שפועל בתהליך מבודד ולא ניתן לשלוח אותו מחוץ במכשיר.

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות. הערך הזה לא יכול להיות null.

החזרות
MutableKeyValueStore אובייקט MutableKeyValueStore שמספק גישה לטבלה LOCAL_DATA. השיטות ב-MutableKeyValueStore שהוחזרו מהוות פעולות חוסמות צריך לקרוא ל-thread של Worker ולא מה-thread הראשי או מ-thread של binder. הערך הזה לא יכול להיות null.

למידע נוסף:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

פונקציה זו מחזירה DAO עבור הטבלאות בעיקר ו-Events (אירועים) שמספקות גישה לשורות הניתנות לקריאה על ידי IsolatedService.

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות. הערך הזה לא יכול להיות null.

החזרות
LogReader אובייקט LogReader שמספק גישה לטבלה Preference ו-Events. השיטות ב-LogReader שהוחזרו מהוות פעולות חוסמות צריך לקרוא ל-thread של Worker ולא מה-thread הראשי או מ-thread של binder. הערך הזה לא יכול להיות null.

למידע נוסף:

getremoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

מחזירה אובייקט גישה לנתונים עבור הטבלה REMOTE_DATA. הטבלה REMOTE_DATA היא לקריאה בלבד מאגר מפתח/ערך שמכיל נתונים שהורדו מדי פעם מנקודת קצה (endpoint) שהוצהרה בתג במניפסט של ה-ODP של השירות, כמו בדוגמה הבאה.

<!-- Contents of res/xml/OdpSettings.xml -->
 <on-device-personalization>
 <!-- Name of the service subclass -->
 <service "com.example.odpsample.SampleService">
   <!-- If this tag is present, ODP will periodically poll this URL and
    download content to populate REMOTE_DATA. Adopters that do not need to
    download content from their servers can skip this tag. -->
   <download-settings url="https://example.com/get" />
 </service>
 </on-device-personalization>
 

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות. הערך הזה לא יכול להיות null.

החזרות
KeyValueStore אובייקט KeyValueStore שמספק גישה לטבלה REMOTE_DATA. השיטות של KeyValueStore שהוחזרו חוסמות פעולות, וצריכות להיות שנקראו משרשור של עובדים ולא מה-thread הראשי או משרשור של קלסר. הערך הזה לא יכול להיות null.

למידע נוסף:

getUserData

public final UserData getUserData (RequestToken requestToken)

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

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות. הערך הזה לא יכול להיות null.

החזרות
UserData אובייקט UserData. הערך הזה יכול להיות null.

למידע נוסף:

onBind

public IBinder onBind (Intent intent)

מתבצע קישור לקישור אל IsolatedService.

פרמטרים
intent Intent: ה-Intent ששימש לקישור לשירות הזה, כפי שניתן ל-Context.bindService. שימו לב שכל התוספות שייכלל ב-Intent בשלב הזה, לא יוצגו כאן. הערך הזה לא יכול להיות null.

החזרות
IBinder הערך הזה יכול להיות null.

onCreate

public void onCreate ()

יצירת קלסר עבור IsolatedService.

onRequest (בבקשה)

public abstract IsolatedWorker onRequest (RequestToken requestToken)

מחזירה מופע של IsolatedWorker שמטפל בבקשות לקוח.

פרמטרים
requestToken RequestToken: אסימון אטום שמזהה את הבקשה הנוכחית לשירות אשר חייב לעבור לשיטות שירות שתלויות במצב של כל בקשה. הערך הזה לא יכול להיות null.

החזרות
IsolatedWorker הערך הזה לא יכול להיות null.