IsolatedService

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 לטבלאות REQUESTS ו-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 שמטפל בבקשות של לקוחות.

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

יוצרים ציבוריים

IsolatedService

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 כדי לתזמן ולבטל משימות מחשוב מאוחד. החישוב המאוחד כולל למידה משותפת (Federated) ומשימות ניתוח נתונים משותפות (Federated).

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

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

מאמרים קשורים:

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

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

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

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

מאמרים קשורים:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

הפונקציה מחזירה DAO לטבלאות REQUESTS ו-EVENTS, שמספק גישה לשורות ש-IsolatedService יכול לקרוא.

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

החזרות
LogReader אובייקט LogReader שמספק גישה לטבלה Preference ו-Events. ה-methods ב-LogReader שהוחזר הן פעולות חוסמות, וצריך לקרוא אותן מ-thread של עובדים ולא מה-thread הראשי או מ-thread של קישור. הערך לא יכול להיות 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 המוחזר הן פעולות חסימה, וצריך להפעיל אותן משרשור עבודה ולא מהשרשור הראשי או משרשור של Binder. הערך הזה לא יכול להיות 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. לתשומת ליבכם: לא יופיעו כאן פריטים נוספים שכללו את הכוונה באותו שלב. הערך לא יכול להיות null.

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

onCreate

public void onCreate ()

יצירת מסמך מצורף ל-IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

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

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

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