नेटिव विज्ञापन

नेटिव विज्ञापन आस-पास की सामग्री और विज़ुअल डिज़ाइन के मुताबिक फ़ॉर्मैट किए गए होते हैं. इससे उपयोगकर्ताओं के देखने और उन पर क्लिक करने की संभावना बढ़ जाती है. नेटिव विज्ञापन इन्वेंट्री, मोबाइल ऐप्लिकेशन के साथ-साथ डेस्कटॉप और मोबाइल वेबसाइटों पर भी उपलब्ध है. नेटिव विज्ञापनों के बारे में ज़्यादा जानकारी के लिए, नेटिव विज्ञापनों की खास जानकारी देखें.

नेटिव विज्ञापन, Authorized Buyers और ओपन बिडिंग, दोनों के लिए काम करते हैं.

नेटिव विज्ञापनों का वर्कफ़्लो यहां दिया गया है:

  1. नेटिव विज्ञापन के लिए Google को कॉल किया जाता है. इस कॉल में, नीचे दिए गए एक या दोनों नेटिव विज्ञापन टेंप्लेट तय किए गए हैं. हर टेंप्लेट में, पसंदीदा नेटिव फ़ील्ड के बारे में बताया गया है.
  2. Google, खरीदारों को एक आरटीबी बिड अनुरोध भेजता है. इसमें, उन फ़ील्ड की सूची होती है जिनका अनुरोध किया जा रहा है.
  3. रुचि रखने वाले खरीदार अनुरोध किए गए फ़ील्ड के साथ जवाब देते हैं.
  4. Google, जीतने वाली बिड को चुनने के लिए नीलामी करता है और खरीदार की दी गई क्रिएटिव ऐसेट पब्लिशर को भेज देता है.
  5. पब्लिशर, ऐसेट को नेटिव विज्ञापन में इकट्ठा करता है और साइट के डिज़ाइन के हिसाब से स्टाइल में बदलाव करता है.

मैसेज के फ़ॉर्मैट

Google पर JSON और Protobuf, दोनों में OpenRTB की खास बातें लागू होती हैं.

OpenRTB Protobuf नेटिव विज्ञापनों के लिए, नीचे दिए गए फ़ील्ड स्पेसिफ़िकेशन से अलग होते हैं:

JSON स्पेसिफ़िकेशन
(PROTOCOL_OPENRTB_2_4)
JSON टाइप OpenRTB लागू करना
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
ओपनआरटीबी का टाइप
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

OpenRTB फ़ील्ड, स्ट्रिंग के बजाय प्रोटोबफ़ मैसेज होते हैं.

अगर आपने OpenRTB Protobuf को लागू किया है, तो आपको BidRequest.imp[].native.request नहीं मिलेगा. साथ ही, आपको BidResponse.seatbid[].bid[].adm_native का इस्तेमाल करके जवाब देना होगा. BidResponse.seatbid[].bid[].adm वाली बिड रिस्पॉन्स फ़िल्टर किए जाते हैं. OpenRTB Protobuf बिड रिस्पॉन्स के लिए एसेट आईडी की ज़रूरत नहीं है.

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

नेटिव विज्ञापन टेंप्लेट

Google, बिना वीडियो वाले और वीडियो वाले नेटिव विज्ञापनों के लिए, दो सबसे आम नेटिव विज्ञापन टेंप्लेट का इस्तेमाल करता है:

अन्य टेंप्लेट मौजूद हैं. इनमें फ़ील्ड, डाइमेंशन, और साइज़ के लिए अलग-अलग ज़रूरी शर्तें हो सकती हैं.

ऐप्लिकेशन इंस्टॉल विज्ञापन टेम्प्लेट

नीचे दी गई टेबल में, ज़रूरी या सुझाया गया लेबल वाले फ़ील्ड दिखाए गए हैं. इस पर नीचे दिए गए नियम लागू होते हैं:

  • बिडिंग करने वाले के लिए, ज़रूरी है के तौर पर मार्क किए गए फ़ील्ड भरना ज़रूरी है.
  • बिड करने वाले के लिए, सुझाए गए फ़ील्ड के तौर पर मार्क किए गए फ़ील्ड की ज़रूरत नहीं होती है. अगर फ़ील्ड दिया जाता है, तो पब्लिशर उन्हें दिखा भी सकता है या नहीं भी (उदाहरण के लिए, स्टार रेटिंग).
  • कॉल-टू-ऐक्शन (सीटीए) को हमेशा सुझाया गया के तौर पर मार्क किया जाता है. ऐसा इसलिए, क्योंकि अगर बिडिंग करने वाले ने कोई कॉल नहीं भेजा है, तो उसे डिफ़ॉल्ट रूप से असाइन किया जाता है. हालांकि, भेजे जाने पर यह हमेशा दिखाया जाएगा.

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

फ़ील्ड ब्यौरा ज़रूरी है या सुझाया गया है? हमेशा दिखाया जाता है? इमेज के लिए सुझाया गया साइज़/वर्णों की ज़्यादा से ज़्यादा संख्या उदाहरण
हेडलाइन ऐप्लिकेशन का नाम ज़रूरी है हां 25 वर्ण Flood-It!
इमेज ऐप्लिकेशन का स्क्रीनशॉट या काम की कोई दूसरी इमेज ज़रूरी है नहीं 1,200 पिक्सल x 627 पिक्सल या 600 पिक्सल x 600 पिक्सल का होना चाहिए, जो पब्लिशर के लिए ज़रूरी आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) पर निर्भर करता है. <Flood-It! गेम का एक स्क्रीनशॉट!>
मुख्य हिस्सा ऐप्लिकेशन का मुख्य टेक्स्ट ज़रूरी है नहीं 90 वर्ण धोखाधड़ी करना आसान और मुश्किल से मुश्किल = देखने में तो बहुत आनंद आता है!
ऐप्लिकेशन आइकॉन ऐप्लिकेशन आइकॉन ज़रूरी है नहीं 128 x 128 पिक्सल <Flood-it! ऐप्लिकेशन का आइकॉन>
कॉल-टू-ऐक्शन उपयोगकर्ता की पसंदीदा कार्रवाई सुझाया गया हां 15 वर्ण इंस्टॉल करें
स्टार रेटिंग ऐप स्टोर में ऐप्लिकेशन की रेटिंग दिखाने वाले स्टार की संख्या (0 - 5) सुझाया गया नहीं 0 से 5 4.5
कीमत ऐप्लिकेशन की लागत सुझाया गया नहीं 15 वर्ण बिना किसी शुल्क के आज़माएं

टेक्स्ट की लंबाई के बारे में नोट

अगर कोई खरीदार, सुझाए गए वर्णों की तय सीमा से ज़्यादा लंबा टेक्स्ट ऐसेट (उदाहरण के लिए, बॉडी टेक्स्ट) भेजता है, तो Google या पब्लिशर उस टेक्स्ट को छोटा और एलिप्साइज़ कर सकता है. ध्यान दें कि चाइनीज़, जैपनीज़, और कोरियन भाषा में काट-छांट करने की सीमा आधी होती है. उदाहरण के लिए, अंग्रेज़ी के लिए हेडलाइन की सीमा 90 और चाइनीज़ के लिए 45 है.

इमेज के साइज़ के बारे में जानकारी

पब्लिशर को ये काम करने की अनुमति है:

  • मुख्य इमेज को एक डाइमेंशन (ऊंचाई या चौड़ाई) में 20% तक समान रूप से काटें.
  • इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बदले बिना, इमेज का साइज़ बदलें.
  • जिन इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) उनकी ऊंचाई और चौड़ाई से काफ़ी अलग होता है उन्हें फ़िल्टर किया जा सकता है.

सामग्री विज्ञापन टेंप्लेट

नीचे दी गई टेबल में कॉन्टेंट विज्ञापन टेंप्लेट के फ़ील्ड दिए गए हैं. पब्लिशर, इन फ़ील्ड का इस्तेमाल नेटिव कॉन्टेंट विज्ञापन बनाने के लिए करते हैं.

फ़ील्ड ब्यौरा ज़रूरी है या सुझाया गया है? हमेशा दिखाया जाता है? इमेज के लिए सुझाया गया साइज़/वर्णों की ज़्यादा से ज़्यादा संख्या * उदाहरण
हेडलाइन विज्ञापन हेडर ज़रूरी है हां 25 वर्ण सामान गिरवी रखकर लिए जाने वाले क़र्ज़ की सबसे कम दरें
इमेज विज्ञापन की प्राथमिक छवि ज़रूरी है नहीं 1,200 पिक्सल x 627 पिक्सल या 600 पिक्सल x 600 पिक्सल का होना चाहिए, जो पब्लिशर के लिए ज़रूरी आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) पर निर्भर करता है. <विज्ञापन की मुख्य इमेज>
मुख्य हिस्सा विज्ञापन सामग्री ज़रूरी है नहीं 90 वर्ण आपका घर ब्रुकलिन का खूबसूरत घर - आपकी उम्मीद से कहीं ज़्यादा सस्ता और जल्द!
लोगो विज्ञापन देने वाले का लोगो या काम की कोई दूसरी छोटी इमेज सुझाया गया नहीं 128 x 128 पिक्सल <NY Mortgage Inc. का लोगो>
कॉल-टू-ऐक्शन उपयोगकर्ता की पसंदीदा कार्रवाई सुझाया गया नहीं 15 वर्ण कोटेशन पाएं
विज्ञापन देने वाला वह टेक्स्ट जिससे विज्ञापनदाता या ब्रांड की पहचान होती है ज़रूरी है नहीं 25 वर्ण NY मॉर्टगेज इंक.

वीडियो ऐप्लिकेशन इंस्टॉल विज्ञापन टेम्प्लेट

फ़ील्ड ब्यौरा ज़रूरी है या सुझाया गया है? हमेशा दिखाया जाता है? इमेज के लिए सुझाया गया साइज़/वर्णों की ज़्यादा से ज़्यादा संख्या * उदाहरण
वीडियो वीडियो VAST (वीडियो विज्ञापन देने के लिए टेम्प्लेट) रिस्पॉन्स में किसी वीडियो विज्ञापन को चलाने के लिए सभी ज़रूरी एसेट शामिल हैं. ज़रूरी है नहीं - Flood-It! वाले VAST एक्सएमएल के लिए एक यूआरएल वीडियो विज्ञापन
हेडलाइन ऐप्लिकेशन का नाम ज़रूरी है हां 25 वर्ण Flood-It!
इमेज वीडियो विज्ञापन पर क्लिक होने से पहले या लोड होने के दौरान प्लेयर में दिखने वाली इमेज (थंबनेल). ज़रूरी है नहीं वीडियो के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) से मेल खाना चाहिए (उदाहरण के लिए: 16x9 वाले वीडियो के लिए 1280x720, 640x480 वीडियो के लिए 4x3). Flood-It! गेम का एक स्क्रीनशॉट इसके अलावा,
मुख्य हिस्सा ऐप्लिकेशन का मुख्य टेक्स्ट ज़रूरी है नहीं 90 वर्ण धोखाधड़ी करना आसान और मुश्किल से मुश्किल = देखने में तो बहुत आनंद आता है!
ऐप्लिकेशन आइकॉन ऐप्लिकेशन आइकॉन ज़रूरी है नहीं 128 x 128 पिक्सल Flood-it! ऐप्लिकेशन का आइकॉन
कॉल-टू-ऐक्शन उपयोगकर्ता की पसंदीदा कार्रवाई ज़रूरी है हां 15 वर्ण इंस्टॉल करें
स्टार रेटिंग ऐप स्टोर में ऐप्लिकेशन की रेटिंग दिखाने वाले तारों की संख्या (0 - 5) सुझाया गया नहीं 0 से 5 4.5
कीमत ऐप्लिकेशन की लागत सुझाया गया नहीं 15 वर्ण बिना किसी शुल्क के आज़माएं

ज़रूरी शर्तें

  • वीडियो: सभी वीडियो VAST यूआरएल या VAST टैग के रूप में होना चाहिए. WebM, MP4 वगैरह जैसी रॉ वीडियो फ़ाइल की जानकारी नहीं दी जा सकती.

  • टेक्स्ट की लंबाई: अगर कोई खरीदार जवाब में body जैसी किसी टेक्स्ट ऐसेट के बारे में बताता है, तो Google या पब्लिशर इसे छोटा कर सकता है और उसे छोटा कर सकता है. ध्यान दें कि काट-छांट करने की सीमा, चाइनीज़, जैपनीज़, और कोरियन भाषा में आधी होती है. उदाहरण के लिए, अंग्रेज़ी में हेडलाइन की सीमा 90 है और चाइनीज़ के लिए 45 है.

  • इमेज का साइज़: पब्लिशर को ये काम करने की अनुमति है:

    • मुख्य इमेज को एक डाइमेंशन (ऊंचाई या चौड़ाई) में एक समान रूप से 20% तक काटें.
    • इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बदले बिना, इमेज का साइज़ बदलें.

ऐप्लिकेशन इंस्टॉल विज्ञापन का उदाहरण

नेटिव वीडियो

वीडियो सामग्री विज्ञापन टेम्प्लेट

फ़ील्ड ब्यौरा ज़रूरी है या सुझाया गया है? हमेशा दिखाया जाता है? इमेज के लिए सुझाया गया साइज़/वर्णों की ज़्यादा से ज़्यादा संख्या * उदाहरण
वीडियो वीडियो VAST (वीडियो विज्ञापन देने के लिए टेम्प्लेट) रिस्पॉन्स में किसी वीडियो विज्ञापन को चलाने के लिए सभी ज़रूरी एसेट शामिल हैं. ज़रूरी है हां - Flood-It! वाले VAST एक्सएमएल के लिए एक यूआरएल वीडियो विज्ञापन
हेडलाइन विज्ञापन हेडर ज़रूरी है हां 25 वर्ण सामान गिरवी रखकर लिए जाने वाले क़र्ज़ की सबसे कम दरें
इमेज वीडियो विज्ञापन पर क्लिक होने से पहले या लोड होने के दौरान प्लेयर में दिखने वाली इमेज (थंबनेल). ज़रूरी है नहीं वीडियो के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) से मेल खाना चाहिए (उदाहरण के लिए: 16x9 वाले वीडियो के लिए 1280x720, 640x480 वीडियो के लिए 4x3). वीडियो से लिया गया स्क्रीनशॉट
मुख्य हिस्सा विज्ञापन सामग्री ज़रूरी है नहीं 90 वर्ण आपका घर ब्रुकलिन का खूबसूरत घर - आपकी उम्मीद से कहीं ज़्यादा सस्ता और जल्द!
लोगो विज्ञापन देने वाले का लोगो या काम की कोई दूसरी छोटी इमेज सुझाया गया नहीं 128 x 128 पिक्सल NY Mortgage Inc. का लोगो
कॉल-टू-ऐक्शन उपयोगकर्ता की पसंदीदा कार्रवाई ज़रूरी है नहीं 15 वर्ण कोटेशन पाएं
विज्ञापन देने वाला वह टेक्स्ट जिससे विज्ञापनदाता या ब्रांड की पहचान होती है ज़रूरी है नहीं 25 वर्ण NY मॉर्टगेज इंक.

मेटा फ़ील्ड

इन मेटा फ़ील्ड को ऐसे सभी विज्ञापन टेंप्लेट के साथ शेयर किया जाता है जिनका इस्तेमाल किया जा सकता है:

Authorized Buyers रीयल-टाइम प्रोटोकॉल बफ़र Authorized Buyers OpenRTB की तरह ब्यौरा
NativeAd.click_link_url Link.url वह यूआरएल जिसे ब्राउज़र जब उपयोगकर्ता विज्ञापन पर क्लिक करेगा, तब उसे कॉल किया जाएगा. यह रीडायरेक्ट चेन का पहला चरण हो सकता है, जो उपयोगकर्ता को लैंडिंग पेज पर ले जाता है. नेटिव विज्ञापनों के लिए, हमारा सुझाव है कि आप फ़ील्ड के तौर पर click_link_url का इस्तेमाल करें, ताकि उपयोगकर्ता वह डेस्टिनेशन सेट कर सके जहां उपयोगकर्ता आखिर में जाएगा. डाइनैमिक लैंडिंग पेज के मामले में, इस फ़ील्ड का इस्तेमाल करना ज़रूरी है.
Ad.click_through_url Bid.adomain

अगर बिड करने वाला कोई बिडिंग करना चाहता है, तो उसे सेट करना ज़रूरी है. यह स्निपेट के लिए डेस्टिनेशन यूआरएल का सेट होता है. इसमें वे यूआरएल शामिल होते हैं जिन पर उपयोगकर्ता, दिखाए गए विज्ञापन पर क्लिक करने के बाद पहुंचता है. इसमें वे सभी यूआरएल भी शामिल होते हैं जो रेंडर किए गए विज्ञापन में दिखते हैं. विज्ञापन सर्वर को ऐसे इंटरमीडिएट कॉल शामिल न करें जो फ़ाइनल लैंडिंग पेज से अलग हों. ऐसा बिड रिस्पॉन्स, जो स्निपेट या वीडियो विज्ञापन दिखाता है, लेकिन यह एलान करता है कि किसी भी click_through_url को खारिज नहीं किया जाएगा. इस फ़ील्ड को सिर्फ़ तब सेट करें, जब html_snippet, video_url या native_ad को सेट किया गया हो. इस डेटा का इस्तेमाल, डेस्टिनेशन यूआरएल (विज्ञापन के लैंडिंग पेज का यूआरएल) के एलान के तौर पर किया जाता है. उदाहरण के लिए, पब्लिशर की ओर से ब्लॉक किए गए यूआरएल को पोस्ट-फ़िल्टर करने या विज्ञापन की कैटगरी तय करने के लिए. नेटिव विज्ञापनों का इस्तेमाल करते समय, ऊपर NativeAd.click_link_url देखें.

नॉन-नेटिव विज्ञापनों के लिए, इसका इस्तेमाल क्लिक ट्रैकिंग या विज्ञापन के किसी अन्य फ़ंक्शन के लिए नहीं किया जाता है. इसका इस्तेमाल सिर्फ़ डेस्टिनेशन यूआरएल के एलान के तौर पर किया जाता है.

नेटिव विज्ञापनों के लिए, अगर NativeAd.click_link_url सेट नहीं है, तो उपयोगकर्ता को लैंडिंग पेज पर भेजने के लिए, click_through_url की पहली वैल्यू का इस्तेमाल किया जाता है. इसके अलावा, सभी वैल्यू का इस्तेमाल, डेस्टिनेशन यूआरएल (विज्ञापन के लैंडिंग पेज का यूआरएल) की जानकारी के तौर पर किया जाता है. यह नॉन-नेटिव केस की तरह ही होता है.

NativeAd.click_tracking_urls Link.clicktrackers ज़रूरी नहीं. अतिरिक्त यूआरएल, जिनकी मदद से विज्ञापन देने वाले, विज्ञापन पर उपयोगकर्ता के क्लिक को ट्रैक कर सकते हैं.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url विज्ञापन प्राथमिकताओं या ऑप्ट-आउट पेज से लिंक करें. अगर कोई स्टैंडर्ड AdChoices आइकॉन मौजूद है, तो उसे नेटिव क्रिएटिव में जोड़ दिया जाता है और इस यूआरएल से जोड़ दिया जाता है. यह नेटिव विज्ञापनों के लिए काम करता है, लेकिन बिड रिस्पॉन्स में नेटिव मैसेज का हिस्सा नहीं है.
Ad.impression_tracking_url NativeResponse.imptrackers OpenRTB में, नेटिव इंप्रेशन को impression_tracking_url की मदद से Authorized Buyers रीयल-टाइम बिडिंग प्रोटो या नेटिव इंप्रेशन ट्रैकर में ट्रैक किया जाना चाहिए.

required_fields और recommended_fields को पब्लिशर तय करता है. हम इन बिट फ़ील्ड का अनुवाद करने का तरीका बताते हैं, ताकि यह तय किया जा सके कि किसी फ़ील्ड को भरना ज़रूरी है या ऐसा करने का सुझाव दिया जाता है.

एक बिट फ़ील्ड, सही या गलत स्टेटमेंट को स्टोर करने के लिए, बाइनरी वैल्यू के हर बिट का इस्तेमाल करता है. यह is_logo_required, is_header_required वगैरह जैसे कई बूलियन सिग्नल भेजने के बराबर होता है, लेकिन सभी एक साथ पैक किए जाते हैं.

उदाहरण

इस उदाहरण में, हम 1085 की required_fields वैल्यू का इस्तेमाल करेंगे.

सबसे पहले, समान बाइनरी वैल्यू का पता लगाएं: 10000111101

बाइनरी वैल्यू मिलने के बाद, बिट की जांच करके यह देखा जा सकता है कि फ़ील्ड ज़रूरी है (1) या ज़रूरी नहीं है (0).

नीचे दी गई टेबल, बाइनरी वैल्यू में फ़ील्ड को उनकी जगह पर मैप करती है. बाइनरी को दाईं से बाईं ओर पढ़ें, जिसमें 1-बिट को बाइनरी वैल्यू में सबसे दाईं ओर के स्थान से जुड़ा हुआ होना चाहिए.

फ़ील्ड बाइनरी वैल्यू प्लेसमेंट (दाएं से बाएं)
HEADLINE 1
BODY 2
CALL_TO_ACTION 4
ADVERTISER 8
IMAGE 16
LOGO 32
APP_ICON 64
STAR_RATING 128
PRICE 256
STORE 512
VIDEO 1024

उदाहरण के तौर पर दी गई बाइनरी वैल्यू 10000111101 को देखते हुए, 1-बिट (सबसे दाईं ओर) 1 है, जो एक ज़रूरी वैल्यू को दिखाता है. टेबल के मुताबिक, 1-बिट HEADLINE के मुताबिक होता है.

2-बिट (दाईं ओर से दूसरी वैल्यू), 0 का मतलब है कि ज़रूरी नहीं है. यह 2-बिट, BODY से मेल खाता है.

यहां हमारे उदाहरण में दिए गए सभी ज़रूरी फ़ील्ड दिए गए हैं, जिनके बारे में जानकारी दी गई है:

वैल्यू ब्यौरा ज़रूरी है?
1 VIDEO हां
0 STORE नहीं
0 PRICE नहीं
0 STAR_RATING नहीं
0 APP_ICON नहीं
1 LOGO हां
1 IMAGE हां
1 ADVERTISER हां
1 CALL_TO_ACTION हां
0 BODY नहीं
1 HEADLINE हां

NativeAdटेंप्लेट मैसेज

नेटिव इन्वेंट्री वाली बिड रिक्वेस्ट मिलने पर, उसमें अपने-आप जानकारी भरी हुई BidRequest.adSlot[].native_ad_template शामिल होगी. NativeAdTemplate मैसेज में इन चीज़ों की जानकारी दी गई है:

  • ज़रूरी या सुझाए गए फ़ील्ड.
  • इमेज, लोगो, और ऐप्लिकेशन आइकॉन के डाइमेंशन.
  • विज्ञापन को दिखाने वाली स्टाइल से जुड़ी खास जानकारी.
message BidRequest {
  //...
  message AdSlot {
    //...

    message NativeAdTemplate {
      // Defines the bits used in required_fields and recommended_fields.
      // There is one bit for each of the fields in BidResponse.Ad.NativeAd
      enum Fields {
        NO_FIELDS = 0x0;
        HEADLINE = 0x1;
        BODY = 0x2;
        CALL_TO_ACTION = 0x4;
        ADVERTISER = 0x8;
        IMAGE = 0x10;
        LOGO = 0x20;
        APP_ICON = 0x40;
        STAR_RATING = 0x80;
        PRICE = 0x100;
        DEPRECATED_STORE = 0x200;
        VIDEO = 0x400;
      }

      // Bitfield describing which fields are required by the publisher. Bid
      // responses with no value for these fields will be rejected. Click
      // and view tracking urls are always implicitly required.
      optional int64 required_fields = 1;

      // Bitfield describing which fields are recommended by the publisher.
      // All recommended field are supported, but not all recommended fields
      // are required.
      optional int64 recommended_fields = 2;

      // max_safe_length indicates the maximum number of Unicode characters that
      // are guaranteed to be shown without truncation. Longer strings may be
      // truncated and ellipsized by Ad Exchange or the publisher during
      // rendering.
      optional int32 headline_max_safe_length = 3;
      optional int32 body_max_safe_length = 4;
      optional int32 call_to_action_max_safe_length = 5;
      optional int32 advertiser_max_safe_length = 6;
      optional int32 price_max_safe_length = 15;

      // The width and height from which to calculate the required aspect ratio.
      // You can provide a larger image in the response. Images that have aspect
      // ratios substantially different than those implied by the height and
      // width may be filtered.
      optional int32 image_width = 7;
      optional int32 image_height = 8;
      optional int32 logo_width = 9;
      optional int32 logo_height = 10;
      optional int32 app_icon_width = 11;
      optional int32 app_icon_height = 12;

      // Globally distinct id for the specific style, HTML, and CSS with which
      // the native ad is rendered.
      optional int32 style_id = 16;

      // Type of style layout for each native ad template.
      enum LayoutType {
        PIXEL = 0;
        FLUID = 1;
      }
      optional LayoutType style_layout_type = 17 [default = PIXEL];

      // If the style_layout_type is Pixel, width and height of the
      // entire native ad after rendering. If the style_layout_type is
      // Fluid, the style_height and style_width may optionally
      // not be populated.
      optional int32 style_height = 18;
      optional int32 style_width = 19;
    }
    repeated NativeAdTemplate native_ad_template = 51;
  }

    // NativePlacementType describes placement of native ad slot with respect to
    // surrounding context.
    enum NativePlacementType {
      PLACEMENT_UNKNOWN = 0;
      // In the feed of content - for example as an item inside the organic
      // feed/grid/listing/carousel.
      PLACEMENT_IN_FEED = 1;
      // In the atomic unit of the content - for example, in the article page or single
      // image page.
      PLACEMENT_ATOMIC_UNIT = 2;
      // Outside the core content - for example in the ads section on the right
      // rail, as a banner-style placement near the content, etc.
      PLACEMENT_OUTSIDE = 3;
      // Recommendation widget, most commonly presented below the article
      // content.
      PLACEMENT_RECOMMENDATION = 4;
    }

    optional NativePlacementType native_placement_type = 45;

  // ...
}

NativeAd मैसेज

नेटिव इन्वेंट्री पर बिडिंग करते समय, खरीदार को BidResponse.ad[].native_ad में, ज़रूरी फ़ील्ड भरना होगा. इनके बारे में BidRequest.adSlot[].native_ad_template में बताया गया है.

message BidResponse {
  //...
  message Ad {
    //...

    message NativeAd {
      // A short title for the ad.
      optional string headline = 1;

      // A long description of the ad.
      optional string body = 2;

      // A label for the button that the user is supposed to click.
      optional string call_to_action = 3;

      // The name of the advertiser or sponsor, to be displayed in the ad
      // creative.
      optional string advertiser = 4;

      // Next tag to use: 4
      message Image {
        optional string url = 1;

        // Image width and height are specified in pixels. You may provide a
        // larger image than was requested, so long as the aspect ratio is
        // preserved.
        optional int32 width = 2;
        optional int32 height = 3;
      }

      // A large image.
      optional Image image = 5;

      // A smaller image, for the advertiser's logo.
      optional Image logo = 6;

      // The app icon, for app download ads.
      optional Image app_icon = 7;

      // The video file. Only set this field if the video field is requested.
      oneof video {
        // The URL to fetch a video ad. The URL should return an XML response
        // that conforms to VAST standards.
        string video_url = 13;

        // The VAST document to be returned.
        string video_vast_xml = 16;
      }

      // The app rating in the app store. Must be in the range [0-5].
      optional double star_rating = 8;

      // The URL that the browser/SDK will load when the user clicks the ad.
      // This can be the landing page directly, or the first step of a redirect
      // chain that eventually leads to it. For backward compatibility, if this
      // is not set, the first Ad.click_through_url is used.
      optional string click_link_url = 14;

      // The URL to use for click tracking. The SDK pings click tracking url on
      // a background thread. When resolving the url, HTTP 30x redirects are
      // followed. The SDK ignores the contents of the response; this URL
      // has no effect on the landing page for the user.
      // This field is planned to be deprecated and we are moving to the
      // repeated click_tracking_urls field.
      optional string click_tracking_url = 11;

      // The URLs to use for click tracking. This will be used throughout the
      // serving stack and will incorporate any URL in click_tracking_urls.
      repeated string click_tracking_urls = 15;

      // The price of the promoted app including the currency info.
      optional string price = 10;

    };
    optional NativeAd native_ad = 18;

    // The set of destination URLs for the snippet. This includes the URLs that
    // the user will go to if they click on the displayed ad, and any URLs that
    // are visible in the rendered ad. Do not include intermediate calls to the
    // adserver that are unrelated to the final landing page. A BidResponse that
    // returns a snippet or video ad but declares no click_through_url will be
    // discarded. Only set this field if html_snippet or video_url or native_ad
    // are set. This data is used as a destination URL declaration, for example
    // for post-filtering of publisher-blocked URLs or ad categorization.
    //
    // For non-native ads, it is not used for click tracking or any
    // other ad functionality; it is only used as a destination URL
    // declaration.
    //
    // For native ads, if NativeAd.click_link_url is not set, the first
    // value of click_through_url is used to direct the user to the landing
    // page. In addition, all values are used as destination
    // URL declarations (similar to the non-native case).
    repeated string click_through_url = 4;

    //...

    // The URLs to call when the impression is rendered. The SDK pings
    // impression urls on a background thread and ignores the contents
    // of the response.
    repeated string impression_tracking_url = 19;

    // Link to ad preferences page. This is only supported for native ads.
    // If present, a standard AdChoices icon is added to the native ad creative and
    // linked to this URL.
    optional string ad_choices_destination_url = 21;
    // ...
  }
}

बिड रिक्वेस्ट के उदाहरण

वीडियो के अलावा अन्य बिड रिक्वेस्ट

Google

OpenRTB JSON

ओपनआरटीबी प्रोटोबफ़

वीडियो बिड रिक्वेस्ट

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

ध्यान दें कि इन रिस्पॉन्स में दी गई वैल्यू का मकसद, ऊपर दिए गए अनुरोधों से मैच करना नहीं है. हालांकि, अगर अनुरोध में दिया गया टेंप्लेट ज़रूरी/ज़रूरी नहीं वाले फ़ील्ड का सुझाव देता है, तो यहां दिए गए जवाब भी उन ज़रूरी शर्तों के मुताबिक हैं.

वीडियो के अलावा अन्य बिड के जवाब

Google

OpenRTB JSON

ओपनआरटीबी प्रोटोबफ़

वीडियो बोली प्रतिक्रियाएं