ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

java.lang.Object
   ↳ android.adservices.signals.ProtectedSignalsManager


ProtectedSignalsManager, ऐप्लिकेशन और विज्ञापन-SDK टूल के लिए एपीआई उपलब्ध कराता है, ताकि वे अपने सुरक्षित सिग्नल मैनेज कर सकें.

खास जानकारी

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

static ProtectedSignalsManager get(Context context)

ProtectedSignalsManager का इंस्टेंस बनाने के लिए फ़ैक्ट्री मेथड.

void updateSignals(UpdateSignalsRequest updateSignalsRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

updateSignals API, यूआरआई से एक JSON फ़ाइल लेगा. इसमें यह जानकारी होती है कि किन सिग्नल को जोड़ना है या हटाना है.

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

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

पाएं

public static ProtectedSignalsManager get (Context context)

ProtectedSignalsManager का इंस्टेंस बनाने के लिए फ़ैक्ट्री मेथड.

पैरामीटर
context Context: इस वैल्यू का इस्तेमाल करने के लिए Context, null नहीं हो सकता.

रिटर्न
ProtectedSignalsManager ProtectedSignalsManager इंस्टेंस यह वैल्यू null नहीं हो सकती.

अपडेट सिग्नल

public void updateSignals (UpdateSignalsRequest updateSignalsRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

updateSignals API, यूआरआई से एक JSON फ़ाइल लेगा. इसमें यह जानकारी होती है कि किन सिग्नल को जोड़ना है या हटाना है. इस एपीआई की मदद से, एन्कोडर एंडपॉइंट को भी रजिस्टर किया जा सकता है. एंडपॉइंट का इस्तेमाल, एन्कोडिंग लॉजिक डाउनलोड करने के लिए किया जाता है. इससे सिग्नल को एन्कोड किया जा सकता है.

JSON के लिए टॉप लेवल कुंजियां, इन पांच में से किसी एक निर्देश से मेल खानी चाहिए:

"put" - एक नया सिग्नल जोड़ता है. साथ ही, उसी कुंजी वाले किसी भी मौजूदा सिग्नल को ओवरराइट करता है. इसकी वैल्यू, एक JSON ऑब्जेक्ट है. इसमें की, डाली जाने वाली की के हिसाब से बेस 64 स्ट्रिंग होती हैं और वैल्यू, डाली जाने वाली वैल्यू के हिसाब से बेस 64 स्ट्रिंग होती हैं.

"append" - सिग्नल की टाइम सीरीज़ में नया सिग्नल/सिग्नल जोड़ता है. अगर सीरीज़ का साइज़ तय सीमा से ज़्यादा हो जाता है, तो नए सिग्नल के लिए जगह बनाने के लिए सबसे पुराने सिग्नल हटा दिए जाते हैं. इसकी वैल्यू एक JSON ऑब्जेक्ट है, जिसमें की, जोड़ी जाने वाली की से जुड़ी बेस 64 स्ट्रिंग होती हैं. साथ ही, वैल्यू दो फ़ील्ड वाले ऑब्जेक्ट होती हैं: "values" और "maxSignals" . "values", सिग्नल वैल्यू से जुड़ी base 64 स्ट्रिंग की सूची होती है. इन वैल्यू को टाइम सीरीज़ में जोड़ा जाता है. "maxSignals", इस टाइमसीरीज़ में वैल्यू की ज़्यादा से ज़्यादा संख्या है. अगर कुंजी से जुड़े सिग्नल की मौजूदा संख्या, maxSignal से ज़्यादा हो जाती है, तो सबसे पुराने सिग्नल हटा दिए जाएंगे. ध्यान दें कि put फ़ंक्शन से जोड़ी गई किसी कुंजी में, वैल्यू जोड़ी जा सकती है. हालांकि, ज़्यादा से ज़्यादा वैल्यू जोड़ने पर, कोई गड़बड़ी नहीं होगी.

"put_if_not_present" - नया सिग्नल सिर्फ़ तब जोड़ता है, जब उसी कुंजी के साथ कोई मौजूदा सिग्नल न हो. इसकी वैल्यू, एक JSON ऑब्जेक्ट है. इसमें की, डाली जाने वाली की के हिसाब से बेस 64 स्ट्रिंग होती हैं और वैल्यू, डाली जाने वाली वैल्यू के हिसाब से बेस 64 स्ट्रिंग होती हैं.

"remove" - किसी कुंजी के लिए सिग्नल हटाता है. इसकी वैल्यू, सिग्नल की उन कुंजियों से जुड़ी बेस 64 स्ट्रिंग की सूची होती है जिन्हें मिटाना है.

"update_encoder" - एंडपॉइंट को अपडेट करने के लिए कार्रवाई करता है. साथ ही, एक यूआरआई देता है, जिसका इस्तेमाल कोड में बदलने के तरीके को फिर से पाने के लिए किया जा सकता है. अपडेट की कार्रवाई देने के लिए "कार्रवाई" सब-की है और फ़िलहाल काम करने वाली वैल्यू ये हैं:

  1. "REGISTER" : अगर एन्कोडर एंडपॉइंट पहली बार दिया गया है, तो उसे रजिस्टर करता है या मौजूदा एंडपॉइंट को नए एंडपॉइंट से बदल देता है. "REGISTER" कार्रवाई के लिए, "एंडपॉइंट" की वैल्यू देना ज़रूरी है.

एन्कोडर एंडपॉइंट देने के लिए सब-की "एंडपॉइंट" है और वैल्यू, एंडपॉइंट के लिए यूआरआई स्ट्रिंग है.

हर JSON के लिए, सिर्फ़ एक निर्देश से ही कुंजी को चालू किया जा सकता है. अगर दो निर्देश एक ही बटन पर काम करने की कोशिश करते हैं, तो यह तरीका IllegalArgumentException

यह कॉल SecurityException से पूरा नहीं हो पाता, अगर

  1. ownerPackageName, ऐप्लिकेशन के पैकेज का नाम नहीं दिखा रहा है और/या
  2. खरीदार, API का इस्तेमाल करने के लिए अधिकृत नहीं है.

यह कॉल IllegalArgumentException के साथ तब फ़ेल होता है, जब

  1. सर्वर से मिला JSON अमान्य है.
  2. दिया गया यूआरआई अमान्य है.

अगर कॉलिंग पैकेज तय सीमा से ज़्यादा हो जाता है और उसे थ्रॉटल कर दिया जाता है, तो LimitExceededException का इस्तेमाल करके यह कॉल नहीं किया जा सकेगा.

अगर सेवा में कोई अंदरूनी गड़बड़ी होती है, तो यह कॉल IllegalStateException के साथ पूरा नहीं होता.
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE की ज़रूरत है

पैरामीटर
updateSignalsRequest UpdateSignalsRequest: यह वैल्यू null नहीं हो सकती.

executor Executor: यह वैल्यू null नहीं हो सकती. इस Executor की मदद से, कॉलबैक और लिसनर इवेंट भेजे जाते हैं. इससे, इस्तेमाल किए गए थ्रेड को आसानी से कंट्रोल करने में मदद मिलती है. अपने ऐप्लिकेशन के मुख्य थ्रेड से इवेंट भेजने के लिए, Context.getMainExecutor() का इस्तेमाल किया जा सकता है. अगर ऐसा नहीं है, तो सही थ्रेड पर डेटा भेजने वाला Executor दें.

receiver OutcomeReceiver: यह वैल्यू null नहीं हो सकती.