AdSelectionManager
public
class
AdSelectionManager
extends Object
java.lang.Object | |
↳ | android.adservices.adselection.AdSelectionManager |
AdSelection Manager, ऐप्लिकेशन और विज्ञापन SDK टूल के लिए एपीआई उपलब्ध कराता है, ताकि विज्ञापन चुनने की प्रोसेस चलाई जा सके रिपोर्ट इंप्रेशन.
खास जानकारी
सार्वजनिक तरीके | |
---|---|
static
AdSelectionManager
|
get(Context context)
AdSelectionManager का इंस्टेंस बनाने का फ़ैक्ट्री तरीका. |
void
|
getAdSelectionData(GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
डिवाइस से, पसंद के मुताबिक ऑडियंस का डेटा इकट्ठा करता है. |
TestAdSelectionManager
|
getTestAdSelectionManager()
|
void
|
persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
सर्वर साइड से विज्ञापन चुनने के नतीजों को बनाए रखता है. |
void
|
reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
उस सेवा को सूचना देता है कि चुने गए विज्ञापन के लिए, रिपोर्ट करने के लिए कोई नया विज्ञापन इवेंट है
विज्ञापन चुनने की प्रोसेस की पहचान |
void
|
reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
उस सेवा को सूचना देता है कि चुने गए विज्ञापन के लिए, रिपोर्ट करने के लिए एक नया इंप्रेशन है
विज्ञापन चुनने की प्रोसेस की पहचान |
void
|
selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
पहले चलाए गए विज्ञापन के परिणामों में से कोई विज्ञापन चुनता है. |
void
|
selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
कॉलर के लिए रीमार्केटिंग विज्ञापन चुनने के लिए, डिवाइस पर विज्ञापन चुनने की प्रक्रिया शुरू करता है का इस्तेमाल करें. |
void
|
updateAdCounterHistogram(UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
|
इनहेरिट किए गए तरीके | |
---|---|
सार्वजनिक तरीके
पाएं
public static AdSelectionManager get (Context context)
AdSelectionManager का इंस्टेंस बनाने का फ़ैक्ट्री तरीका.
पैरामीटर | |
---|---|
context |
Context : इस्तेमाल करने के लिए Context
यह मान null नहीं हो सकता. |
रिटर्न | |
---|---|
AdSelectionManager |
AdSelectionManager इंस्टेंस
यह मान null नहीं हो सकता. |
getAdSelectionData
public void getAdSelectionData (GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
डिवाइस से, पसंद के मुताबिक ऑडियंस का डेटा इकट्ठा करता है. भेजने के लिए, कंप्रेस किया गया और एन्क्रिप्ट (सुरक्षित) किया गया BLOB लौटाता है नीलामी सर्वर का इस्तेमाल करता है. ज़्यादा जानकारी के लिए, कृपया बिडिंग पर जाएं और नीलामी सेवाओं के बारे में जानकारी.
कस्टम ऑडियंस विज्ञापनों को इकट्ठा करने के लिए, उनके पास ad_render_id
होना ज़रूरी है.
इनके नतीजों को प्रोसेस करने का तरीका जानने के लिए, AdSelectionManager#persistAdSelectionResult
पर जाएं
विज्ञापन को चुनने का काम, सर्वर-साइड पर किया जाता है. इसके लिए, इस एपीआई से जनरेट किए गए BLOB का इस्तेमाल किया जाता है.
आउटपुट, रिसीवर से पास किया जाता है, जो सही तरीके से चलने के लिए, GetAdSelectionDataOutcome
दिखाता है या Exception
में यह शामिल होता है:
अपवाद के तौर पर डाला गया और उससे जुड़ा गड़बड़ी का मैसेज.
अगर IllegalArgumentException
को फेंका जाता है, तो यह अमान्य इनपुट आर्ग्युमेंट की वजह से होता है
विज्ञापन चुनने के लिए मिले एपीआई की जानकारी.
अगर IllegalStateException
में गड़बड़ी का मैसेज "Failure of AdSelection" दिखता है
सेवाएं.",
अगर TimeoutException
थ्रो किया गया है, तो यह टाइम आउट के मिलने पर होता है
बिडिंग, स्कोर या चुनने की पूरी प्रोसेस के दौरान, सबसे बढ़िया विज्ञापन खोजने के लिए किया जा सकता है.
अगर LimitExceededException
को फेंक दिया जाता है, तो यह कॉलिंग पैकेज को करते समय ऐसा होता है
तय सीमा से ज़्यादा हो जाता है और इसे थ्रॉटल कर दिया जाता है.
अगर SecurityException
को ट्रिगर किया जाता है, तो यह तब दिखता है, जब कॉलर को अनुमति नहीं दी जाती है
या अनुमति का अनुरोध नहीं किया गया है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
request |
GetAdSelectionDataRequest : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती.
कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैं
Executor की मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
तो आप उपयोग कर सकते हैं
Context.getMainExecutor() .
अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वाला Executor दें. |
receiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |
getTestAdSelectionManager
public TestAdSelectionManager getTestAdSelectionManager ()
रिटर्न | |
---|---|
TestAdSelectionManager |
यह मान null नहीं हो सकता. |
परसिस्ट विज्ञापन चुनने का नतीजा
public void persistAdSelectionResult (PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
सर्वर साइड से विज्ञापन चुनने के नतीजों को बनाए रखता है. ज़्यादा जानकारी के लिए, कृपया बिडिंग पर जाएं और नीलामी सेवाओं के बारे में जानकारी
एन्क्रिप्ट (सुरक्षित) किया गया BLOB जनरेट करने का तरीका जानने के लिए, AdSelectionManager#getAdSelectionData
पर जाएं
सर्वर साइड पर विज्ञापन को चुनें.
आउटपुट पाने वाला व्यक्ति उसे पास करता है, जो नतीजे के तौर पर AdSelectionOutcome
दिखाता है
एक सफल रन के लिए होता है या Exception
में अपवाद दिया गया होता है और
गड़बड़ी का मैसेज भी दिखेगा.
अगर IllegalArgumentException
को फेंका जाता है, तो यह अमान्य इनपुट आर्ग्युमेंट की वजह से होता है
विज्ञापन चुनने के लिए मिले एपीआई की जानकारी.
अगर IllegalStateException
में गड़बड़ी का मैसेज "Failure of AdSelection" दिखता है
सेवाएं.",
अगर TimeoutException
थ्रो किया गया है, तो यह टाइम आउट के मिलने पर होता है
बिडिंग, स्कोर या चुनने की पूरी प्रोसेस के दौरान, सबसे बेहतरीन विज्ञापन खोजने के लिए किया जा सकता है.
अगर LimitExceededException
को फेंक दिया जाता है, तो यह कॉलिंग पैकेज को करते समय ऐसा होता है
तय सीमा से ज़्यादा हो जाता है और इसे थ्रॉटल कर दिया जाता है.
अगर SecurityException
को ट्रिगर किया जाता है, तो यह तब दिखता है, जब कॉलर को अनुमति नहीं दी जाती है
या अनुमति का अनुरोध नहीं किया गया है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
request |
PersistAdSelectionResultRequest : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती.
कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैं
Executor की मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
तो आप उपयोग कर सकते हैं
Context.getMainExecutor() .
अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वाला Executor दें. |
receiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |
रिपोर्टइवेंट
public void reportEvent (ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
उस सेवा को सूचना देता है कि चुने गए विज्ञापन के लिए, रिपोर्ट करने के लिए कोई नया विज्ञापन इवेंट है
विज्ञापन चुनने की प्रोसेस की पहचान adSelectionId
ने की. विज्ञापन इवेंट तब होता है, जब
दिए गए adSelectionId
से जुड़े विज्ञापन के साथ होता है. इस बात की कोई गारंटी नहीं है कि
विज्ञापन इवेंट की रिपोर्ट कब की जाएगी. इवेंट की रिपोर्टिंग में देरी हो सकती है. साथ ही, रिपोर्ट में देरी हो सकती है
बैच किए गए.
ReportEventRequest#getKey()
का इस्तेमाल करके, सेवा reportingUri
को फ़ेच करेगी
जिसे registerAdBeacon
में रजिस्टर किया गया था. registerAdBeacon
की ज़्यादा जानकारी के लिए, reportImpression(ReportImpressionRequest, Executor, OutcomeReceiver)
का दस्तावेज़ देखें. इसके बाद, सेवा में
ReportEventRequest#getData()
को पोस्ट अनुरोध के मुख्य हिस्से में अटैच कर देगा और
अनुरोध भेजें. पीओएसटी अनुरोध के मुख्य हिस्से में text/plain
का content-type
होगा और डेटा, charset=UTF-8
में भेजा जाएगा.
आउटपुट पाने वाला व्यक्ति इसे पास करता है, जो इसके लिए या तो खाली Object
देता है
चालू होता है या Exception
में अपवाद के तौर पर 'थ्रेशोल्ड' और
गड़बड़ी का मैसेज भी दिखेगा.
अगर IllegalArgumentException
को फेंका जाता है, तो यह अमान्य इनपुट आर्ग्युमेंट की वजह से होता है
विज्ञापन इवेंट की शिकायत करने के लिए मिला एपीआई.
अगर IllegalStateException
में गड़बड़ी का मैसेज "Failure of AdSelection" दिखता है
सेवाएं.",
अगर LimitExceededException
को फेंक दिया जाता है, तो यह कॉलिंग पैकेज को करते समय ऐसा होता है
तय सीमा से ज़्यादा हो जाता है और इसे थ्रॉटल कर दिया जाता है.
अगर SecurityException
को ट्रिगर किया जाता है, तो यह तब दिखता है, जब कॉलर को अनुमति नहीं दी जाती है
या अनुमति का अनुरोध नहीं किया गया है.
इवेंट को ज़्यादा से ज़्यादा एक बार, सबसे सही कोशिश के तौर पर रिपोर्ट किया जाएगा.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
request |
ReportEventRequest : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती. |
receiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |
रिपोर्टइंप्रेशन
public void reportImpression (ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
उस सेवा को सूचना देता है कि चुने गए विज्ञापन के लिए, रिपोर्ट करने के लिए एक नया इंप्रेशन है
विज्ञापन चुनने की प्रोसेस की पहचान adSelectionId
ने की. इस बात की कोई गारंटी नहीं है कि
इंप्रेशन रिपोर्ट किए जाएंगे. इंप्रेशन की रिपोर्टिंग में देरी हो सकती है और इसकी वजह से
बैच किए गए.
विजेता विक्रेता रिपोर्टिंग यूआरएल का हिसाब लगाने के लिए, सेवा विक्रेता की JavaScript फ़ेच करती है
ReportImpressionRequest.getAdSelectionConfig()
पर मिले AdSelectionConfig#getDecisionLogicUri()
से लॉजिक. इसके बाद, यह सेवा
विक्रेता JS में reportResult
फ़ंक्शन मिले हैं. ये फ़ंक्शन, डिवाइस पर इस तरह से सिग्नल देते हैं:
ReportImpressionRequest#getAdSelectionConfig()
इनपुट पैरामीटर भी शामिल हैं.
reportResult
की फ़ंक्शन परिभाषा यह है:
function reportResult(ad_selection_config, render_url, bid, contextual_signals) {
return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer,
'reporting_url': reporting_url } }; }
विजेता खरीदार के रिपोर्टिंग यूआरएल का हिसाब लगाने के लिए, सेवा, जीतने वाले खरीदार के यूआरएल को फ़ेच करती है
JavaScript लॉजिक, जिसे खरीदार के CustomAudience.getBiddingLogicUri()
से फ़ेच किया जाता है. इसके बाद, सेवा में
खरीदार JS में मिले reportWin
फ़ंक्शन में से एक को एक्ज़ीक्यूट करता है,
डिवाइस पर मौजूद सिग्नल, reportResult
के हिसाब से कैलकुलेट किए गए signals_for_buyer
, और किसी खास
इनपुट पैरामीटर के तौर पर ReportImpressionRequest#getAdSelectionConfig()
के फ़ील्ड.
reportWin
की फ़ंक्शन परिभाषा यह है:
function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer,
contextual_signals, custom_audience_reporting_signals) { return {'status': 0, 'results':
{'reporting_url': reporting_url } }; }
इसके अलावा, खरीदारों और विक्रेताओं के पास खास प्रॉडक्ट की रिपोर्ट पाने के लिए रजिस्टर करने का विकल्प होता है
विज्ञापन इवेंट. ऐसा करने के लिए, वे प्लैटफ़ॉर्म पर दिए गए registerAdBeacon
फ़ंक्शन को शुरू कर सकते हैं
खरीदारों और विक्रेताओं के लिए क्रमश: reportWin
और reportResult
में.
registerBeacon
की फ़ंक्शन परिभाषा यह है:
function registerAdBeacon(beacons)
, जहां beacons
स्ट्रिंग पेयर
विज्ञापन के हर ऐसे इवेंट के लिए जिसकी रिपोर्ट में खरीदार या सेलर की दिलचस्पी होती है, वह beacons
डिक्शनरी में event_key
: event_reporting_uri
जोड़ा जोड़ देता है. यहां event_key
, उस इवेंट का आइडेंटिफ़ायर होता है. यह event_key
मेल खाना चाहिए
SDK टूल के reportEvent(ReportEventRequest, Executor, OutcomeReceiver)
शुरू करने पर ReportEventRequest#getKey()
. इसके अलावा,
हर event_reporting_uri
को Uri
में सही तरीके से पार्स होना चाहिए. यह
SDK टूल के reportEvent(ReportEventRequest, Executor, OutcomeReceiver)
शुरू करने पर, Uri
को रिपोर्ट किया जाएगा.
जब खरीदार/विक्रेता ने उन सभी पेयरिंग को जोड़ लिया है जिनके लिए वे इवेंट पाना चाहते हैं, तो वे ये काम कर सकते हैं:
registerAdBeacon(beacons)
शुरू करें, जहां beacons
उनका उच्चारण है
ने जोड़ी इसमें जोड़ी.
registerAdBeacon
इन स्थितियों में TypeError
देगा:
registerAdBeacon
को एक से ज़्यादा बार कॉल किया गया है. अगर यह गड़बड़ी पाई जाती है reportWin/reportreport, जोड़े का मूल सेट रजिस्टर किया जाएगाregisterAdBeacon
में सिर्फ़ एक लिखवाने वाला तर्क नहीं होता.- 1 लिखवाने वाले आर्ग्युमेंट के कॉन्टेंट में, सभी
String: String
पेयर नहीं होते हैं.
आउटपुट, receiver
से पास किया जाता है, जो या तो खाली Object
दिखाता है
एक सफल रन के लिए होता है या Exception
में अपवाद के तौर पर दिया गया टाइप शामिल होता है और
गड़बड़ी का मैसेज भी दिखेगा.
अगर IllegalArgumentException
को फेंका जाता है, तो यह अमान्य इनपुट आर्ग्युमेंट की वजह से होता है
इंप्रेशन की रिपोर्ट करने के लिए मिले एपीआई को.
अगर IllegalStateException
में गड़बड़ी का मैसेज "Failure of AdSelection" दिखता है
सेवाएं.",
अगर LimitExceededException
को फेंक दिया जाता है, तो यह कॉलिंग पैकेज को करते समय ऐसा होता है
तय सीमा से ज़्यादा हो जाता है और इसे थ्रॉटल कर दिया जाता है.
अगर SecurityException
को ट्रिगर किया जाता है, तो यह तब दिखता है, जब कॉलर को अनुमति नहीं दी जाती है
या अनुमति का अनुरोध नहीं किया गया है.
इंप्रेशन, सबसे अच्छी कोशिश के तौर पर ज़्यादा से ज़्यादा एक बार रिपोर्ट किए जाएंगे.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
request |
ReportImpressionRequest : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती. |
receiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |
विज्ञापन चुनें
public void selectAds (AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
पहले चलाए गए विज्ञापन के परिणामों में से कोई विज्ञापन चुनता है.
adSelectionFromOutcomesConfig
इनपुट, Ads SDK टूल से मिलता है और AdSelectionFromOutcomesConfig
ऑब्जेक्ट को बाइंडर कॉल के ज़रिए ट्रांसफ़र किया जाता है. इस वजह से,
इन ऑब्जेक्ट के कुल साइज़ पर Android IPC की सीमाएं लागू होती हैं. को
AdSelectionFromOutcomesConfig
, एक TransactionTooLargeException
फेंकेगा.
आउटपुट पाने वाला व्यक्ति उसे पास करता है, जो नतीजे के तौर पर AdSelectionOutcome
दिखाता है
एक सफल रन के लिए होता है या Exception
में अपवाद दिया गया होता है और
गड़बड़ी का मैसेज भी दिखेगा.
adSelectionFromOutcomesConfig
इनपुट में शामिल है:
Seller
,AdTechIdentifier
के तौर पर रजिस्टर होना ज़रूरी है. या फिर,IllegalStateException
फेंक दिया जाएगा.List of ad selection ids
मौजूद होना चाहिए और उसी ऐप्लिकेशन से आने वालेselectAds(AdSelectionConfig, Executor, OutcomeReceiver)
कॉल से आना चाहिए. या फिर, इनपुट की पुष्टि के लिएIllegalArgumentException
, उल्लंघन करने वाले विज्ञापन की लिस्टिंग को बढ़ावा देगा चयन आईडी.Selection logic URI
, जो एचटीटीपीएस या विज्ञापन चुनने के लिए पहले से बने यूआरएल को फ़ॉलो कर सकता है स्कीमा शामिल करने हैं.अगर यूआरआई, एचटीटीपीएस स्कीमा का पालन करता है, तो होस्ट को
seller
से मैच करना चाहिए. ऐसा न करने पर,IllegalArgumentException
को फेंक दिया जाएगा.पहले से बने यूआरआई ऐसा तरीका है जिससे
selectOutcome
के लिए JavaScript. इस एंडपॉइंट के लिए पहले से बनाया गया Uri बाद में होना चाहिए;ad-selection-prebuilt://ad-selection-from-outcomes/<name>?<script-generation-parameters>
अगर पहले से बनाए गए किसी काम न करने वाले यूआरआई को पास कर दिया जाता है या पहले से बने यूआरआई की सुविधा को तो
IllegalArgumentException
को फेंक दिया जाएगा.इसके साथ काम करने वाली कंपनियों के बारे में जानने के लिए
AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUri
पर जाएं<name>
और<script-generation-parameters>
डालना ज़रूरी है.
अगर IllegalArgumentException
को फेंका जाता है, तो यह अमान्य इनपुट आर्ग्युमेंट की वजह से होता है
विज्ञापन चुनने के लिए मिले एपीआई की जानकारी.
अगर IllegalStateException
में गड़बड़ी का मैसेज "Failure of AdSelection" दिखता है
सेवाएं.",
अगर TimeoutException
थ्रो किया गया है, तो यह टाइम आउट के मिलने पर होता है
बिडिंग, स्कोर या चुनने की पूरी प्रोसेस के दौरान, सबसे बढ़िया विज्ञापन खोजने के लिए किया जा सकता है.
अगर LimitExceededException
को फेंक दिया जाता है, तो यह कॉलिंग पैकेज को करते समय ऐसा होता है
तय सीमा से ज़्यादा हो जाता है और इसे थ्रॉटल कर दिया जाता है.
अगर SecurityException
को ट्रिगर किया जाता है, तो यह तब दिखता है, जब कॉलर को अनुमति नहीं दी जाती है
या अनुमति का अनुरोध नहीं किया गया है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
adSelectionFromOutcomesConfig |
AdSelectionFromOutcomesConfig : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती.
कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैं
Executor की मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
तो आप उपयोग कर सकते हैं
Context.getMainExecutor() .
अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वाला Executor दें. |
receiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |
विज्ञापन चुनें
public void selectAds (AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
कॉलर के लिए रीमार्केटिंग विज्ञापन चुनने के लिए, डिवाइस पर विज्ञापन चुनने की प्रोसेस शुरू करता है का इस्तेमाल करें.
adSelectionConfig
इनपुट, Ads SDK टूल से मिलता है और AdSelectionConfig
ऑब्जेक्ट को बाइंडर कॉल के ज़रिए ट्रांसफ़र किया जाता है. इस वजह से, कुल साइज़
में से ये ऑब्जेक्ट, Android IPC की सीमाओं के दायरे में आते हैं. AdSelectionConfig
को ट्रांसफ़र न कर पाने पर, TransactionTooLargeException
दिखेगा.
adSelectionConfig
इनपुट में Decision Logic Uri
शामिल है, जो इसे फ़ॉलो कर सकता है
या तो एचटीटीपीएस या विज्ञापन चुनने के लिए पहले से बने स्कीमा.
अगर यूआरआई, एचटीटीपीएस स्कीमा का पालन करता है, तो होस्ट को seller
से मैच करना चाहिए. या फिर,
IllegalArgumentException
को फेंक दिया जाएगा.
पहले से बने यूआरआई ऐसा तरीका है जिससे
scoreAds
के लिए JavaScript. इस एंडपॉइंट के लिए पहले से बनाया गया Uri बाद में होना चाहिए;
ad-selection-prebuilt://ad-selection/<name>?<script-generation-parameters>
अगर पहले से बनाए गए किसी काम न करने वाले यूआरआई को पास कर दिया जाता है या पहले से बने यूआरआई की सुविधा को
तो IllegalArgumentException
को फेंक दिया जाएगा.
इसके साथ काम करने वाली <name>
और इसके बारे में जानने के लिए, AdSelectionConfig.Builder#setDecisionLogicUri
पर जाएं
<script-generation-parameters>
आवश्यक है.
आउटपुट पाने वाला व्यक्ति उसे पास करता है, जो नतीजे के तौर पर AdSelectionOutcome
दिखाता है
एक सफल रन के लिए होता है या Exception
में अपवाद दिया गया होता है और
गड़बड़ी का मैसेज भी दिखेगा.
अगर IllegalArgumentException
को फेंका जाता है, तो यह अमान्य इनपुट आर्ग्युमेंट की वजह से होता है
विज्ञापन चुनने के लिए मिले एपीआई की जानकारी.
अगर IllegalStateException
में गड़बड़ी का मैसेज "Failure of AdSelection" दिखता है
सेवाएं.",
अगर TimeoutException
थ्रो किया गया है, तो यह टाइम आउट के मिलने पर होता है
बिडिंग, स्कोर या चुनने की पूरी प्रोसेस के दौरान, सबसे बढ़िया विज्ञापन खोजने के लिए किया जा सकता है.
अगर LimitExceededException
को फेंक दिया जाता है, तो यह कॉलिंग पैकेज को करते समय ऐसा होता है
तय सीमा से ज़्यादा हो जाता है और इसे थ्रॉटल कर दिया जाता है.
अगर SecurityException
को ट्रिगर किया जाता है, तो यह तब दिखता है, जब कॉलर को अनुमति नहीं दी जाती है
या अनुमति का अनुरोध नहीं किया गया है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
adSelectionConfig |
AdSelectionConfig : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती.
कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैं
Executor की मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
तो आप उपयोग कर सकते हैं
Context.getMainExecutor() .
अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वाला Executor दें. |
receiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |
updatedAdCounterHistogram
public void updateAdCounterHistogram (UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver)
को कॉल करके पहले चुने गए विज्ञापन के काउंटर हिस्टोग्राम को अपडेट करता है.
काउंटर हिस्टोग्राम का इस्तेमाल विज्ञापन चुनने में होता है, ताकि फ़्रीक्वेंसी कैप फ़िल्टर करने की सुविधा चालू की जा सके उम्मीदवार के विज्ञापन, जहां फ़्रीक्वेंसी कैप की शर्तें पूरी होती हैं या पार हो जाती हैं उन्हें विज्ञापन चुनने के दौरान बिडिंग की प्रोसेस को पूरा करना.
काउंटर हिस्टोग्राम सिर्फ़ उन विज्ञापनों के लिए अपडेट किए जा सकते हैं जो उसी कॉलर ऐप्लिकेशन से FLEDGE विज्ञापन को चुनने पर हाल ही में दिए गए adSelectionId
के ज़रिए दिखाए गए हैं.
outcomeReceiver
के ज़रिए SecurityException
लौटाया जाता है, अगर:
- ऐप्लिकेशन ने अपने मेनिफ़ेस्ट में सही अनुमतियों का एलान नहीं किया है या
callerAdTechIdentifier
ने जिस ऐप्लिकेशन या इकाई की पहचान की है उसे अनुमति नहीं है एपीआई का इस्तेमाल करने के लिए.
outcomeReceiver
के ज़रिए IllegalStateException
को लौटा दिया जाता है
ये नतीजे, फ़ोरग्राउंड गतिविधि वाले ऐप्लिकेशन से नहीं लिए जाते.
कॉल करने पर, outcomeReceiver
के ज़रिए एक LimitExceededException
लौटाया जाता है
कॉलिंग ऐप्लिकेशन के एपीआई थ्रॉटल से ज़्यादा हो जाता है.
गड़बड़ी के अन्य सभी मामलों में, outcomeReceiver
, खाली Object
दिखाएगा. ध्यान दें कि उपयोगकर्ता की गोपनीयता की सुरक्षा के लिए, आंतरिक त्रुटियों को
अपवाद.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
की ज़रूरत है
पैरामीटर | |
---|---|
updateAdCounterHistogramRequest |
UpdateAdCounterHistogramRequest : यह वैल्यू null नहीं हो सकती. |
executor |
Executor : यह वैल्यू null नहीं हो सकती.
कॉलबैक और लिसनर इवेंट इस तरीके से भेजे जाते हैं
Executor की मदद से, यह आसानी से कंट्रोल किया जा सकता है कि कौनसा थ्रेड
इस्तेमाल किया गया. अपने मुख्य थ्रेड के ज़रिए इवेंट भेजने के लिए
तो आप उपयोग कर सकते हैं
Context.getMainExecutor() .
अगर ऐसा नहीं है, तो सही थ्रेड पर भेजने वाला Executor दें. |
outcomeReceiver |
OutcomeReceiver : यह वैल्यू null नहीं हो सकती. |