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

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

सेवा: dai.google.com

stream तरीके का पाथ, https://dai.google.com के हिसाब से है

तरीका: Stream

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

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

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

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

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

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 पर सेट होती है. डिफ़ॉल्ट स्ट्रीम की ट्रैकिंग, क्लाइंट की ओर से शुरू की गई होती है और सर्वर साइड पर पिंग की जाती है.

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

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

कामयाब होने पर, जवाब के मुख्य हिस्से में एक नया 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)

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

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

विज्ञापन मीडिया आईडी (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_master_playlist string

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

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

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

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

AdBreak की सूची. खाली होने पर, इसे शामिल नहीं किया जाता.

AppleTV

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

अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापनों का यूआरएल.

AdBreak

AdBreak, स्ट्रीम में विज्ञापन के लिए एक ब्रेक की जानकारी देता है. इसमें एक स्थिति, एक अवधि, एक प्रकार (मध्य/पूर्व/पोस्ट) और विज्ञापनों की एक सूची होती है.
जेएसओएन के काेड में दिखाना
{
  "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

टीटीएमएल साइडकार फ़ाइल का यूआरएल ज़रूरी नहीं है.
webvtt string

WebVTT साइडकार फ़ाइल का यूआरएल ज़रूरी नहीं है.

आइकॉन

आइकॉन में वीएएसटी (वीडियो विज्ञापन देने के लिए टेंप्लेट) आइकॉन के बारे में जानकारी होती है.
जेएसओएन के काेड में दिखाना
{
  "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

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

height int32

width int32

resource string

alt_text string

Wrapper

रैपर में किसी रैपर विज्ञापन की जानकारी होती है. अगर कोई डील आईडी मौजूद नहीं है, तो इसमें डील आईडी शामिल नहीं होता.
जेएसओएन के काेड में दिखाना
{
  "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

ट्रैकिंग इवेंट का टाइप.
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,
  "ad_slot_id": string,
  "api_framework": string,
  "tracking_events": [object(TrackingEvent)],
}
फ़ील्ड
click_data object(ClickData)

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

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

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

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

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

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

इस कंपैनियन के लिए स्लॉट आईडी.
api_framework string

इस कंपैनियन के लिए एपीआई फ़्रेमवर्क.
tracking_events [object(TrackingEvent)]

इस कंपैनियन के लिए ट्रैकिंग इवेंट की सूची.

InteractiveFile

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

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

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

इस क्रिएटिव को चालू करने की अवधि को बढ़ाने की मांग की जा सकती है या नहीं.
ad_parameters string

वीएएसटी में <AdParameters> नोड की वैल्यू.