OnDevicePersonalizationManager

public class OnDevicePersonalizationManager
extends Object

java.lang.অবজেক্ট
android.adservices.ondevicepersonalization.OnDevicePersonalizationManager


OnDevicePersonalizationManager একটি বিচ্ছিন্ন প্রক্রিয়ায় একটি IsolatedService লোড করতে এবং এর সাথে ইন্টারঅ্যাক্ট করার জন্য অ্যাপগুলির জন্য API প্রদান করে। একটি অ্যাপ একটি IsolatedService অ্যাপের ভিউ হায়ারার্কির মধ্যে একটি SurfaceView এর মধ্যে প্রদর্শনের জন্য সামগ্রী তৈরি করার জন্য অনুরোধ করতে পারে এবং অন-ডিভাইস সঞ্চয়স্থানে স্থায়ী ফলাফলও লিখতে পারে যা ক্রস-ডিভাইস পরিসংখ্যান বিশ্লেষণের জন্য ফেডারেটেড অ্যানালিটিক্স বা মডেল প্রশিক্ষণের জন্য ফেডারেটেড লার্নিং দ্বারা ব্যবহার করা যেতে পারে। . প্রদর্শিত বিষয়বস্তু এবং ক্রমাগত আউটপুট উভয়ই কলিং অ্যাপ দ্বারা সরাসরি অ্যাক্সেসযোগ্য নয়।

সারাংশ

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

void execute ( ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver < List < SurfacePackageToken >, Exception > receiver)

OnDevicePersonalization স্যান্ডবক্সে একটি IsolatedService এক্সিকিউট করে।

void requestSurfacePackage ( SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver < SurfaceControlViewHost.SurfacePackage , Exception > receiver)

একটি SurfaceControlViewHost.SurfacePackage কলিং অ্যাপের ভিতরে একটি SurfaceView এ ঢোকানোর জন্য অনুরোধ করে৷

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

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

চালান

public void execute (ComponentName handler, 
                PersistableBundle params, 
                Executor executor, 
                OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

OnDevicePersonalization স্যান্ডবক্সে একটি IsolatedService এক্সিকিউট করে। প্ল্যাটফর্মটি একটি বিচ্ছিন্ন প্রক্রিয়ায় নির্দিষ্ট IsolatedService এর সাথে আবদ্ধ হয় এবং কলার-প্রদত্ত প্যারামিটার সহ IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) কল করে। IsolatedService কার্যকর করা শেষ হলে, প্ল্যাটফর্ম টোকেন ফেরত দেয় যা কলারের কাছে পরিষেবা থেকে ফলাফল উল্লেখ করে। এই টোকেনগুলি পরবর্তীতে কলিং অ্যাপের মধ্যে একটি SurfaceView এ ফলাফল প্রদর্শন করতে ব্যবহার করা যেতে পারে।

পরামিতি
handler ComponentName : IsolatedService ComponentName । এই মানটি 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 ফেরত দেয়।

অনুরোধ সারফেস প্যাকেজ

public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, 
                IBinder surfaceViewHostToken, 
                int displayId, 
                int width, 
                int height, 
                Executor executor, 
                OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

একটি SurfaceControlViewHost.SurfacePackage কলিং অ্যাপের ভিতরে একটি SurfaceView এ ঢোকানোর জন্য অনুরোধ করে৷ সারফেস প্যাকেজটিতে OnDevicePersonalization স্যান্ডবক্সে চলমান #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) এর পূর্ববর্তী কলের ফলাফলের বিষয়বস্তুর সাথে একটি View থাকবে।

পরামিতি
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 হতে পারে না।