लाइव स्ट्रीम के लिए डाइनैमिक विज्ञापन इंसर्शन एपीआई

Google DAI API की मदद से, एनवायरमेंट में Google डीएआई की सुविधा वाली स्ट्रीम लागू की जा सकती हैं जहां IMA SDK को लागू नहीं किया जा सकता. हमारा सुझाव है कि आप अब भी IMA उन प्लैटफ़ॉर्म पर मौजूद है जहां IMA SDK काम करता है.

हमारा सुझाव है कि इन प्लैटफ़ॉर्म पर डीएआई एपीआई का इस्तेमाल करें:

  • Samsung Smart TV (टिज़न)
  • LG TV
  • HbbTV
  • Xbox (JavaScript ऐप्लिकेशन)
  • KaiOS

यह एपीआई, IMA डीएआई SDK टूल की बुनियादी सुविधाओं के साथ काम करता है. इसके लिए साथ काम करने की सुविधा या इसके साथ काम करने वाली सुविधाओं के बारे में कोई सवाल, तो यहां संपर्क करें आपका खाता मैनेजर है.

लाइव स्ट्रीम के लिए DAI API लागू करना

DAI API, एचएलएस और डैश दोनों प्रोटोकॉल का इस्तेमाल करके लीनियर (लाइव) स्ट्रीम के साथ काम करता है. इस गाइड में बताया गया तरीका, दोनों प्रोटोकॉल पर लागू होता है.

लाइव स्ट्रीम के लिए, अपने ऐप्लिकेशन में एपीआई को इंटिग्रेट करने के लिए, ये काम करें चरण:

1. स्ट्रीम का अनुरोध करें

डीएआई एपीआई से लाइव स्ट्रीम का अनुरोध करने के लिए, स्ट्रीम को पोस्ट कॉल करें एंडपॉइंट का इस्तेमाल करें. JSON के रिस्पॉन्स में, स्ट्रीम मेनिफ़ेस्ट के साथ-साथ उससे जुड़ी जानकारी भी शामिल होती है DAI API के एंडपॉइंट और वैल्यू.

अनुरोध के मुख्य हिस्से का उदाहरण

https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

जवाब के मुख्य हिस्से का उदाहरण

{
"stream_id":"c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session",
"polling_frequency":10
}

गड़बड़ी का जवाब

गड़बड़ियां होने पर, JSON के रिस्पॉन्स के बिना स्टैंडर्ड एचटीटीपी गड़बड़ी कोड दिखाए जाते हैं शरीर.

JSON रिस्पॉन्स को पार्स करें और इन वैल्यू को सेव करें:

stream_id
इस वैल्यू का इस्तेमाल, दिखाई गई स्ट्रीम की पहचान करने के लिए किया जा सकता है.
stream_manifest
स्ट्रीम चलाने के लिए, यह यूआरएल आपके मीडिया प्लेयर को भेजा जाता है.
media_verification_url
यह यूआरएल, प्लेबैक इवेंट ट्रैक करने के लिए बेस एंडपॉइंट है.
metadata_url
इस यूआरएल का इस्तेमाल, आने वाली स्ट्रीम के बारे में समय-समय पर जानकारी देने के लिए किया जाता है इवेंट.
session_update_url
इस यूआरएल का इस्तेमाल शुरुआती रिपोर्ट के दौरान भेजे गए स्ट्रीम अनुरोध के पैरामीटर को अपडेट करने के लिए किया जाता है को स्ट्रीम करने का अनुरोध कर सकते हैं. ध्यान दें कि इस अनुरोध के पैरामीटर सभी पैरामीटर को बदल देते हैं पिछली स्ट्रीम के लिए सेट कर सकते हैं.
polling_frequency
सेकंड में, अपडेट किए गए AdBreak मेटाडेटा का अनुरोध करने की फ़्रीक्वेंसी (सेकंड में) डीएआई एपीआई.

2. नए AdBreak के मेटाडेटा के लिए पोल

पोलिंग फ़्रीक्वेंसी पर, नए AdBreak के मेटाडेटा के लिए टाइमर सेट करना है. इसके लिए, मेटाडेटा का यूआरएल. अगर स्ट्रीम के जवाब में यह जानकारी नहीं दी गई है, तो डिफ़ॉल्ट रूप से इसका सुझाव दिया जाता है इंटरवल 10 सेकंड का है.

अनुरोध के मुख्य हिस्से का उदाहरण

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata

जवाब के मुख्य हिस्से का उदाहरण

{
   "tags":{
      "google_0492266569":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"firstquartile"
      },
      "google_1560331148":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"thirdquartile"
      },
      "google_1877686714378797835":{
         "ad":"0000229836_slate",
         "ad_break_id":"0000229836",
         "type":"progress"
      },
      "google_1vRyQBYPw_7Gg3MrZ6S5EjmV9aLje-YpW8QHed1DSlU":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"progress"
      },
      "google_2032765498":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"midpoint"
      },......
      "google_5646900623":{
         "ad":"0000229837_ad1",
         "ad_break_id":"0000229837",
         "type":"complete"
      }
   },
   "ads":{
      "0000229834_ad1":{
         "ad_break_id":"0000229834",
         "position":1,
         "duration":15.01,
         "title":"truman-e2e-creativeset4",
         "description":"truman-e2e-creativeset4 ad",
         "ad_system":"GDFP",
         "ad_id":"39066884",
         "creative_id":"58092079124",
         "clickthrough_url":"https://pubads.g.doubleclick.net/pcs/click?xai=AKAO...\u0026adurl=http://google.com",
         "universal_ad_id":{
            "id_value":"58092079124",
            "id_registry":"GDFP"
         }
      },
      "0000229834_slate":{
         "ad_break_id":"0000229834",
         "position":-1,
         "duration":14.974977777,
         "slate":true
      },...
   },
   "ad_breaks":{
      "0000229834":{
         "type":"mid",
         "duration":15.01,
         "expected_duration":29.984977776999997,
         "ads":1
      },....
   }
}

3. ID3 इवेंट सुनें और प्लेबैक इवेंट ट्रैक करें

यह पुष्टि करने के लिए कि वीडियो स्ट्रीम में कोई खास इवेंट हुआ है, इन निर्देशों का पालन करें ID3 इवेंट को मैनेज करने के चरण:

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

अनुरोध के मुख्य हिस्से का उदाहरण

https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/

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

Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict

स्ट्रीम गतिविधि में जाकर, ट्रैकिंग इवेंट की पुष्टि की जा सकती है मॉनिटर.

4. लाइव स्ट्रीम सेशन के पैरामीटर अपडेट करना

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

अनुरोध के मुख्य हिस्से का उदाहरण

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

जवाब के मुख्य हिस्से का उदाहरण

Successful response would be to look for - HTTP/1.1 200

सीमाएं

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

  • UserAgent: उपयोगकर्ता एजेंट पैरामीटर को ब्राउज़र के हिसाब से वैल्यू के तौर पर पास किया जाता है पर निर्भर करता है.
  • rdid idtype, is_lat: डिवाइस आईडी ठीक से पास नहीं हुआ है. इसकी वजह से, ये सुविधाएं उपलब्ध हैं:
    • फ़्रीक्वेंसी कैपिंग
    • क्रम में चलने वाला विज्ञापन रोटेशन
    • ऑडियंस सेगमेंटेशन और टारगेटिंग

सबसे सही तरीके

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

अन्य संसाधन