مدير تخصيص الجهاز على الجهاز
public
class
OnDevicePersonalizationManager
extends Object
java.lang.Object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
يوفّر OnDevicePersonalizationManager واجهات برمجة تطبيقات للتطبيقات من أجل تحميل IsolatedService
في عملية منفصلة والتفاعل معها.
ويمكن للتطبيق طلب IsolatedService
لإنشاء محتوى للعرض في SurfaceView
ضمن العرض الهرمي لطريقة عرض التطبيق، وكذلك كتابة نتائج ثابتة لتخزين البيانات على الجهاز فقط، والتي يمكن استخدامها بواسطة Federated Analytics للتحليل الإحصائي على جميع الأجهزة أو من خلال Federated Learning لأغراض تدريب النماذج. لا يمكن لتطبيق الاتصال مباشرةً الوصول إلى المحتوى المعروض والإخراج الدائم.
ملخّص
الطرق المتاحة للجميع | |
---|---|
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)
تطلب إدخال |
الطرق المكتسبة | |
---|---|
الطرق المتاحة للجميع
الأمر execute
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 إذا تعذّر تنفيذ المعالج. |
طلب SurfacePackage
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 . |