عامل معزول

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


واجهة بالطرق التي يلزم تنفيذها للتعامل مع الطلبات من نظام التشغيل إلى IsolatedService. تنشئ IsolatedService مثيلاً من IsolatedWorker على كل طلب وتستدعي إحدى الطرق التالية، بناءً على نوع الطلب. تستدعي السمة IsolatedService الطريقة في سلسلة Binder، ومن المفترض أن تُزيل IsolatedWorker عمليات التشغيل التي تستغرق وقتًا طويلاً إلى سلسلة محادثات عاملة. ويتم استخدام معلَمة المستهلك لكل طريقة لعرض النتائج.

ملخّص

الطرق المتاحة للجميع

default void onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)

معالجة عملية تنزيل مكتملة

default void onEvent(EventInput input, Consumer<EventOutput> consumer)

تعالج هذه السمة حدثًا تم تشغيله من خلال طلب مُرسَل إلى عنوان URL للتتبُّع EventUrlProvider المقدَّم من النظام الأساسي والذي تم تضمينه في مخرجات HTML التي يعرضها onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer).

default void onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)

معالجة طلب من أحد التطبيقات.

default void onRender(RenderInput input, Consumer<RenderOutput> consumer)

تنشئ هذه السمة تنسيق HTML للنتائج التي تم عرضها كنتيجة onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer).

default void onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)

إنشاء مثال تدريب واحد يُستخدم لوظيفة الحوسبة الموحدة.

الطرق المتاحة للجميع

تاريخ التنزيل المكتمل

public void onDownloadCompleted (DownloadCompletedInput input, 
                Consumer<DownloadCompletedOutput> consumer)

معالجة عملية تنزيل مكتملة ينزّل النظام الأساسي المحتوى باستخدام المَعلمات المحددة في بيان الحزمة الخاص بـ IsolatedService، ثم يستدعي هذه الوظيفة بعد اكتمال عملية التنزيل، ثم يعدّل الجدول REMOTE_DATA من IsolatedService#getRemoteData(RequestToken) بنتيجة هذه الطريقة.

المعلّمات
input DownloadCompletedInput: تنزيل معلَمات المعالج لا يمكن أن تكون هذه القيمة null.

consumer Consumer: معاودة الاتصال التي تتلقّى النتيجة يجب استدعاء الدالة null مع ظهور خطأ. إذا تم الاتصال باستخدام null، لن يتم إجراء أي تعديلات على الجدول REMOTE_DATA.

إذا عرضت هذه الطريقة خطأ RuntimeException، لن يتم إجراء أي تعديلات على الجدول REMOTE_DATA.

onEvent

public void onEvent (EventInput input, 
                Consumer<EventOutput> consumer)

تعالج هذه السمة حدثًا تم تشغيله من خلال طلب مُرسَل إلى عنوان URL للتتبُّع EventUrlProvider المقدَّم من النظام الأساسي والذي تم تضمينه في مخرجات HTML التي يعرضها onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer). يعدّل النظام الأساسي جدول الأحداث باستخدام EventOutput#getEventLogRecord().

المعلّمات
input EventInput: المَعلمات اللازمة لحساب بيانات الأحداث لا يمكن أن تكون هذه القيمة null.

consumer Consumer: معاودة الاتصال التي تتلقّى النتيجة يجب استدعاء الدالة null مع ظهور خطأ. في حال الاتصال باستخدام null، لن تتم كتابة أي بيانات في جدول "الأحداث".

إذا عرضت هذه الطريقة الخطأ RuntimeException، لن تتم كتابة أي بيانات في جدول الأحداث.

onExecute

public void onExecute (ExecuteInput input, 
                Consumer<ExecuteOutput> consumer)

تعالج هذه الطريقة طلبًا من تطبيق. يتم استدعاء هذه الطريقة عندما يطلب أحد التطبيقات OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) الذي يشير إلى IsolatedService باسم.

المعلّمات
input ExecuteInput: معلَمات الطلب من تطبيق الاتصال. لا يمكن أن تكون هذه القيمة null.

consumer Consumer: معاودة الاتصال التي تتلقّى النتيجة ExecuteOutput يجب طلب البيانات مع عرض null عند الخطأ. تم نشر الخطأ في تطبيق الاتصال كـ OnDevicePersonalizationException مع رمز الخطأ OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED. لتجنُّب تسريب البيانات الخاصة إلى تطبيق الاتصال، لا تتوفّر ميزة الإبلاغ الأكثر تفصيلاً عن الأخطاء. إذا كانت IsolatedService بحاجة إلى الإبلاغ عن إحصاءات الأخطاء في الخلفية، يجب أن تملأ ExecuteOutput ببيانات الخطأ لتسجيل الدخول، والاعتماد على Federated Analytics لتجميع تقارير الأخطاء.

إذا عرضت هذه الطريقة خطأ RuntimeException، سيتم الإبلاغ عن ذلك أيضًا عند استدعاء التطبيقات على أنّها OnDevicePersonalizationException مع رمز الخطأ OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

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: معاودة الاتصال التي تتلقّى النتيجة يجب استدعاء الدالة null مع ظهور خطأ. تم نشر الخطأ في تطبيق الاتصال كـ OnDevicePersonalizationException مع رمز الخطأ OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

إذا عرضت هذه الطريقة خطأ RuntimeException، سيتم أيضًا الإبلاغ عن ذلك لاستدعاء التطبيقات على أنّها OnDevicePersonalizationException مع رمز الخطأ OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED.

مثال على التدريب

public void onTrainingExample (TrainingExampleInput input, 
                Consumer<TrainingExampleOutput> consumer)

إنشاء مثال تدريب واحد يُستخدم لوظيفة الحوسبة الموحدة.

المعلّمات
input TrainingExampleInput: المعلَمات اللازمة لإنشاء مثال التدريب لا يمكن أن تكون هذه القيمة null.

consumer Consumer: معاودة الاتصال المطلوب استدعاؤها عند الانتهاء. لا يمكن أن تكون هذه القيمة null.