IsolatedWorker

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)

प्लैटफ़ॉर्म के दिए गए ट्रैकिंग यूआरएल EventUrlProvider को किए गए अनुरोध से ट्रिगर हुए उस इवेंट को मैनेज करता है जिसे 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)

onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) के नतीजों के लिए एचटीएमएल जनरेट करता है.

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

फ़ेडरेटेड कंप्यूटेशन जॉब के लिए इस्तेमाल किया जाने वाला, ट्रेनिंग का एक उदाहरण जनरेट करें.

सार्वजनिक तरीके

onDownloadCompleted

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 टेबल में कोई अपडेट नहीं किया जाता.

onEvent

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

यह इवेंट, प्लैटफ़ॉर्म से मिले ट्रैकिंग यूआरएल EventUrlProvider के अनुरोध से ट्रिगर होता है. यह यूआरएल, onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) से मिले एचटीएमएल आउटपुट में एम्बेड किया गया था. यह प्लैटफ़ॉर्म, इवेंट टेबल को EventOutput#getEventLogRecord() से अपडेट करता है.

पैरामीटर
input EventInput: इवेंट डेटा का हिसाब लगाने के लिए ज़रूरी पैरामीटर. यह वैल्यू null नहीं हो सकती.

consumer Consumer: वह कॉलबैक जिसे नतीजा मिलता है. गड़बड़ी होने पर, इसे null के साथ कॉल किया जाना चाहिए. अगर null के साथ कॉल किया जाता है, तो EVENTS टेबल में कोई डेटा नहीं लिखा जाता.

अगर इस तरीके से RuntimeException मिलता है, तो इवेंट टेबल में कोई भी डेटा नहीं लिखा जाता है.

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 में गड़बड़ी का डेटा भरना चाहिए. साथ ही, गड़बड़ी की रिपोर्ट इकट्ठा करने के लिए, फ़ेडरेटेड Analytics पर भरोसा करना चाहिए.

अगर इस तरीके से RuntimeException मिलता है, तो यह ऐप्लिकेशन को गड़बड़ी कोड OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED के साथ OnDevicePersonalizationException के तौर पर कॉल करने के लिए भी रिपोर्ट किया जाता है.

onRender

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

onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) के नतीजों के लिए एचटीएमएल जनरेट करता है. जब कोई क्लाइंट ऐप्लिकेशन 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 के तौर पर इसकी शिकायत की जाती है.

onTrainingExample

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

फ़ेडरेटेड कंप्यूटेशन जॉब के लिए इस्तेमाल किया जाने वाला, ट्रेनिंग का एक उदाहरण जनरेट करें.

पैरामीटर
input TrainingExampleInput: ट्रेनिंग का उदाहरण जनरेट करने के लिए ज़रूरी पैरामीटर. यह वैल्यू null नहीं हो सकती.

consumer Consumer: पूरा होने पर फिर से शुरू किया जाने वाला कॉलबैक. यह वैल्यू null नहीं हो सकती.