کارگر منزوی

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)

یک نمونه آموزشی واحد ایجاد کنید که برای کار محاسباتی فدرال استفاده می شود.

روش های عمومی

onDownload تکمیل شد

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 انجام نمی شود.

oneEvent

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 نوشته نمی شود.

oneExecute

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

به درخواست یک برنامه رسیدگی می کند. این روش زمانی فراخوانی می‌شود که یک برنامه OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) را که به یک IsolatedService با نام اشاره دارد، فراخوانی می‌کند.

پارامترها
input ExecuteInput : درخواست پارامترها از برنامه تماس. این مقدار نمی تواند null باشد.

consumer Consumer : Callback که نتیجه ExecuteOutput را دریافت می کند. در صورت خطا باید با null فراخوانی شود. خطا به عنوان یک OnDevicePersonalizationException با کد خطا OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED به برنامه تماس منتقل می شود.ERROR_ISOLATED_SERVICE_FAILED . برای جلوگیری از نشت داده های خصوصی به برنامه تماس، گزارش خطای دقیق تری در دسترس نیست. اگر IsolatedService نیاز دارد که آمار خطا را به باطن خود گزارش کند، باید ExecuteOutput با داده های خطا برای ورود به سیستم پر کند و برای جمع آوری گزارش های خطا به تجزیه و تحلیل فدرال تکیه کند.

اگر این روش یک RuntimeException ایجاد کند، به عنوان OnDevicePersonalizationException با کد خطای OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED نیز به فراخوانی برنامه ها گزارش می شود.

در رندر

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 به برنامه تماس منتقل می شود.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 باشد.