خدمة معزولة

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 في تطبيق اتصال وكتابة نتائج دائمة في مساحة التخزين على الجهاز، والتي يمكن أن تستخدمها "الإحصاءات الموحّدة" لإجراء تحليل إحصائي على جميع الأجهزة أو استخدامها من خلال "التعلم الموحّد" لتدريب النماذج. تستخدم تطبيقات العميل 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 وEVENT الذي يوفر إمكانية الوصول إلى الصفوف التي يمكن قراءتها بواسطة 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 لجدولة مهام الحوسبة الموحّدة وإلغائها. تشمل الحوسبة الموحّدة التعلّم الموحّد ووظائف الإحصاءات الموحّدة.

المعلمات
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 المعروضة هي عمليات حظر ويجب استدعاؤها من سلسلة مهام عامل وليس من سلسلة المهام الرئيسية أو سلسلة مهام Binder. لا يمكن أن تكون هذه القيمة null.

يُرجى الاطّلاع أيضًا على:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

عرض DAO لجدولَي REQUESTS وEVENTS يقدّم إذن الوصول إلى الصفوف التي يمكن لـ IsolatedService قراءتها

المعلمات
requestToken RequestToken: رمز مميز ومبهم يحدّد الطلب الحالي المرسَل إلى الخدمة لا يمكن أن تكون هذه القيمة null.

المرتجعات
LogReader كائن LogReader يوفر إمكانية الوصول إلى جدول "الطلبات" و"الأحداث". إنّ الطرق الواردة في LogReader المعروضة هي عمليات حظر، ويجب استدعاؤها من سلسلة مهام عامل وليس من سلسلة المهام الرئيسية أو سلسلة مهام Binder. لا يمكن أن تكون هذه القيمة null.

يُرجى الاطّلاع أيضًا على:

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

تعرِض هذه الدالة كائن الوصول إلى البيانات لجدول REMOTE_DATA. جدول REMOTE_DATA هو ملف تخزين مفاتيح وقيم للقراءة فقط يحتوي على بيانات يتم تنزيلها بشكل دوري من نقطة نهاية تم تحديدها في علامة في بيان 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" ملاحظة: أيّ عناصر إضافية تم تضمينها في Intent في هذه المرحلة لن تظهر هنا. لا يمكن أن تكون هذه القيمة null.

المرتجعات
IBinder قد تكون هذه القيمة null.

OnCreate

public void onCreate ()

لإنشاء رابط لـ IsolatedService

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

عرض مثيل IsolatedWorker يعالج طلبات العميل

المعلمات
requestToken RequestToken: رمز مميّز مبهم يحدّد الطلب الحالي للخدمة والذي يجب تمريره إلى طرق الخدمة التي تعتمد على حالة كل طلب. لا يمكن أن تكون هذه القيمة null.

المرتجعات
IsolatedWorker لا يمكن أن تكون هذه القيمة null.