বিচ্ছিন্ন কর্মী

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


একটি IsolatedService থেকে OS থেকে অনুরোধগুলি পরিচালনা করার জন্য প্রয়োগ করা প্রয়োজন এমন পদ্ধতিগুলির সাথে ইন্টারফেস৷ IsolatedService প্রতিটি অনুরোধে IsolatedWorker এর একটি উদাহরণ তৈরি করে এবং অনুরোধের প্রকারের উপর নির্ভর করে নীচের একটি পদ্ধতিতে কল করে। IsolatedService একটি বাইন্ডার থ্রেডে পদ্ধতিটিকে কল করে এবং IsolatedWorker একটি কর্মী থ্রেডে দীর্ঘ চলমান অপারেশন অফলোড করা উচিত। ফলাফল ফেরাতে প্রতিটি পদ্ধতির ভোক্তা পরামিতি ব্যবহার করা হয়।

সারাংশ

পাবলিক পদ্ধতি

default void onDownloadCompleted ( DownloadCompletedInput input, Consumer < DownloadCompletedOutput > consumer)

একটি সম্পূর্ণ ডাউনলোড পরিচালনা করে।

default void onEvent ( EventInput input, Consumer < EventOutput > consumer)

onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) দ্বারা ফেরত এইচটিএমএল আউটপুটে এমবেড করা একটি প্ল্যাটফর্ম-প্রদত্ত ট্র্যাকিং URL EventUrlProvider এর অনুরোধের দ্বারা ট্রিগার করা একটি ইভেন্ট পরিচালনা করে।

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

একটি অ্যাপ থেকে একটি অনুরোধ পরিচালনা করে।

default void onRender ( RenderInput input, Consumer < RenderOutput > consumer)

onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) এর ফলে ফিরে আসা ফলাফলের জন্য HTML তৈরি করে।

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

ফেডারেটেড কম্পিউটেশন কাজের জন্য ব্যবহৃত একটি একক প্রশিক্ষণ উদাহরণ তৈরি করুন।

পাবলিক পদ্ধতি

onDownload Completed

public void onDownloadCompleted (DownloadCompletedInput input, 
                Consumer<DownloadCompletedOutput> consumer)

একটি সম্পূর্ণ ডাউনলোড পরিচালনা করে। প্ল্যাটফর্মটি IsolatedService প্যাকেজ ম্যানিফেস্টে সংজ্ঞায়িত পরামিতিগুলি ব্যবহার করে সামগ্রী ডাউনলোড করে, ডাউনলোড সম্পূর্ণ হওয়ার পরে এই ফাংশনটিকে কল করে এবং এই পদ্ধতির ফলাফল সহ IsolatedService#getRemoteData(RequestToken) থেকে REMOTE_DATA টেবিল আপডেট করে৷

পরামিতি
input DownloadCompletedInput : হ্যান্ডলার প্যারামিটার ডাউনলোড করুন। এই মানটি null হতে পারে না।

consumer Consumer : কলব্যাক যা ফলাফল গ্রহণ করে। একটি ত্রুটি null সঙ্গে কল করা উচিত. null দিয়ে কল করা হলে, REMOTE_DATA টেবিলে কোনো আপডেট করা হয় না।

যদি এই পদ্ধতিটি একটি RuntimeException নিক্ষেপ করে, তাহলে REMOTE_DATA টেবিলে কোনো আপডেট করা হয় না।

একটি ইভেন্ট

public void onEvent (EventInput input, 
                Consumer<EventOutput> consumer)

onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) দ্বারা ফেরত এইচটিএমএল আউটপুটে এমবেড করা একটি প্ল্যাটফর্ম-প্রদত্ত ট্র্যাকিং URL EventUrlProvider এর অনুরোধের দ্বারা ট্রিগার করা একটি ইভেন্ট পরিচালনা করে। প্ল্যাটফর্মটি EventOutput#getEventLogRecord() দিয়ে EVENTS টেবিল আপডেট করে।

পরামিতি
input EventInput : ইভেন্ট ডেটা গণনা করার জন্য প্রয়োজনীয় পরামিতি। এই মানটি null হতে পারে না।

consumer Consumer : কলব্যাক যা ফলাফল গ্রহণ করে। একটি ত্রুটি null সঙ্গে কল করা উচিত. যদি null দিয়ে বলা হয়, EVENTS টেবিলে কোনো ডেটা লেখা হয় না।

যদি এই পদ্ধতিটি একটি RuntimeException নিক্ষেপ করে, EVENTS টেবিলে কোনো ডেটা লেখা হয় না।

onExecute

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.ERROR_ISOLATED_SERVICE_FAILED সহ কলিং অ্যাপে একটি OnDevicePersonalizationException হিসাবে প্রচার করা হয়েছে। কলিং অ্যাপে ব্যক্তিগত ডেটা ফাঁস এড়াতে, আরও বিস্তারিত ত্রুটি রিপোর্টিং উপলব্ধ নয়। যদি IsolatedService এর ব্যাকএন্ডে ত্রুটির পরিসংখ্যান রিপোর্ট করতে হয়, তাহলে এটিকে লগিং করার জন্য ত্রুটি ডেটা সহ ExecuteOutput পূরণ করতে হবে এবং ত্রুটি রিপোর্টগুলিকে একত্রিত করতে ফেডারেটেড অ্যানালিটিক্সের উপর নির্ভর করতে হবে।

যদি এই পদ্ধতিটি একটি RuntimeException থ্রো করে, তাহলে সেটিকে ত্রুটি কোড OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED সহ একটি OnDevicePersonalizationException হিসাবে অ্যাপ কল করার জন্যও রিপোর্ট করা হয়।

অনরেন্ডার

public void onRender (RenderInput input, 
                Consumer<RenderOutput> consumer)

onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) এর ফলে ফিরে আসা ফলাফলের জন্য HTML তৈরি করে। যখন কোনো ক্লায়েন্ট অ্যাপ OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver) কল করে তখন কল করা হয়। প্ল্যাটফর্মটি এই এইচটিএমএলটিকে একটি বেড়াযুক্ত ফ্রেমের ভিতরে একটি WebView রেন্ডার করবে।

পরামিতি
input RenderInput : রেন্ডার অনুরোধের জন্য পরামিতি। এই মানটি null হতে পারে না।

consumer Consumer : কলব্যাক যা ফলাফল গ্রহণ করে। একটি ত্রুটি null সঙ্গে কল করা উচিত. ত্রুটি কোড OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED সহ কলিং অ্যাপে একটি OnDevicePersonalizationException হিসাবে প্রচার করা হয়েছে।

যদি এই পদ্ধতিটি একটি RuntimeException থ্রো করে, তাহলে সেটিকে ত্রুটি কোড OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED সহ একটি OnDevicePersonalizationException হিসাবে অ্যাপ কল করার জন্যও রিপোর্ট করা হয়।

প্রশিক্ষণের উদাহরণ

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

ফেডারেটেড কম্পিউটেশন কাজের জন্য ব্যবহৃত একটি একক প্রশিক্ষণ উদাহরণ তৈরি করুন।

পরামিতি
input TrainingExampleInput : প্রশিক্ষণের উদাহরণ তৈরি করার জন্য প্রয়োজনীয় পরামিতি। এই মানটি null হতে পারে না।

consumer Consumer : সম্পূর্ণ হলে কলব্যাক করতে হবে। এই মানটি null হতে পারে না।