जवाब तैयार करें

जब आपका ऐप्लिकेशन, Google से मिले बिड अनुरोध को प्रोसेस कर लेता है, तब उसे एक जवाब बनाना और भेजना होता है. इस गाइड में, जवाब बनाने के लिए अपने ऐप्लिकेशन को कोड करने का तरीका बताया गया है.

बिड रिस्पॉन्स मैसेज बनाना

बिड सबमिट करने के लिए, आपके बिडिंग ऐप्लिकेशन को बिड अनुरोध का जवाब BidResponse के साथ देना होगा. इसमें आपके कॉन्फ़िगर किए गए फ़ॉर्मैट में Bid शामिल होना चाहिए. अगर JSON फ़ॉर्मैट का इस्तेमाल किया जा रहा है, तो आपके रिस्पॉन्स में Content-Type हेडर को application/json; charset=utf-8 पर सेट किया जाना चाहिए. साथ ही, बॉडी में JSON BidResponse को शामिल किया जाना चाहिए. अगर प्रोटोबफ़ फ़ॉर्मैट का इस्तेमाल किया जा रहा है, तो आपके ऐप्लिकेशन को Content-Type हेडर को application/octet-stream पर सेट करना होगा. साथ ही, बॉडी में सीरियलाइज़ किया गया BidResponse शामिल करना होगा.

प्रोटोबफ़ फ़ॉर्मैट के लिए BidResponse बनाने और उसे सीरियलाइज़ करने के लिए, आपको openrtb.proto और openrtb-adx.proto के आधार पर प्रोटोबफ़ लाइब्रेरी जनरेट करनी होंगी और उनका इस्तेमाल करना होगा. ये लाइब्रेरी, प्रोटोबफ़ में स्टैंडर्ड OpenRTB BidResponse फ़ील्ड और Google एक्सटेंशन लागू करती हैं. इन्हें प्रोटो और रेफ़रंस डेटा में देखा जा सकता है.

अगर आपको किसी इंप्रेशन पर बिड नहीं लगानी है, तो आपको खाली एचटीटीपी 204 रिस्पॉन्स दिखाना होगा. आपके ऐप्लिकेशन को हर BidRequest का जवाब देना होगा. टाइमआउट और ऐसे जवाब जिन्हें पार्स नहीं किया जा सकता उन्हें गड़बड़ियां माना जाता है. साथ ही, Google उन बिडरों को थ्रॉटल करता है जिनके लिए गड़बड़ी की दर ज़्यादा होती है.

क्रिएटिव आईडी

आपके BidResponse एट्रिब्यूट की वैल्यू में, BidResponse.seatbid.bid.crid फ़ील्ड के ज़रिए क्रिएटिव की जानकारी दी गई है. इसकी सीमा 128 बाइट है. अगर एक जैसे क्रिएटिव में कोई खास अंतर है, तो इस फ़ील्ड के लिए उनकी वैल्यू अलग-अलग होनी चाहिए. जैसे, साइज़, बताया गया यूआरएल, क्रिएटिव एट्रिब्यूट, और वेंडर टाइप. दूसरे शब्दों में, आपको ऐसे दो विज्ञापनों के लिए अलग-अलग क्रिएटिव आईडी देने होंगे जो:

  • अलग दिखते हैं या अलग तरह से काम करते हैं.
  • अलग-अलग इमेज पर रेंडर करें.
  • अलग-अलग तरीकों से रेंडर किया गया हो. उदाहरण के लिए, एक विज्ञापन में इमेज हो, जबकि दूसरे में वीडियो हो.

ऐप्लिकेशन डिज़ाइन करते समय, आपको आइडेंटिफ़ायर जनरेट करने का एक व्यवस्थित तरीका तय करना चाहिए. इससे, सबमिट किए जाने वाले क्रिएटिव के टाइप के हिसाब से आइडेंटिफ़ायर जनरेट किए जा सकेंगे.

विज्ञापन की अहम जानकारियां

Google का सुझाव है कि क्रिएटिव एट्रिब्यूट का इस्तेमाल करके, अपने विज्ञापन की विशेषताओं और टारगेटिंग के बारे में बताएं. इसके लिए, BidResponse.seatbid.bid.apis और BidResponse.seatbid.bid.attr का कॉम्बिनेशन या BidResponse.seatbid.bid.ext.attribute एक्सटेंशन इस्तेमाल करें. यहां बताया गया है कि एट्रिब्यूट कैसे जोड़े जा सकते हैं:

  • VPAID
    BidResponse.seatbid.bid.apis को VPAID_1 या VPAID_2 पर सेट करें. JSON फ़ॉर्मैट के लिए, इसे 1 या 2 पर सेट किया जा सकता है.
  • MRAID
    JSON फ़ॉर्मैट के लिए, BidResponse.seatbid.bid.apis को MRAID_1 या 3 पर सेट करें.
  • SIZELESS
    JSON फ़ॉर्मैट के लिए, BidResponse.seatbid.bid.attr को RESPONSIVE या 18 पर सेट करें.
  • PLAYABLE
    इसके लिए, BidResponse.seatbid.bid.attr को USER_INTERACTIVE पर सेट करें. JSON फ़ॉर्मैट के लिए, इसे 13 पर सेट करें.

अपने क्रिएटिव की पहचानी गई प्रॉपर्टी के बारे में सुझाव पाने का तरीका जानने के लिए, क्रिएटिव रिसॉर्स देखें.

ओपन बिडिंग फ़ील्ड

ओपन बिडिंग में हिस्सा लेने वाले एक्सचेंज और नेटवर्क बिडर से भेजी गई बिड रिस्पॉन्स, स्टैंडर्ड रीयल-टाइम बिडिंग में हिस्सा लेने वाले Authorized Buyers से भेजे गए बिड रिस्पॉन्स की तरह ही होते हैं. Open Bidding का इस्तेमाल करने वाले ग्राहक, कुछ अतिरिक्त फ़ील्ड तय कर सकते हैं. साथ ही, कुछ मौजूदा फ़ील्ड का इस्तेमाल अलग-अलग कामों के लिए किया जा सकता है. इनमें ये शामिल हैं:

फ़ील्ड विवरण
BidResponse.imp.pmp.deals.id

एक्सचेंज के नेमस्पेस से मिला वह डील आईडी जो इस बिड से जुड़ा है और जिसे पब्लिशर को रिपोर्ट किया गया है.

BidResponse.seatbid.bid.ext.exchange_deal_type

पब्लिशर को रिपोर्ट की गई डील का टाइप. इससे यह तय होता है कि नीलामी में डील को कैसे हैंडल किया जाएगा.

BidResponse.seatbid.bid.ext.third_party_buyer_token इस टोकन का इस्तेमाल, तीसरे पक्ष के खरीदार की जानकारी का पता लगाने के लिए किया जाता है. ऐसा तब होता है, जब ओपन बिडर के तौर पर एक्सचेंज, इंटरमीडियरी होता है. यह तीसरे पक्ष के खरीदार से मिलता है. इसे बिड के जवाब में, Google को बिना किसी बदलाव के भेजना ज़रूरी है.

सुझाव

  • अपने सर्वर पर, लगातार एचटीटीपीएस कनेक्शन चालू करें. इन्हें "कीप-अलाइव" या "कनेक्शन रीयूज़" भी कहा जाता है. टाइम आउट को कम से कम 10 सेकंड पर सेट करें. कई मामलों में, इससे ज़्यादा वैल्यू सेट करना फ़ायदेमंद होता है. Google, आपके ऐप्लिकेशन की शुरुआती लेटेन्सी जांच के दौरान इसकी पुष्टि करता है. ऐसा इसलिए, क्योंकि Authorized Buyers ज़्यादा दर पर अनुरोध भेजते हैं और उन्हें हर अनुरोध के लिए अलग टीसीपी कनेक्शन बनाने की लेटेन्सी से बचना होता है.
  • इंप्रेशन ट्रैकिंग यूआरएल को शामिल करें. इससे यह ट्रैक किया जा सकेगा कि बिडर के जीतने के बजाय, इंप्रेशन कब रेंडर होता है. हालांकि, यह यूआरएल शामिल करना ज़रूरी नहीं है. जीत और रेंडरिंग के बीच ड्रॉपऑफ़ की वजह से, इससे ट्रैकिंग के ज़्यादा सटीक आंकड़े मिलते हैं.

  • अपने बिडर कोड को बंद किए गए फ़ील्ड पर निर्भर न रखें. इससे आपकी बिड में गड़बड़ियां हो सकती हैं.
  • अपने BidResponse में BidResponse.seatbid.bid.w और BidResponse.seatbid.bid.h शामिल करें. A BidResponse to a request that includes multiple ad sizes must include these fields or it will be dropped from the auction.
  • अपने जवाब का साइज़ 8 केबी से कम रखें. बहुत बड़े जवाबों से, नेटवर्क में होने वाली देरी बढ़ सकती है और टाइमआउट हो सकता है.
  • iOS इन्वेंट्री पर बिड लगाने के लिए दिशा-निर्देश पढ़ें. इस इन्वेंट्री के लिए, SKAdNetwork एट्रिब्यूशन की ज़रूरत होती है.

बिड के जवाब का उदाहरण

यहां दिए गए उदाहरणों में, Protobuf और JSON अनुरोधों के ऐसे सैंपल दिखाए गए हैं जिन्हें कोई भी व्यक्ति आसानी से पढ़ सकता है.

OpenRTB Protobuf

OpenRTB JSON

अहम जानकारी: सैंपल में दिखाए गए Protobuf मैसेज को यहां ऐसे टेक्स्ट के तौर पर दिखाया गया है जिसे आसानी से पढ़ा जा सकता है. हालांकि, इस तरह से मैसेज नहीं भेजे जाते हैं. OpenRTB Protobuf फ़ॉर्मैट का इस्तेमाल करते समय, सिर्फ़ क्रम से लगाए गए BidResponse मैसेज स्वीकार किए जाएंगे.

नीचे दिए गए C++ कोड का इस्तेमाल करके, BidResponse मैसेज बनाया और उसे क्रम से लगाया जा सकता है:

BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
  // respond to the POST with post_response as the content
} else {
  // return an error to the POST
}

क्रिएटिव तय करना

बिड रिस्पॉन्स में, यह जानकारी दी जाती है कि बिड जीतने पर कौनसा क्रिएटिव दिखाया जाएगा. आपकी बिड में, विज्ञापन के लिए उपलब्ध फ़ॉर्मैट (एएमपी, वीडियो, नेटिव) में से कोई एक फ़ॉर्मैट शामिल होना चाहिए. इस उदाहरण में, हमने html_snippet फ़ील्ड का इस्तेमाल करके क्रिएटिव की जानकारी दी है.

इसके अलावा, विज्ञापन फ़ॉर्मैट के आधार पर, यहां दिए गए फ़ील्ड में से किसी एक का इस्तेमाल करके भी क्रिएटिव तय किया जा सकता है:

  • SDK टूल ने विज्ञापन रेंडर किया
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • एएमपी
    • BidResponse.seatbid.bid.amp_ad_url
  • वीडियो
    • BidResponse.seatbid.bid.adm
  • नेटिव
    • BidResponse.seatbid.bid.adm_native

BidResponse.seatbid.bid.adm फ़ील्ड में एचटीएमएल स्निपेट का इस्तेमाल करके, अपने सर्वर पर होस्ट किए गए विज्ञापन के बारे में बताएं. स्निपेट को वेब पेज में डाले गए iFrame में शामिल किया जाता है. इससे पेज लोड होने पर विज्ञापन को वापस पाने और रेंडर करने में मदद मिलती है. आपको एचटीएमएल स्निपेट इस तरह से बनाना होगा कि विज्ञापन (बैनर या इंटरस्टीशियल) किसी iFrame में सही तरीके से रेंडर हो. साथ ही, विज्ञापन स्लॉट के लिए सही साइज़ में रेंडर हो.

इसके अलावा, बिड रिस्पॉन्स में बताए गए विज्ञापन का साइज़, बिड अनुरोध में दिए गए साइज़ के कॉम्बिनेशन में से किसी एक से पूरी तरह मेल खाना चाहिए. ऐसा तब होना चाहिए, जब:

  • विज्ञापन, सामान्य बैनर विज्ञापन है. यह वीडियो, नेटिव या इंटरस्टीशियल विज्ञापन नहीं है.
  • बिडर ने बिड रिस्पॉन्स में साइज़ की जानकारी दी हो. जब अनुरोध में एक से ज़्यादा साइज़ मौजूद हों, तब साइज़ की जानकारी देना ज़रूरी है.
  • हालांकि, अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापनों के मामले में ऐसा नहीं होता. इंटरस्टीशियल विज्ञापनों के लिए, चौड़ाई स्क्रीन की चौड़ाई का कम से कम 50% और ऊंचाई स्क्रीन की ऊंचाई का कम से कम 40% होनी चाहिए.

किसी भी मान्य एचटीएमएल कोड का इस्तेमाल करके, एचटीएमएल स्निपेट क्रिएटिव तय किया जा सकता है. हालांकि, Create BidResponse message सेक्शन में crid फ़ील्ड तय करने से जुड़ी पाबंदियों को ध्यान में रखें. इसका इस्तेमाल, यूआरएल के उन आर्ग्युमेंट में अतिरिक्त जानकारी डालने के लिए किया जा सकता है जिन्हें विज्ञापन रेंडर करने के दौरान, आपके सर्वर से फ़ेच किया जाता है. इससे आपको इंप्रेशन के बारे में कोई भी डेटा वापस अपने सर्वर पर भेजने की सुविधा मिलती है.

बिड रिस्पॉन्स में दिखाए गए एचटीएमएल स्निपेट के लिए ज़्यादातर नीतियां, तीसरे पक्ष के विज्ञापनों के लिए बनी नीतियों जैसी ही होती हैं. ज़्यादा जानकारी के लिए, Authorized Buyers प्रोग्राम के दिशा-निर्देश, तीसरे पक्ष की विज्ञापन सेवा से जुड़ी ज़रूरी शर्तें, और विज्ञापनों में क्लिक-थ्रू यूआरएल का एलान करना लेख पढ़ें.

मैक्रो तय करना

मैक्रो, फ़ॉर्मैट किया गया ऐसा टेक्स्ट होता है जिसे बिड रिस्पॉन्स फ़ील्ड में एम्बेड किया जाता है. इनमें ऐसे यूआरएल होते हैं जिन्हें विज्ञापन दिखाने के समय, काम की वैल्यू से बदल दिया जाता है. उदाहरण के लिए, अगर आपकी बिड में शामिल एचटीएमएल स्निपेट क्रिएटिव में AUCTION_PRICE मैक्रो शामिल है, तो मैक्रो को उस वैल्यू से बदल दिया जाएगा जिसे डिक्रिप्ट करके, यह पता लगाया जा सकता है कि आपने नीलामी में इंप्रेशन के लिए कितना पेमेंट किया.

इन फ़ील्ड में मैक्रो शामिल किए जा सकते हैं:

  • BidResponse.seatbid.bid.adm

    मैक्रो, एचटीएमएल स्निपेट, नेटिव, वीडियो यूआरएल, और वीडियो VAST एक्सएमएल फ़ॉर्मैट के साथ काम करते हैं.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    एएमपी क्रिएटिव के लिए, सिर्फ़ Google के WINNING_PRICE और WINNING_PRICE_ESC मैक्रो इस्तेमाल किए जा सकते हैं.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    अगर आपको एक से ज़्यादा बिलिंग यूआरएल की ज़रूरत है, तो BidResponse.seatbid.bid.burl के बजाय इसका इस्तेमाल करें.

उदाहरण के लिए, एचटीएमएल स्निपेट में मैक्रो शामिल किया जा सकता है. इसके लिए, क्रिएटिव को फ़ेच करने के लिए इस्तेमाल किए गए यूआरएल में ${MACRO} एम्बेड करें. यहां ${MACRO}, OpenRTB स्पेसिफ़िकेशन में बताए गए, इस्तेमाल किए जा सकने वाले मैक्रो में से एक है.MACRO

Google मैक्रो

Google, OpenRTB स्पेसिफ़िकेशन में मौजूद मैक्रो के अलावा अन्य मैक्रो भी इस्तेमाल करता है. ये अलग-अलग फ़ॉर्मैट में होते हैं और यूआरएल में एम्बेड किए जाने पर %%MACRO%% के तौर पर दिखते हैं. यहां दी गई टेबल में, इन मैक्रो के बारे में बताया गया है:

मैक्रो ब्यौरा
ADVERTISING_IDENTIFIER इस कुकी की मदद से खरीदार, इंप्रेशन रेंडरिंग पर iOS आईडीएफ़ए या Android का विज्ञापन आईडी पा सकते हैं. ज़्यादा जानकारी के लिए, विज्ञापन देने वाले व्यक्ति या कंपनी के आइडेंटिफ़ायर को डिक्रिप्ट करना लेख पढ़ें.
CACHEBUSTER यह एक स्ट्रिंग है, जो बिना हस्ताक्षर वाले चार बाइट वाले पूर्णांक को दिखाती है.
CLICK_URL_UNESC

विज्ञापन के लिए, एस्केप नहीं किया गया क्लिक यूआरएल. स्निपेट में, तीसरे पक्ष के क्लिक यूआरएल का एस्केप किया गया वर्शन, सीधे तौर पर मैक्रो के बाद होना चाहिए.

उदाहरण के लिए, अगर तीसरे पक्ष का क्लिक यूआरएल http://my.adserver.com/some/path/handleclick?click=clk है, तो मैक्रो इनवोकेशन के बाद, तीसरे पक्ष के क्लिक यूआरएल के सिंगल-एस्केप किए गए वर्शन के साथ इस कोड का इस्तेमाल किया जा सकता है:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

विज्ञापन दिखाने के समय, इसे इस तरह से बड़ा किया जाता है:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

यह यूआरएल, पहले Google के साथ क्लिक रजिस्टर करेगा. इसके बाद, तीसरे पक्ष के क्लिक यूआरएल पर रीडायरेक्ट करेगा.

CLICK_URL_ESC

विज्ञापन के लिए एस्केप किया गया क्लिक यूआरएल. अगर आपको वैल्यू को पहले किसी दूसरे सर्वर से पास करना है, जो बाद में रीडायरेक्ट करेगा, तो CLICK_URL_UNESC के बजाय इसका इस्तेमाल करें.

उदाहरण के लिए, इस कोड का इस्तेमाल एचटीएमएल स्निपेट में किया जा सकता है:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

विज्ञापन दिखाने के समय, इसे इस तरह से बड़ा किया जाता है:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

इससे क्लिक को my.adserver.com के साथ रजिस्टर किया जाएगा. इसके बाद, google_click_url पैरामीटर में पास किए गए यूआरएल पर रीडायरेक्ट करने की ज़िम्मेदारी my.adserver.com की होगी. इससे यह माना जाता है कि my.adserver.com, google_click_url पैरामीटर को अनएस्केप करता है.

%%CLICK_URL_ESC%% के बाद, डबल-एस्केप किया गया यूआरएल जोड़ा जा सकता है. my.adserver.com से अन-एस्केप करने के बाद, यूआरएल का एक एस्केप किया गया वर्शन my.adserver.com में जुड़ जाता है.google_click_url google_click_url फ़ेच होने पर, यह एक बार फिर अनएस्केप हो जाएगा. इसके बाद, इसे रीडायरेक्ट कर दिया जाएगा.

CLICK_URL_ESC_ESC

विज्ञापन के लिए, दो बार एस्केप किया गया यूआरएल. अगर आपको वैल्यू को पहले किसी दूसरे सर्वर से पास करना है, जो बाद में रीडायरेक्ट करेगा, तो CLICK_URL_UNESC के बजाय इसका इस्तेमाल करें.

उदाहरण के लिए, इस कोड का इस्तेमाल एचटीएमएल स्निपेट में किया जा सकता है:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

विज्ञापन दिखाने के समय, इसे इस तरह से बड़ा किया जाता है:

<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME अगर बिड अनुरोध के लिए एसएसएल की ज़रूरत नहीं है, तो इसे http: पर और अगर बिड अनुरोध के लिए एसएसएल की ज़रूरत है, तो इसे https: पर सेट किया जाता है.
SITE कॉन्टेंट यूआरएल का यूआरएल-एस्केप किया गया डोमेन या गुमनाम इन्वेंट्री के लिए गुमनाम आईडी.
SITE_URL समर्थन नहीं होना या रुकना. इसकी जगह SITE मैक्रो का इस्तेमाल किया जाता है. यह मैक्रो, इसी तरह की सुविधा देता है.
TZ_OFFSET टाइम ज़ोन ऑफ़सेट.
VERIFICATION

क्रिएटिव की प्रोडक्शन वैल्यू और पुष्टि की प्रोसेस के दौरान क्रिएटिव को स्कैन किए जाने की वैल्यू अलग-अलग होती हैं. इसका फ़ॉर्मैट यह है: %%?VERIFICATION:true-val:false-val%%. इसमें true-val और false-val के लिए, मैक्रो को छोड़कर कोई भी वैल्यू इस्तेमाल की जा सकती है. इसमें खाली स्ट्रिंग भी शामिल हैं. हमारा सुझाव है कि ओपन बिडिंग के लिए, एक्सचेंज इस मैक्रो का इस्तेमाल करें. ऐसा करने के बाद, मांग पूरी करने वाले प्लैटफ़ॉर्म को बदलाव करने की ज़रूरत नहीं होती.

उदाहरण के लिए, अगर किसी क्रिएटिव में %%?VERIFICATION:-1:5000%% शामिल है, तो विज्ञापन दिखाने के दौरान टेक्स्ट की जगह 5000 दिखेगा. साथ ही, पुष्टि करने की प्रोसेस के दौरान -1 दिखेगा. ऐसा इसलिए किया जाता है, ताकि इन दोनों सेट के पिंग के बीच अंतर किया जा सके.

WINNING_PRICE

खाते की मुद्रा के माइक्रोज़ में, इंप्रेशन की एन्कोड की गई लागत. यह सीपीएम के बजाय सीपीआई होती है. उदाहरण के लिए, 5 डॉलर का सीपीएम जीतने का मतलब है कि 50 लाख माइक्रो सीपीएम या 5,000 माइक्रो सीपीआई. इस मामले में, WINNING_PRICE की डिकोड की गई वैल्यू 5,000 होगी. जीतने वाली कीमत, सीपीआई में तय की जाती है.

इस मैक्रो को पार्स करने के लिए, आपको एक ऐसा ऐप्लिकेशन लागू करना होगा जो किराये की पुष्टि करने वाले डेटा को डिक्रिप्ट करता हो. ज़्यादा जानकारी के लिए, किराया पुष्टि करने की सुविधा को डिक्रिप्ट करना पेज देखें.

WINNING_PRICE_ESC यूआरएल-एस्केप किया गया WINNING_PRICE.

Google के लिए यह ज़रूरी है कि तीसरे पक्ष के सर्वर से दिखाए गए विज्ञापन के क्रिएटिव में, CLICK_URL_UNESC या CLICK_URL_ESC मैक्रो का इस्तेमाल किया जाए. Google, क्लिक ट्रैकिंग के लिए CLICK_URL मैक्रो का इस्तेमाल करता है.

मैक्रो में यूआरएल एस्केपिंग के लिए, इस स्कीम का इस्तेमाल किया जाता है:

  • स्पेस वर्ण की जगह प्लस का निशान (+) इस्तेमाल किया जाता है.
  • अक्षरों और अंकों (0-9, a-z, A-Z) और !()*,-./:_~ सेट के वर्णों में कोई बदलाव नहीं होता.
  • अन्य सभी वर्णों को %XX से बदल दिया जाता है. यहां XX, वर्ण को दिखाने वाला हेक्साडेसिमल नंबर है.

पब्लिशर की पाबंदियां और ज़रूरी शर्तें

बिड अनुरोध में, पाबंदियों और ज़रूरी शर्तों के बारे में जानकारी शामिल होती है. ये पाबंदियां और ज़रूरी शर्तें, पब्लिशर नीलामी में क्रिएटिव पर लगाते हैं.

  • BidRequest.bcat
    • इस फ़ील्ड में बताई गई ब्लॉक की गई कैटगरी की तुलना, रीयल-टाइम बिडिंग एपीआई के detectedCategories फ़ील्ड का इस्तेमाल करके, सबमिट किए गए क्रिएटिव के लिए पता लगाई गई कैटगरी से की जा सकती है.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • हालांकि, व्यवहार में यह हमेशा true पर सेट होता है, क्योंकि Google को सभी क्रिएटिव के लिए एसएसएल की ज़रूरत होती है.
  • BidRequest.imp.{audio/banner/native/video}
  • BidRequest.imp.{audio/banner/native/video}.api
  • BidRequest.imp.{audio/banner/native/video}.battr
  • BidRequest.imp.{audio/banner/video}.mimes

कभी भी ऐसे विज्ञापन के लिए बिड न करें जिसमें प्रतिबंधित सुविधा शामिल हो. अनुमति वाली सुविधाओं के लिए, जैसे कि वेंडर टाइप, विज्ञापन सिर्फ़ तब दिखाएं, जब उसका वेंडर टाइप BidRequest में मौजूद allowed_vendor_type सूची में शामिल हो. बिड में सिर्फ़ उन विज्ञापन फ़ॉर्मैट को शामिल करें जिनके बारे में बिड अनुरोध में बताया गया है. इसके लिए, BidRequest.imp.banner जैसे फ़ील्ड भरें. ज़्यादा जानकारी के लिए, BidRequest प्रोटोकॉल बफ़र डेफ़िनिशन में इन फ़ील्ड के लिए टिप्पणियां देखें.

अगर BidResponse में कोई विज्ञापन दिखाया जाता है, तो आपको BidResponse में BidResponse.seatbid.bid.attr, BidResponse.seatbid.bid.cat, और BidResponse.seatbid.bid.adomain या BidResponse.seatbid.bid.adm_native.link.url फ़ील्ड को सही तरीके से सेट करना होगा. अगर किसी विज्ञापन के लिए इन फ़ील्ड की कई वैल्यू लागू होती हैं, तो आपको हर वैल्यू को शामिल करना होगा. ज़्यादा जानकारी के लिए, BidResponseप्रोटोकॉल बफ़र की परिभाषा में इन फ़ील्ड के लिए टिप्पणियां देखें. जिन जवाबों में ये फ़ील्ड सेट नहीं किए गए हैं उन्हें खारिज कर दिया जाता है.

मेज़रमेंट खोलें

ओपन मेज़रमेंट की मदद से, तीसरे पक्ष के उन वेंडर को चुना जा सकता है जो मोबाइल ऐप्लिकेशन पर दिखाए जाने वाले विज्ञापनों के लिए, मेज़रमेंट और पुष्टि की सेवाएं उपलब्ध कराते हैं.

इन विज्ञापन फ़ॉर्मैट का इस्तेमाल किया जा सकता है: वीडियो विज्ञापन, बैनर विज्ञापन, और इंटरस्टीशियल विज्ञापन. इन फ़ॉर्मैट वाले बिड रिस्पॉन्स में ओपन मेज़रमेंट का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, सहायता केंद्र का ओपन मेज़रमेंट एसडीके लेख पढ़ें.

बिड रिस्पॉन्स के उदाहरण

यहां दिए गए सेक्शन में, अलग-अलग तरह के विज्ञापनों के लिए बिड रिस्पॉन्स के सैंपल दिखाए गए हैं.

ऐप्लिकेशन बैनर

OpenRTB Protobuf

OpenRTB JSON

ऐप्लिकेशन पर अचानक दिखने वाला विज्ञापन

OpenRTB Protobuf

OpenRTB JSON

ऐप्लिकेशन पर अचानक दिखने वाला वीडियो विज्ञापन

OpenRTB Protobuf

OpenRTB JSON

ऐप्लिकेशन नेटिव

OpenRTB Protobuf

OpenRTB JSON

वेब वीडियो

OpenRTB Protobuf

OpenRTB JSON

एक्सचेंज बिडर के लिए मोबाइल वेब बैनर

OpenRTB Protobuf

OpenRTB JSON