IsolatedWorker

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


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

ملخّص

الطرق العامة

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). تعدّل المنصة جدول EVENTS باستخدام EventOutput#getEventLogRecord().

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

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

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

قيد التنفيذ

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 ببيانات الأخطاء لتسجيلها، وأن يعتمد على "إحصاءات Google" المُدمَجة لتجميع تقارير الأخطاء.

إذا تسبّبت هذه الطريقة في حدوث 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.

onTrainingExample

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

أنشئ مثالاً واحدًا للتدريب يُستخدَم في وظيفة الحوسبة الموحّدة.

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

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