IsolatedService

public abstract class IsolatedService
extends Service

java.lang.Object
android.content.Context
     ↳ android.content.ContextWrapper
    android.app.Service
         ↳ android.adservices.ondevicepersonalization.IsolatedService


उन सेवाओं के लिए बेस क्लास जिसे ओडीपी के ज़रिए शुरू किया जाता है. इसके लिए, OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) को कॉल किया जाता है और जो अलग-अलग प्रोसेस के हिसाब से चलती हैं. यह सेवा, कॉलिंग ऐप्लिकेशन में SurfaceView में दिखाए जाने के लिए कॉन्टेंट जनरेट कर सकती है. साथ ही, डिवाइस पर मौजूद स्टोरेज में नतीजे सेव कर सकती है. इन नतीजों का इस्तेमाल, अलग-अलग डिवाइसों के आंकड़ों का विश्लेषण करने के लिए, फ़ेडरेटेड ऐनलिटिक्स या मॉडल को ट्रेनिंग देने के लिए, फ़ेडरेटेड लर्निंग कर सकता है. क्लाइंट ऐप्लिकेशन, IsolatedService के साथ इंटरैक्ट करने के लिए OnDevicePersonalizationManager का इस्तेमाल करते हैं.

खास जानकारी

इनहेरिट किए गए कॉन्सटेंट

सार्वजनिक कंस्ट्रक्टर

IsolatedService()

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

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

मौजूदा अनुरोध के लिए EventUrlProvider दिखाता है.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

मौजूदा अनुरोध के लिए FederatedComputeScheduler दिखाता है.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

LOCAL_DATA टेबल के लिए डेटा ऐक्सेस ऑब्जेक्ट दिखाता है.

final LogReader getLogReader(RequestToken requestToken)

REQUESTS और EVENTS टेबल के लिए एक DAO दिखाता है. इससे उन लाइनों का ऐक्सेस मिलता है जिन्हें IsolatedService पढ़ सकता है.

final KeyValueStore getRemoteData(RequestToken requestToken)

REMOTE_DATA टेबल के लिए डेटा ऐक्सेस ऑब्जेक्ट दिखाता है.

final UserData getUserData(RequestToken requestToken)

मौजूदा अनुरोध के लिए, प्लैटफ़ॉर्म से मिला UserData दिखाता है.

IBinder onBind(Intent intent)

IsolatedService से बाइंडिंग को मैनेज करता है.

void onCreate()

IsolatedService के लिए बाइंडर बनाता है.

abstract IsolatedWorker onRequest(RequestToken requestToken)

IsolatedWorker का वह इंस्टेंस दिखाएं जो क्लाइंट के अनुरोधों को मैनेज करता है.

इनहेरिट किए गए तरीके

सार्वजनिक कंस्ट्रक्टर

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

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

मौजूदा अनुरोध के लिए EventUrlProvider दिखाता है. EventUrlProvider ऐसे यूआरएल उपलब्ध कराता है जिन्हें एचटीएमएल में एम्बेड किया जा सकता है. जब एचटीएमएल को किसी WebView में रेंडर किया जाता है, तो प्लैटफ़ॉर्म इन यूआरएल के अनुरोधों को इंटरसेप्ट करता है और IsolatedWorker#onEvent(EventInput, Consumer) को चालू करता है.

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के लिए मौजूदा अनुरोध की पहचान करता है. यह वैल्यू null नहीं हो सकती.

रिटर्न
EventUrlProvider ऐसा EventUrlProvider जो इवेंट ट्रैकिंग यूआरएल दिखाता है. यह वैल्यू null नहीं हो सकती.

इन्हें भी देखें:

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

मौजूदा अनुरोध के लिए FederatedComputeScheduler दिखाता है. FederatedComputeScheduler का इस्तेमाल, फ़ेडरेटेड कंप्यूटेशन जॉब को शेड्यूल और रद्द करने के लिए किया जा सकता है. फ़ेडरेटेड कंप्यूटेशन में, फ़ेडरेटेड लर्निंग और फ़ेडरेटेड ऐनलिटिक्स जॉब शामिल हैं.

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के लिए मौजूदा अनुरोध की पहचान करता है. यह वैल्यू null नहीं हो सकती.

रिटर्न
FederatedComputeScheduler एक FederatedComputeScheduler, जो फ़ेडरेटेड कंप्यूटेशन जॉब के लिए शेड्यूलर दिखाता है. यह वैल्यू null नहीं हो सकती.

यह भी देखें:

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

LOCAL_DATA टेबल के लिए डेटा ऐक्सेस ऑब्जेक्ट दिखाता है. LOCAL_DATA टेबल, एक ऐसा स्टोर है जिसमें कुंजी और वैल्यू को हमेशा सेव किया जाता है. इस स्टोर का इस्तेमाल, सेवा किसी भी डेटा को सेव करने के लिए कर सकती है. इस टेबल का कॉन्टेंट, सिर्फ़ अलग प्रोसेस में चल रही सेवा को दिखता है. इसे डिवाइस से बाहर नहीं भेजा जा सकता.

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के लिए मौजूदा अनुरोध की पहचान करता है. यह वैल्यू null नहीं हो सकती.

रिटर्न
MutableKeyValueStore MutableKeyValueStore ऑब्जेक्ट, जो LOCAL_DATA टेबल का ऐक्सेस देता है. दिखाए गए MutableKeyValueStore में मौजूद तरीके, ब्लॉकिंग ऑपरेशन हैं और इन्हें मुख्य थ्रेड या बाइंडर थ्रेड से नहीं, बल्कि वर्क थ्रेड से कॉल किया जाना चाहिए. यह वैल्यू null नहीं हो सकती.

यह भी देखें:

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

REQUESTS और EVENTS टेबल के लिए एक DAO दिखाता है. इससे उन लाइनों का ऐक्सेस मिलता है जिन्हें IsolatedService पढ़ सकता है.

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के लिए मौजूदा अनुरोध की पहचान करता है. यह वैल्यू null नहीं हो सकती.

रिटर्न
LogReader एक LogReader ऑब्जेक्ट, जो अनुरोध और इवेंट टेबल का ऐक्सेस देता है. लौटाए गए LogReader के तरीके, ऑपरेशन को ब्लॉक कर रहे हैं. इन्हें वर्कर थ्रेड से कॉल किया जाना चाहिए, न कि मुख्य थ्रेड या बाइंडर थ्रेड से. यह वैल्यू null नहीं हो सकती.

यह भी देखें:

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

REMOTE_DATA टेबल के लिए डेटा ऐक्सेस ऑब्जेक्ट दिखाता है. REMOTE_DATA टेबल, सिर्फ़ पढ़ने के लिए उपलब्ध एक कीवर्ड-वैल्यू स्टोर है. इसमें वह डेटा होता है जिसे सेवा के ODP मेनिफ़ेस्ट में टैग में बताए गए एंडपॉइंट से समय-समय पर डाउनलोड किया जाता है. इसका उदाहरण यहां दिया गया है.

<!-- Contents of res/xml/OdpSettings.xml -->
 <on-device-personalization>
 <!-- Name of the service subclass -->
 <service "com.example.odpsample.SampleService">
   <!-- If this tag is present, ODP will periodically poll this URL and
    download content to populate REMOTE_DATA. Adopters that do not need to
    download content from their servers can skip this tag. -->
   <download-settings url="https://example.com/get" />
 </service>
 </on-device-personalization>
 

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के लिए मौजूदा अनुरोध की पहचान करता है. यह वैल्यू null नहीं हो सकती.

रिटर्न
KeyValueStore KeyValueStore ऑब्जेक्ट, जो REMOTE_DATA टेबल का ऐक्सेस देता है. लौटाए गए KeyValueStore में दिए गए तरीके, ऑपरेशन को ब्लॉक कर रहे हैं. इन्हें वर्कर थ्रेड से कॉल किया जाना चाहिए, न कि मुख्य थ्रेड या बाइंडर थ्रेड से. यह वैल्यू null नहीं हो सकती.

यह भी देखें:

getUserData

public final UserData getUserData (RequestToken requestToken)

यह फ़ंक्शन, मौजूदा अनुरोध के लिए प्लैटफ़ॉर्म से मिला UserData दिखाता है.

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के लिए मौजूदा अनुरोध की पहचान करता है. यह वैल्यू null नहीं हो सकती.

रिटर्न
UserData UserData ऑब्जेक्ट. यह वैल्यू null हो सकती है.

इन्हें भी देखें:

onBind

public IBinder onBind (Intent intent)

IsolatedService से बाइंडिंग को मैनेज करता है.

पैरामीटर
intent Intent: Context.bindService को दी गई सेवा से बाइंड करने के लिए इस्तेमाल किया गया इंटेंट. ध्यान दें कि उस समय इंटेंट के साथ जोड़े गए अतिरिक्त एलिमेंट, यहां नहीं दिखेंगे. यह वैल्यू null नहीं हो सकती.

रिटर्न
IBinder यह वैल्यू null हो सकती है.

onCreate

public void onCreate ()

IsolatedService के लिए बाइंडर बनाता है.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

क्लाइंट के अनुरोधों को मैनेज करने वाले IsolatedWorker का एक इंस्टेंस दिखाता है.

पैरामीटर
requestToken RequestToken: एक ओपेक टोकन, जो सेवा के मौजूदा अनुरोध की पहचान करता है. इसे सेवा के उन तरीकों को पास करना होगा जो हर अनुरोध की स्थिति पर निर्भर करते हैं. यह मान null नहीं हो सकता.

रिटर्न
IsolatedWorker यह मान null नहीं हो सकता.