डाइनैमिक ऐड इंसर्शन एपीआई की मदद से, डीएआई वाली मांग पर दिखाए जाने वाले वीडियो (वीओडी) स्ट्रीम का अनुरोध किया जा सकता है और उन्हें ट्रैक किया जा सकता है. एचएलएस और DASH स्ट्रीम काम करती हैं.
सेवा: dai.google.com
stream
तरीके का पाथ, https://dai.google.com
से जुड़ा है
तरीका: स्ट्रीम
तरीके | |
---|---|
stream |
POST /ondemand/v1/hls/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 |
वैकल्पिक | सर्वर-साइड-बीकनिंग स्ट्रीम बनाने के लिए, इसे |
DFP टारगेटिंग पैरामीटर | वैकल्पिक | टारगेटिंग के अन्य पैरामीटर. |
स्ट्रीम पैरामीटर बदलना | वैकल्पिक | स्ट्रीम बनाने के पैरामीटर की डिफ़ॉल्ट वैल्यू बदलें. |
एचएमएसी (HMAC) की मदद से पुष्टि करना | वैकल्पिक | HMAC पर आधारित टोकन का इस्तेमाल करके पुष्टि करें. |
जवाब का मुख्य भाग
अगर एपीआई सही से जुड़ जाता है, तो जवाब के मुख्य हिस्से में एक नया
Stream
शामिल होता है. सर्वर-साइड-बीकनिंग स्ट्रीम के लिए, इस Stream
में सिर्फ़ stream_id
और stream_manifest
फ़ील्ड होते हैं.
Open Measurement
Verifications
फ़ील्ड में, सर्वर-साइड-बीकनिंग स्ट्रीम के लिए, Open Measurement की पुष्टि से जुड़ी जानकारी होती है.
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
अगर इस समय कोई दूसरा अनुरोध पहले से ही पिंग भेज रहा है.
विज्ञापन मीडिया आईडी (एचएलएस)
विज्ञापन मीडिया आइडेंटिफ़ायर को TXXX
कुंजी का इस्तेमाल करके, एचएलएस टाइम मेटाडेटा में एन्कोड किया जाएगा. यह कुंजी, "उपयोगकर्ता की तय की गई टेक्स्ट जानकारी" फ़्रेम के लिए रिज़र्व है. फ़्रेम का कॉन्टेंट, एन्क्रिप्ट (सुरक्षित) नहीं किया जाएगा और हमेशा टेक्स्ट "google_"
से शुरू होगा.
विज्ञापन की पुष्टि के हर अनुरोध के लिए, फ़्रेम के पूरे टेक्स्ट कॉन्टेंट को media_verification_url में जोड़ना चाहिए.
विज्ञापन मीडिया आईडी (DASH)
विज्ञापन मीडिया आइडेंटिफ़ायर, DASH के EventStream
एलिमेंट का इस्तेमाल करके मेनिफ़ेस्ट में डाले जाएंगे.
हर EventStream
में urn:google:dai:2018
का स्कीम आईडी यूआरआई होगा.
इनमें ऐसे इवेंट शामिल होंगे जिनमें messageData
एट्रिब्यूट के साथ “google_”
से शुरू होने वाला विज्ञापन मीडिया आईडी मौजूद होगा. विज्ञापन की पुष्टि करने के हर अनुरोध के लिए, messageData
एट्रिब्यूट का पूरा कॉन्टेंट, media_verification_url में जोड़ना चाहिए.
रिस्पॉन्स डेटा
स्ट्रीम
स्ट्रीम का इस्तेमाल, JSON फ़ॉर्मैट में बनाई गई नई स्ट्रीम के सभी संसाधनों की सूची को रेंडर करने के लिए किया जाता है .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 (अब काम नहीं करता) एचएलएस की मुख्य प्लेलिस्ट का यूआरएल. stream_manifest का इस्तेमाल करें. सिर्फ़ एचएलएस. |
stream_manifest |
string स्ट्रीम का मेनिफ़ेस्ट. यह एचएलएस में मौजूद मुख्य प्लेलिस्ट और DASH में मौजूद एमपीडी से मेल खाता है. सर्वर-साइड-बीकनिंग स्ट्रीम बनाते समय, "stream_id" के अलावा यह एकमात्र फ़ील्ड होता है जो रिस्पॉन्स में मौजूद होता है. |
media_verification_url |
string मीडिया की पुष्टि करने वाला यूआरएल. |
apple_tv |
object(AppleTV) AppleTV डिवाइसों के लिए वैकल्पिक जानकारी. सिर्फ़ एचएलएस. |
ad_breaks |
[object(AdBreak)] विज्ञापन के लिए ब्रेक की सूची. अगर यह खाली है, तो इसे शामिल नहीं किया जाता. |
AppleTV
AppleTV में, Apple TV डिवाइसों से जुड़ी खास जानकारी होती है.JSON के काेड में दिखाना |
---|
{ "interstitials_url": string, } |
फ़ील्ड | |
---|---|
interstitials_url |
string इंटरस्टीशियल यूआरएल. |
AdBreak
AdBreak, स्ट्रीम में विज्ञापन के लिए होने वाले एक ब्रेक के बारे में बताता है. इसमें विज्ञापन की पोज़िशन, अवधि, टाइप (मिड/प्री/पोस्ट) और विज्ञापनों की सूची शामिल होती है.JSON के काेड में दिखाना |
---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
फ़ील्ड | |
---|---|
type |
string ब्रेक के ये टाइप मान्य हैं: बीच में, पहले, और बाद में. |
start |
number स्ट्रीम में ब्रेक शुरू होने की पोज़िशन, सेकंड में. |
duration |
number विज्ञापन के लिए ब्रेक की अवधि, सेकंड में. |
ads |
[object(Ad)] विज्ञापनों की सूची. अगर यह खाली है, तो इसे शामिल नहीं किया जाता. |
विज्ञापन
विज्ञापन से पता चलता है कि स्ट्रीम में कौनसा विज्ञापन दिखाया गया है. इसमें ब्रेक में विज्ञापन की पोज़िशन, विज्ञापन की अवधि, और कुछ वैकल्पिक मेटाडेटा शामिल होता है.JSON के काेड में दिखाना |
---|
{ "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), "skip_metadata": object(SkipMetadata), "extensions": [], } |
फ़ील्ड | |
---|---|
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) वैकल्पिक इंटरैक्टिव क्रिएटिव (SIMID), जिसे विज्ञापन चलाने के दौरान दिखाया जाना चाहिए. |
skip_metadata |
object(SkipMetadata) स्किप किए जा सकने वाले विज्ञापनों के लिए वैकल्पिक मेटाडेटा. अगर यह टैग सेट है, तो इसका मतलब है कि विज्ञापन को स्किप किया जा सकता है. साथ ही, इसमें स्किप करने के यूज़र इंटरफ़ेस (यूआई) और ट्रैकिंग इवेंट को मैनेज करने के तरीके के बारे में निर्देश भी शामिल होते हैं. |
extensions |
string VAST में मौजूद सभी <Extension> नोड की वैकल्पिक सूची. |
इवेंट
इवेंट में, इवेंट का टाइप और प्रज़ेंटेशन का समय शामिल होता है.JSON के काेड में दिखाना |
---|
{ "time": number, "type": string, } |
फ़ील्ड | |
---|---|
time |
number इस इवेंट के प्रज़ेंटेशन का समय. |
type |
string इस इवेंट का टाइप. |
सबटाइटल
सबटाइटल, वीडियो स्ट्रीम के लिए साइडकार सबटाइटल ट्रैक के बारे में बताता है. इसमें दो तरह के सबटाइटल फ़ॉर्मैट सेव किए जाते हैं: TTML और WebVTT. TTMLPath एट्रिब्यूट में TTML साइडकार फ़ाइल का यूआरएल होता है. इसी तरह, WebVTTPath एट्रिब्यूट में WebVTT साइडकार फ़ाइल का यूआरएल होता है.JSON के काेड में दिखाना |
---|
{ "language": string, "language_name": string, "ttml": string, "webvtt": string, } |
फ़ील्ड | |
---|---|
language |
string भाषा का कोड, जैसे कि 'en' या 'de'. |
language_name |
string भाषा का ब्यौरा देने वाला नाम. अगर एक ही भाषा के लिए कई सबटाइटल सेट मौजूद हैं, तो यह सबटाइटल के खास सेट के बीच अंतर करता है |
ttml |
string TTML साइडकार फ़ाइल का यूआरएल. यह यूआरएल डालना ज़रूरी नहीं है. |
webvtt |
string WebVTT साइडकार फ़ाइल का यूआरएल. यह यूआरएल डालना ज़रूरी नहीं है. |
SkipMetadata
SkipMetadata, स्किप किए जा सकने वाले विज्ञापनों के लिए स्किप इवेंट को मैनेज करने के लिए, क्लाइंट को ज़रूरी जानकारी देता है.JSON के काेड में दिखाना |
---|
{ "offset": number, "tracking_url": string, } |
फ़ील्ड | |
---|---|
offset |
number ऑफ़सेट से पता चलता है कि विज्ञापन में कितने सेकंड बाद, प्लेयर को स्किप बटन रेंडर करने के लिए इंतज़ार करना चाहिए. अगर VAST में यह एट्रिब्यूट नहीं दिया गया है, तो इसे हटा दिया जाएगा. |
tracking_url |
string TrackingURL में एक यूआरएल होता है, जिसे स्किप इवेंट पर पिंग किया जाना चाहिए. |
आइकॉन
आइकॉन में, VAST आइकॉन के बारे में जानकारी होती है.JSON के काेड में दिखाना |
---|
{ "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 में, आइकॉन पर क्लिक होने की जानकारी होती है.JSON के काेड में दिखाना |
---|
{ "url": string, } |
फ़ील्ड | |
---|---|
url |
string |
FallbackImage
FallbackImage में, VAST फ़ॉलबैक इमेज की जानकारी होती है.JSON के काेड में दिखाना |
---|
{ "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
रैपर में, रैपर विज्ञापन के बारे में जानकारी होती है. अगर डील आईडी मौजूद नहीं है, तो इसमें डील आईडी शामिल नहीं किया जाता.JSON के काेड में दिखाना |
---|
{ "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 रैपर विज्ञापन के लिए डील आईडी. हालांकि, यह ज़रूरी नहीं है. |
पुष्टि करने का तरीका
पुष्टि करने की प्रोसेस में, Open Measurement की जानकारी शामिल होती है. इससे तीसरे पक्ष के विज्ञापन दिखने की जानकारी और पुष्टि करने की प्रोसेस को मेज़र करने में मदद मिलती है. फ़िलहाल, सिर्फ़ JavaScript संसाधन काम करते हैं. https://iabtechlab.com/standards/open-measurement-sdk/ पर जाएंJSON के काेड में दिखाना |
---|
{ "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 की मदद से पुष्टि करने के लिए जानकारी होती है.JSON के काेड में दिखाना |
---|
{ "script_url": string, "api_framework": string, "browser_optional": boolean, } |
फ़ील्ड | |
---|---|
script_url |
string JavaScript पेलोड का यूआरआई. |
api_framework |
string पुष्टि करने के लिए कोड का इस्तेमाल करने वाले वीडियो फ़्रेमवर्क का नाम, APIFramework है. |
browser_optional |
boolean क्या इस स्क्रिप्ट को ब्राउज़र के बाहर चलाया जा सकता है. |
TrackingEvent
TrackingEvent में ऐसे यूआरएल होते हैं जिन्हें कुछ स्थितियों में क्लाइंट को पिंग करना चाहिए.JSON के काेड में दिखाना |
---|
{ "event": string, "uri": string, } |
फ़ील्ड | |
---|---|
event |
string ट्रैकिंग इवेंट का टाइप. |
uri |
string वह ट्रैकिंग इवेंट जिसे पिंग करना है. |
UniversalAdID
UniversalAdID का इस्तेमाल, एक यूनीक क्रिएटिव आइडेंटिफ़ायर देने के लिए किया जाता है. इसे सभी विज्ञापन सिस्टम में मैनेज किया जाता है.JSON के काेड में दिखाना |
---|
{ "id_value": string, "id_registry": string, } |
फ़ील्ड | |
---|---|
id_value |
string विज्ञापन के लिए चुने गए क्रिएटिव का यूनिवर्सल विज्ञापन आईडी. |
id_registry |
string यह एक स्ट्रिंग है, जिसका इस्तेमाल रजिस्ट्री वेबसाइट के यूआरएल की पहचान करने के लिए किया जाता है. इस वेबसाइट पर, चुने गए क्रिएटिव का यूनिवर्सल विज्ञापन आईडी कैटलॉग किया जाता है. |
Companion
साथी विज्ञापनों के लिए, साथी कुकी में जानकारी होती है. ये विज्ञापन, मुख्य विज्ञापन के साथ दिखाए जा सकते हैं.JSON के काेड में दिखाना |
---|
{ "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 अगर यह स्टैटिक टाइप का साथी है, तो VAST में <StaticResource> नोड पर CreativeType एट्रिब्यूट. |
height |
int32 इस कंपैनियन की ऊंचाई, पिक्सल में. |
width |
int32 इस कंपैनियन की चौड़ाई, पिक्सल में. |
resource |
string स्टैटिक और iframe के साथ काम करने वाले विज्ञापनों के लिए, यह वह यूआरएल होगा जिसे लोड और दिखाया जाएगा. एचटीएमएल कंपैनियन के लिए, यह वह एचटीएमएल स्निपेट होगा जिसे कंपैनियन के तौर पर दिखाया जाना चाहिए. |
type |
string इस कंपेनियन का टाइप. यह स्टैटिक, iframe या एचटीएमएल हो सकता है. |
ad_slot_id |
string इस साथी के लिए स्लॉट आईडी. |
api_framework |
string इस साथी ऐप्लिकेशन के लिए एपीआई फ़्रेमवर्क. |
tracking_events |
[object(TrackingEvent)] इस साथी डिवाइस के लिए ट्रैकिंग इवेंट की सूची. |
InteractiveFile
InteractiveFile में इंटरैक्टिव क्रिएटिव (जैसे, SIMID) की जानकारी होती है, जिसे विज्ञापन चलाने के दौरान दिखाया जाना चाहिए.JSON के काेड में दिखाना |
---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
फ़ील्ड | |
---|---|
resource |
string इंटरैक्टिव क्रिएटिव का यूआरएल. |
type |
string संसाधन के तौर पर दी गई फ़ाइल का MIME टाइप. |
variable_duration |
boolean क्या इस क्रिएटिव में, विज्ञापन की अवधि बढ़ाने का अनुरोध किया जा सकता है. |
ad_parameters |
string VAST में <AdParameters> नोड की वैल्यू. |