डाइनैमिक ऐड इंसर्शन वीओडी एपीआई

डाइनैमिक ऐड इंसर्शन एपीआई की मदद से, डीएआई मांग पर वीडियो (वीओडी) स्ट्रीम का अनुरोध और उन्हें ट्रैक किया जा सकता है. HLS और DASH स्ट्रीम इस्तेमाल की जा सकती हैं.

सेवा: dai.google.com

stream तरीके का पाथ, https://dai.google.com से मिलता-जुलता है

तरीका: स्ट्रीम

तरीके
stream POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

दिए गए कॉन्टेंट सोर्स और वीडियो आईडी के लिए, HLS डीएआई स्ट्रीम बनाता है.

POST /ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

दिए गए कॉन्टेंट सोर्स और वीडियो आईडी के लिए, DASH डीएआई स्ट्रीम बनाता है.

एचटीटीपी अनुरोध

POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

अनुरोध का हेडर

पैरामीटर
api‑key string

स्ट्रीम बनाते समय दी गई एपीआई पासकोड, पब्लिशर के नेटवर्क के लिए मान्य होना चाहिए.

अनुरोध के मुख्य हिस्से में इसे देने के बजाय, एपीआई पासकोड को इस फ़ॉर्मैट में, एचटीटीपी ऑथराइज़ेशन हेडर में पास किया जा सकता है:

Authorization: DCLKDAI key="<api-key>"

पाथ के पैरामीटर

पैरामीटर
content-source string

स्ट्रीम का कॉन्टेंट मैनेजमेंट सिस्टम आईडी.

video-id string

स्ट्रीम का वीडियो आईडी.

अनुरोध का मुख्य भाग

अनुरोध का मुख्य हिस्सा application/x-www-form-urlencoded का है और इसमें नीचे दिए गए पैरामीटर शामिल हैं:

पैरामीटर
dai-ssb ज़रूरी नहीं

सर्वर-साइड-बीकनिंग स्ट्रीम बनाने के लिए, true पर सेट करें. डिफ़ॉल्ट तौर पर, यह वैल्यू false होती है. डिफ़ॉल्ट स्ट्रीम की ट्रैकिंग, क्लाइंट की ओर से शुरू की जाती है और सर्वर साइड पर पिंग की जाती है.

GDN टारगेटिंग पैरामीटर ज़रूरी नहीं टारगेटिंग के अन्य पैरामीटर.
स्ट्रीम के पैरामीटर बदलना ज़रूरी नहीं स्ट्रीम बनाने वाले पैरामीटर की डिफ़ॉल्ट वैल्यू बदलें.
एचएमएसी से पुष्टि करना ज़रूरी नहीं एचएमएसी पर आधारित टोकन का इस्तेमाल करके पुष्टि करें.

जवाब का मुख्य भाग

कामयाब रहने पर, जवाब के मुख्य हिस्से में एक नया Stream शामिल किया जाता है. सर्वर-साइड-बीकनिंग स्ट्रीम के लिए, इस Stream में सिर्फ़ stream_id और stream_manifest फ़ील्ड शामिल हैं.

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

Verifications फ़ील्ड में, नॉन-सर्वर-साइड-बीकनिंग स्ट्रीम के लिए ओपन मेज़रमेंट पुष्टि की जानकारी होती है. Verifications में एक या ज़्यादा Verification एलिमेंट होते हैं. इनमें उन संसाधनों और मेटाडेटा की सूची होती है जो तीसरे पक्ष के मेज़रमेंट कोड की मदद से, क्रिएटिव प्लेबैक की पुष्टि करने के लिए ज़रूरी होते हैं. वैल्यू के तौर पर, सिर्फ़ JavaScriptResource को इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, कृपया IAB Tech Lab और VAST 4.1 की खास जानकारी देखें.

तरीका: मीडिया की पुष्टि करना

वीडियो चलाने के दौरान विज्ञापन मीडिया आइडेंटिफ़ायर मिलने पर, stream एंडपॉइंट से media_verification_url का इस्तेमाल करके तुरंत अनुरोध करें. media_verification_url एक ऐब्सलूट पाथ है. मीडिया की पुष्टि के अनुरोध सर्वर-साइड-बीकनिंग स्ट्रीम के लिए ज़रूरी नहीं हैं, जहां सर्वर मीडिया की पुष्टि शुरू करता है.

media verification एंडपॉइंट के अनुरोध बिना किसी पहचान के होते हैं.

तरीके
media verification GET {media_verification_url}/{ad_media_id}

मीडिया की पुष्टि करने वाले इवेंट के एपीआई को सूचना देता है.

एचटीटीपी अनुरोध

GET {media-verification-url}/{ad-media-id}

जवाब का मुख्य भाग

media verification इन जवाबों को दिखाता है:

  • HTTP/1.1 204 No Content, अगर मीडिया की पुष्टि हो जाती है और सभी पिंग भेजे जाते हैं.
  • HTTP/1.1 404 Not Found, अगर यूआरएल की गलत फ़ॉर्मैटिंग या समयसीमा खत्म होने की वजह से, अनुरोध किया गया मीडिया की पुष्टि नहीं हो सकी.
  • HTTP/1.1 404 Not Found, अगर इस आईडी के लिए पुष्टि करने का पिछला अनुरोध पूरा हो गया था.
  • अगर कोई दूसरा अनुरोध पहले से ही इस समय पिंग भेज रहा है, तो HTTP/1.1 409 Conflict.

विज्ञापन मीडिया आईडी (HLS)

विज्ञापन मीडिया आइडेंटिफ़ायर को HLS टाइम्ड मेटाडेटा में कोड में बदलने के लिए, TXXX कुंजी का इस्तेमाल किया जाएगा. यह कुंजी, "उपयोगकर्ता की तय की गई टेक्स्ट की जानकारी" वाले फ़्रेम के लिए सुरक्षित होती है. फ़्रेम का कॉन्टेंट एन्क्रिप्ट नहीं किया जाएगा और इसकी शुरुआत हमेशा "google_" टेक्स्ट से होगी.

विज्ञापन की पुष्टि के हर अनुरोध के लिए, फ़्रेम का पूरा टेक्स्ट कॉन्टेंट media_verification_url में जोड़ा जाना चाहिए.

विज्ञापन मीडिया आईडी (DASH)

विज्ञापन मीडिया आइडेंटिफ़ायर को DASH के EventStream एलिमेंट का इस्तेमाल करके मेनिफ़ेस्ट में डाला जाएगा.

हर EventStream का स्कीम आईडी यूआरआई, urn:google:dai:2018 होगा. इनमें messageData एट्रिब्यूट वाले इवेंट शामिल होंगे, जिनमें “google_” से शुरू होने वाला विज्ञापन मीडिया आईडी होगा. विज्ञापन की पुष्टि के हर अनुरोध के लिए, messageData एट्रिब्यूट का पूरा कॉन्टेंट media_verification_url में जोड़ा जाना चाहिए.

जवाब का डेटा

स्ट्रीम

स्ट्रीम का इस्तेमाल, JSON फ़ॉर्मैट में बनाई गई नई स्ट्रीम के लिए सभी संसाधनों की सूची को रेंडर करने के लिए किया जाता है .
जेएसओएन के काेड में दिखाना
{
  "stream_id": string,
  "total_duration": number,
  "content_duration": number,
  "valid_for": string,
  "valid_until": string,
  "subtitles": [object(Subtitle)],
  "hls_master_playlist": string,
  "stream_manifest": string,
  "media_verification_url": string,
  "apple_tv": object(AppleTV),
  "ad_breaks": [object(AdBreak)],
}
फ़ील्ड
stream_id string

स्ट्रीम आइडेंटिफ़ायर.
total_duration number

स्ट्रीम की अवधि सेकंड में.
content_duration number

बिना विज्ञापन वाले कॉन्टेंट का कुल समय, सेकंड में.
valid_for string

अवधि स्ट्रीम "00h00m00s" फ़ॉर्मैट में मान्य है.
valid_until string

वह तारीख जब तक स्ट्रीम आरएफ़सी 3339 फ़ॉर्मैट में मान्य है.
subtitles [object(Subtitle)]

सबटाइटल की सूची. खाली होने पर हटा दिया जाएगा. यह सिर्फ़ HLS के लिए है.
hls_master_playlist string

(रोका गया) HLS मास्टर प्लेलिस्ट का यूआरएल. Stream_manifest का इस्तेमाल करें. यह सिर्फ़ HLS के लिए है.
stream_manifest string

स्ट्रीम का मेनिफ़ेस्ट. HLS की मास्टर प्लेलिस्ट और डैश में एमपीडी से मेल खाता है. "stream_id" के अलावा, सिर्फ़ यही फ़ील्ड है, जो सर्वर-साइड-बीकनिंग स्ट्रीम बनाते समय रिस्पॉन्स में मौजूद होता है.
media_verification_url string

मीडिया की पुष्टि करने वाला यूआरएल.
apple_tv object(AppleTV)

AppleTV डिवाइसों के लिए खास जानकारी. हालांकि, यह जानकारी देना ज़रूरी नहीं है. यह सिर्फ़ HLS के लिए है.
ad_breaks [object(AdBreak)]

Adब्रेक की सूची. खाली होने पर, इसे हटा दिया जाएगा.

AppleTV

AppleTV में, Apple TV डिवाइसों के बारे में खास जानकारी होती है.
जेएसओएन के काेड में दिखाना
{
  "interstitials_url": string,
}
फ़ील्ड
interstitials_url string

पेज पर अचानक दिखने वाले विज्ञापनों का यूआरएल.

AdBreak

Adब्रेक, स्ट्रीम में दिखाए जाने वाले किसी एक विज्ञापन के लिए ब्रेक की जानकारी देता है. इसमें क्रम, कुल समय, टाइप (बीच/पहले/पोस्ट) और विज्ञापनों की सूची शामिल होती है.
जेएसओएन के काेड में दिखाना
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
फ़ील्ड
type string

मान्य ब्रेक टाइप हैं: मिड, प्री, और पोस्ट.
start number

स्ट्रीम में ब्रेक शुरू होने की जगह (सेकंड में).
duration number

विज्ञापन के लिए ब्रेक की अवधि (सेकंड में).
ads [object(Ad)]

विज्ञापनों की सूची. खाली होने पर, इसे हटा दिया जाएगा.
विज्ञापन, स्ट्रीम में मौजूद विज्ञापन की जानकारी देता है. इसमें ब्रेक में विज्ञापन की स्थिति, विज्ञापन की अवधि, और कुछ वैकल्पिक मेटाडेटा शामिल होता है.
जेएसओएन के काेड में दिखाना
{
  "seq": number,
  "start": number,
  "duration": number,
  "title": string,
  "description": string,
  "advertiser": string,
  "ad_system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
  "clickthrough_url": string,
  "icons": [object(Icon)],
  "wrappers": [object(Wrapper)],
  "events": [object(Event)],
  "verifications": [object(Verification)],
  "universal_ad_id": object(UniversalAdID),
  "companions": [object(Companion)],
  "interactive_file": object(InteractiveFile),
}
फ़ील्ड
seq number

ब्रेक में विज्ञापन की जगह.
start number

स्ट्रीम में विज्ञापन की पोज़िशन, कुछ सेकंड में.
duration number

विज्ञापन चलने का कुल समय (सेकंड में).
title string

विज्ञापन का टाइटल देना ज़रूरी नहीं है.
description string

विज्ञापन का ब्यौरा देना ज़रूरी नहीं है.
advertiser string

विज्ञापन देने वाले का आइडेंटिफ़ायर होना ज़रूरी नहीं है.
ad_system string

विज्ञापन सिस्टम का इस्तेमाल करना ज़रूरी नहीं है.
ad_id string

विज्ञापन आईडी ज़रूरी नहीं है.
creative_id string

क्रिएटिव आईडी ज़रूरी नहीं है.
creative_ad_id string

क्रिएटिव विज्ञापन का आईडी ज़रूरी नहीं है.
deal_id string

डील का आईडी ज़रूरी नहीं है.
clickthrough_url string

क्लिक मिलने वाला यूआरएल (सीटीआर) ज़रूरी नहीं है.
icons [object(Icon)]

आइकॉन की सूची, जिसे खाली होने पर हटा दिया जाता है.
wrappers [object(Wrapper)]

रैपर की सूची. खाली होने पर, इसे हटा दिया जाएगा.
events [object(Event)]

विज्ञापन में मौजूद इवेंट की सूची.
verifications [object(Verification)]

ओपन मेज़रमेंट की पुष्टि से जुड़ी ऐसी वैकल्पिक जानकारी जिनमें तीसरे पक्ष के मेज़रमेंट कोड को लागू करने के लिए ज़रूरी संसाधनों और मेटाडेटा की सूची होती है. इसकी मदद से, क्रिएटिव प्लेबैक की पुष्टि की जाती है.
universal_ad_id object(UniversalAdID)

यूनिवर्सल विज्ञापन आईडी देना ज़रूरी नहीं है.
companions [object(Companion)]

इस विज्ञापन के साथ दिखाए जाने वाले वैकल्पिक कंपैनियन.
interactive_file object(InteractiveFile)

वैकल्पिक इंटरैक्टिव क्रिएटिव (सिमआईडी) जिसे विज्ञापन चलाने के दौरान दिखाया जाना चाहिए.

इवेंट

इवेंट में इवेंट का टाइप और उसके प्रज़ेंटेशन का समय शामिल होता है.
जेएसओएन के काेड में दिखाना
{
  "time": number,
  "type": string,
}
फ़ील्ड
time number

इस इवेंट को प्रज़ेंटेशन का समय.
type string

इस इवेंट का टाइप.

सबटाइटल

सबटाइटल से वीडियो स्ट्रीम के साइडकार के सबटाइटल ट्रैक की जानकारी मिलती है. इसमें दो सबटाइटल फ़ॉर्मैट सेव किए जाते हैं: TTML और WebVTT. TTMLPath एट्रिब्यूट में, TTML साइडकार फ़ाइल का यूआरएल होता है और WebVTTPath एट्रिब्यूट में, इसी तरह WebVTT साइडकार फ़ाइल का यूआरएल शामिल होता है.
जेएसओएन के काेड में दिखाना
{
  "language": string,
  "language_name": string,
  "ttml": string,
  "webvtt": string,
}
फ़ील्ड
language string

भाषा कोड, जैसे कि 'en' या 'de'.
language_name string

भाषा का पूरा नाम. अगर एक ही भाषा के लिए कई सेट मौजूद हैं, तो यह सबटाइटल के खास सेट में अंतर करता है
ttml string

TTML की साइडकार फ़ाइल का यूआरएल.
webvtt string

WebVTT साइडकार फ़ाइल का वैकल्पिक यूआरएल.

आइकॉन

आइकॉन में किसी VAST आइकॉन के बारे में जानकारी होती है.
जेएसओएन के काेड में दिखाना
{
  "click_data": object(ClickData),
  "creative_type": string,
  "click_fallback_images": [object(FallbackImage)],
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
  "x_position": string,
  "y_position": string,
  "program": string,
  "alt_text": string,
}
फ़ील्ड
click_data object(ClickData)

creative_type string

click_fallback_images [object(FallbackImage)]

height int32

width int32

resource string

type string

x_position string

y_position string

program string

alt_text string

ClickData

ClickData में आइकॉन क्लिकथ्रू के बारे में जानकारी शामिल होती है.
जेएसओएन के काेड में दिखाना
{
  "url": string,
}
फ़ील्ड
url string

FallbackImage

फ़ॉलबैक इमेज में किसी VAST फ़ॉलबैक इमेज के बारे में जानकारी होती है.
जेएसओएन के काेड में दिखाना
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
फ़ील्ड
creative_type string

height int32

width int32

resource string

alt_text string

रैपर

रैपर में रैपर विज्ञापन के बारे में जानकारी होती है. मौजूद न होने पर, इसमें डील आईडी शामिल नहीं होता है.
जेएसओएन के काेड में दिखाना
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
फ़ील्ड
system string

विज्ञापन सिस्टम आइडेंटिफ़ायर.
ad_id string

रैपर विज्ञापन के लिए इस्तेमाल किया जाने वाला विज्ञापन आईडी.
creative_id string

रैपर विज्ञापन के लिए इस्तेमाल किया जाने वाला क्रिएटिव आईडी.
creative_ad_id string

रैपर विज्ञापन के लिए इस्तेमाल किया जाने वाला क्रिएटिव विज्ञापन आईडी.
deal_id string

रैपर विज्ञापन के लिए डील का आईडी ज़रूरी नहीं है.

पुष्टि करने का तरीका

पुष्टि में, ओपन मेज़रमेंट की जानकारी होती है. इससे तीसरे पक्ष के विज्ञापन दिखने से जुड़े आंकड़े और पुष्टि के मेज़रमेंट की सुविधा मिलती है. फ़िलहाल, सिर्फ़ JavaScript संसाधन ही काम करते हैं. https://iabtechlab.com/standards/open-measurement-sdk/
जेएसओएन के काेड में दिखाना
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
फ़ील्ड
vendor string

पुष्टि करने वाला वेंडर.
java_script_resources [object(JavaScriptResource)]

पुष्टि के लिए JavaScript के संसाधनों की सूची.
tracking_events [object(TrackingEvent)]

पुष्टि के लिए ट्रैकिंग इवेंट की सूची.
parameters string

बूटस्ट्रैप पुष्टि कोड को पास की गई ओपेक स्ट्रिंग.

JavaScriptResource

JavaScriptResource में JavaScript के ज़रिए पुष्टि करने की जानकारी शामिल है.
जेएसओएन के काेड में दिखाना
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
फ़ील्ड
script_url string

JavaScript पेलोड में यूआरआई.
api_framework string

APIFramework उस वीडियो फ़्रेमवर्क का नाम है जिसमें पुष्टि करने के कोड का इस्तेमाल किया जाता है.
browser_optional boolean

इस स्क्रिप्ट को ब्राउज़र के बाहर चलाया जा सकता है या नहीं.

TrackingEvent

ट्रैकिंग इवेंट में ऐसे यूआरएल शामिल हैं जिन्हें कुछ खास स्थितियों में क्लाइंट को पिंग करना चाहिए.
जेएसओएन के काेड में दिखाना
{
  "event": string,
  "uri": string,
}
फ़ील्ड
event string

ट्रैकिंग इवेंट का टाइप, फ़िलहाल सिर्फ़ "verificationNotExecuted" है, जैसा कि VAST 4.1 स्पेसिफ़िकेशन में बताया गया है.
uri string

पिंग किया जाने वाला ट्रैकिंग इवेंट.

UniversalAdID

UniversalAdID का इस्तेमाल एक यूनीक क्रिएटिव आइडेंटिफ़ायर देने के लिए किया जाता है. इसे कई विज्ञापन सिस्टम में मैनेज किया जाता है.
जेएसओएन के काेड में दिखाना
{
  "id_value": string,
  "id_registry": string,
}
फ़ील्ड
id_value string

विज्ञापन के लिए चुने गए क्रिएटिव का यूनिवर्सल विज्ञापन आईडी.
id_registry string

इस स्ट्रिंग का इस्तेमाल उस रजिस्ट्री वेबसाइट के यूआरएल की पहचान करने के लिए किया जाता है जहां चुने गए क्रिएटिव के यूनिवर्सल विज्ञापन आईडी को कैटलॉग किया जाता है.

सहयोगी

कंपैनियन मोड में, विज्ञापन के साथ दिखाए जाने वाले विज्ञापन के साथ दिखने वाले विज्ञापनों की जानकारी होती है.
जेएसओएन के काेड में दिखाना
{
  "click_data": object(ClickData),
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
}
फ़ील्ड
click_data object(ClickData)

इस कंपैनियन के लिए क्लिक डेटा.
creative_type string

अगर यह स्टैटिक टाइप का कंपैनियन है, तो VAST में <StaticResource> नोड पर CreativeType एट्रिब्यूट.
height int32

इस कंपैनियन की पिक्सल में ऊंचाई.
width int32

इस कंपैनियन मोड की चौड़ाई, पिक्सल में.
resource string

स्टैटिक और iframe कंपैनियन के लिए, यह यूआरएल लोड होगा और दिखाया जाएगा. एचटीएमएल कंपैनियन के लिए, यह एचटीएमएल स्निपेट होगा जिसे कंपैनियन के तौर पर दिखाया जाना चाहिए.
type string

इस कंपैनियन का टाइप. यह स्टैटिक, iframe या एचटीएमएल हो सकता है.

InteractiveFile

InteractiveFile में इंटरैक्टिव क्रिएटिव (जैसे कि सिमआईडी) की जानकारी होती है, जो विज्ञापन चलाने के दौरान दिखाई जानी चाहिए.
जेएसओएन के काेड में दिखाना
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
फ़ील्ड
resource string

इंटरैक्टिव क्रिएटिव का यूआरएल.
type string

संसाधन के तौर पर दी गई फ़ाइल का MIME टाइप.
variable_duration boolean

क्या यह क्रिएटिव, अवधि बढ़ाने की मांग कर सकता है.
ad_parameters string

VAS में <Adparameters> नोड की वैल्यू.