OnDevicePersonalizationManager
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
يوفّر OnDevicePersonalizationManager واجهات برمجة تطبيقات للتطبيقات لتحميل IsolatedService
في عملية معزولة والتفاعل معها.
يمكن للتطبيق طلب IsolatedService
لإنشاء محتوى لعرضه
ضمن SurfaceView
ضمن التسلسل الهرمي لعرض التطبيق، وكتابة
النتائج الثابتة أيضًا في مساحة التخزين على الجهاز والتي يمكن أن تستخدمها "الإحصاءات الموحّدة" لتحليل IsolatedService
الإحصائي على جميع الأجهزة أو "التعلم الموحّد" لتدريب النماذج. لا يمكن للتطبيق المُرسِل الوصول مباشرةً إلى المحتوى المعروض
والإخراج الدائم.
ملخّص
الطرق العامة | |
---|---|
void
|
execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
تنفيذ |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
يطلب إدراج |
الطرق المكتسَبة | |
---|---|
الطرق العامة
تنفيذ
public void execute (ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)
تنفيذ IsolatedService
في بيئة OnDevicePersonalization الاختبارية ترتبط
المنصة بـ IsolatedService
المحدّدة في عملية معزولة
وتطلب IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)
باستخدام المَعلمات التي يقدّمها المتصل. عند انتهاء تنفيذ IsolatedService
،
تُعيد المنصة إلى المتصل الرموز المميّزة التي تشير إلى النتائج الواردة من الخدمة.
ويمكن استخدام هذه الرموز المميزة لاحقًا لعرض النتائج في SurfaceView
ضمن تطبيق الاتصال.
المعلمات | |
---|---|
handler |
ComponentName : ComponentName من IsolatedService
لا يمكن أن تكون هذه القيمة null . |
params |
PersistableBundle : PersistableBundle يتم تمريرها من تطبيق الاتصال إلى
IsolatedService . يتم تحديد المحتوى المتوقّع لهذه المَعلمة
من خلالIsolatedService . لا يفسّر النظام الأساسي هذه المَعلمة.
لا يمكن أن تكون هذه القيمة null . |
executor |
Executor : Executor المطلوب استدعاء الدالة المرجعية عليه
لا يمكن أن تكون هذه القيمة null .
يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال Executor هذا، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات التي يتم استخدامها. لإرسال الأحداث من خلال سلسلة المهام الرئيسية في
تطبيقك، يمكنك استخدام
Context.getMainExecutor() .
بخلاف ذلك، قدِّم Executor يُرسِل إلى سلسلة محادثات مناسبة. |
receiver |
OutcomeReceiver : يعرض هذا الإجراء قائمة بعناصر SurfacePackageToken ، وكلّ منها هو
مرجع غير شفاف إلى RenderingConfig تم إرجاعه من
IsolatedService ، أو Exception في حال حدوث خطأ. يمكن استخدام عناصر
SurfacePackageToken التي يتم عرضها في طلب
requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) لاحق لعرض النتيجة في عرض. يجب أن يتفق تطبيق الاتصال
وIsolatedService على الحجم المتوقّع لهذه القائمة.
قد يكون أحد الإدخالات في القائمة المعروضة لكائنات SurfacePackageToken فارغًا للإشارة إلى أنّ الخدمة لا تتضمّن أي نتائج لهذا السطح المحدّد.
في حال حدوث خطأ، يعرض المستلِم أحد الاستثناءات التالية:
يعرض PackageManager.NameNotFoundException إذا لم يتم تثبيت حِزمة المعالج
أو لم يكن لديها بيان ODP صالح.
تعرض ClassNotFoundException إذا لم يتم العثور على فئة المعالج.
تعرِض القيمة OnDevicePersonalizationException في حال تعذّر تنفيذ معالِج الحدث. |
requestSurfacePackage
public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
يطلب إدراج SurfaceControlViewHost.SurfacePackage
في
SurfaceView
داخل تطبيق الاتصال. ستتضمّن حزمة العرض
View
يتضمّن المحتوى من نتيجة طلب سابق إلى
#execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)
قيد التشغيل في
مساحة وضع الحماية OnDevicePersonalization.
المعلمات | |
---|---|
surfacePackageToken |
SurfacePackageToken : إشارة إلى SurfacePackageToken تم إرجاعها من خلال طلب
سابق إلى #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) .
لا يمكن أن تكون هذه القيمة null . |
surfaceViewHostToken |
IBinder : رمز مضيف SurfaceView الذي يتم برمجه
من خلال SurfaceView.getHostToken() بعد
إضافة SurfaceView إلى التسلسل الهرمي للعرض
لا يمكن أن تكون هذه القيمة null . |
displayId |
int : رقم تعريف العدد الصحيح للعرض المنطقي المطلوب عرض SurfaceControlViewHost.SurfacePackage عليه، والذي يتم عرضه من خلال Context.getDisplay().getDisplayId() . |
width |
int : عرض SurfaceControlViewHost.SurfacePackage
بالبكسل |
height |
int : ارتفاع SurfaceControlViewHost.SurfacePackage بالبكسل |
executor |
Executor : Executor التي سيتم من خلالها استدعاء دالة الاستدعاء
لا يمكن أن تكون هذه القيمة null .
يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال Executor هذا، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات التي يتم استخدامها. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية
لتطبيقك، يمكنك استخدام
Context.getMainExecutor() .
وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة. |
receiver |
OutcomeReceiver : إما يتم عرض
SurfaceControlViewHost.SurfacePackage عند نجاح العملية أو
Exception عند التعذُّر. يكون نوع الاستثناء هو
OnDevicePersonalizationException في حال تعذّر تنفيذ المعالج.
لا يمكن أن تكون هذه القيمة null . |