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

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

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

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

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

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

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

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

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
डीएआई एपीआई से, अपडेट किए गए Adब्रेक मेटाडेटा के लिए अनुरोध करने पर, सेकंड में दिखाई जाने वाली फ़्रीक्वेंसी.

2. नए Adब्रेक मेटाडेटा के लिए पोल

मेटाडेटा यूआरएल का इस्तेमाल करके, पोलिंग फ़्रीक्वेंसी पर नए Adब्रेक मेटाडेटा के लिए पोल कराने के लिए टाइमर सेट करें. अगर स्ट्रीम के जवाब में इसकी जानकारी नहीं दी गई है, तो डिफ़ॉल्ट रूप से सुझाया गया इंटरवल डिफ़ॉल्ट रूप से 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 मि॰से॰मी॰ तक) हर बार अपडेट करने पर, इवेंट के टाइमस्टैंप की तुलना प्लेहेड से करें और हाल ही में खेले गए इवेंट के लिए मीडिया इवेंट सूची देखें.
  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: डिवाइस आईडी सही तरीके से पास नहीं हुआ है. इससे नीचे दी गई सुविधाएं सीमित हो जाती हैं:
    • फ़्रीक्वेंसी कैपिंग
    • क्रम में चलने वाला विज्ञापन रोटेशन
    • ऑडियंस सेगमेंटेशन और टारगेटिंग

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

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

अन्य संसाधन