OnDevicePersonalizationManager
public class OnDevicePersonalizationManager
extends Object
java.lang.object | |
↳ | android.adservices.ondevicepersonalization.OnDevicePersonalizationManager |
OnDevicePersonalizationManager API هایی را برای برنامه ها فراهم می کند تا یک 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) یک |
روش های ارثی | |
---|---|
روش های عمومی
اجرا کنند
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 ممکن است تهی باشد تا نشان دهد که سرویس هیچ خروجی برای آن سطح خاص ندارد. در صورت بروز خطا، گیرنده یکی از استثناهای زیر را برمی گرداند: اگر بسته کنترل کننده نصب نشده باشد یا مانیفست ODP معتبر نداشته باشد، PackageManager.NameNotFoundException را برمی گرداند. اگر کلاس handler پیدا نشود، 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 : hostToken SurfaceView که پس از اضافه شدن SurfaceView به سلسله مراتب view توسط SurfaceView.getHostToken() برگردانده می شود. این مقدار نمی تواند 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 باشد. |