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)

अपडेट सिग्नल एपीआई, यूआरआई से एक 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)

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

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

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

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

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

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

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

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

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

कुंजी को हर 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 नहीं हो सकती.