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

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

सेवा: dai.google.com

सभी यूआरआई, https://dai.google.com से जुड़े हुए हैं

तरीका: stream

तरीके
stream POST /linear/v1/hls/event/{assetKey}/stream

यह फ़ंक्शन, दिए गए इवेंट आईडी के लिए DAI स्ट्रीम बनाता है.

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

POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream

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

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

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

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

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

पाथ पैरामीटर

पैरामीटर
assetKey string

स्ट्रीम का इवेंट आईडी.
ध्यान दें: स्ट्रीम ऐसेट की, एक आइडेंटिफ़ायर होता है. इसे Ad Manager के यूज़र इंटरफ़ेस (यूआई) में भी देखा जा सकता है.

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

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

पैरामीटर
dai-ssb वैकल्पिक

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

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

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

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

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

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

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

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

media verification एंडपॉइंट के अनुरोध, आइडेमपोटेंट होते हैं.

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

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

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

GET https://{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_" टेक्स्ट से शुरू होगा.

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

तरीका: मेटाडेटा

metadata_url पर मौजूद मेटाडेटा एंडपॉइंट, विज्ञापन यूज़र इंटरफ़ेस (यूआई) बनाने के लिए इस्तेमाल की गई जानकारी दिखाता है. मेटाडेटा एंडपॉइंट, सर्वर-साइड-बीकनिंग स्ट्रीम के लिए उपलब्ध नहीं है. इसमें विज्ञापन मीडिया की पुष्टि शुरू करने की ज़िम्मेदारी सर्वर की होती है.

तरीके
metadata GET /{metadata_url}/{ad-media-id}

GET /{metadata_url}

यह कुकी, विज्ञापन के मेटाडेटा की जानकारी वापस पाने के लिए इस्तेमाल की जाती है.

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

GET https://{metadata_url}/{ad-media-id}

GET https://{metadata_url}

क्वेरी पैरामीटर

पैरामीटर
delta_token वैकल्पिक string

यह एक ओपेक टोकन है. यह क्लाइंट के मौजूदा सिंक्रनाइज़ेशन की स्थिति को दिखाता है. अगर टोकन दिया जाता है, तो सर्वर सिर्फ़ वह मेटाडेटा दिखाता है जो टोकन जनरेट होने के बाद बदला गया है. साथ ही, जवाब में नया next_delta_token दिखाता है. अगर इसे शामिल नहीं किया जाता है, तो सर्वर डीवीआर की पूरी विंडो के लिए पूरा मेटाडेटा दिखाता है.

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

अनुरोध पूरा होने पर, जवाब में PodMetadata का एक इंस्टेंस दिखता है.

मेटाडेटा के साथ काम करना

मेटाडेटा में तीन अलग-अलग सेक्शन होते हैं: tags, ads, और विज्ञापन breaks. डेटा में एंट्री करने का पॉइंट, tags सेक्शन है. इसके बाद, टैग के ज़रिए दोहराएं और पहली ऐसी एंट्री ढूंढें जिसका नाम, वीडियो स्ट्रीम में मौजूद विज्ञापन मीडिया आईडी का प्रीफ़िक्स हो. उदाहरण के लिए, आपके पास ऐसा विज्ञापन मीडिया आईडी हो सकता है:

google_1234567890

इसके बाद, आपको google_12345 नाम का टैग ऑब्जेक्ट दिखेगा. इस मामले में, यह आपके विज्ञापन के मीडिया आईडी से मेल खाता है. सही विज्ञापन मीडिया प्रीफ़िक्स ऑब्जेक्ट ढूंढने के बाद, विज्ञापन आईडी, विज्ञापन ब्रेक आईडी, और इवेंट टाइप देखा जा सकता है. इसके बाद, विज्ञापन आईडी का इस्तेमाल ads ऑब्जेक्ट को इंडेक्स करने के लिए किया जाता है. साथ ही, विज्ञापन ब्रेक आईडी का इस्तेमाल breaks ऑब्जेक्ट को इंडेक्स करने के लिए किया जाता है.

जवाब का डेटा

स्ट्रीम

स्ट्रीम का इस्तेमाल, JSON फ़ॉर्मैट में नई बनाई गई स्ट्रीम के लिए संसाधनों की सूची को रेंडर करने के लिए किया जाता है.
JSON के काेड में दिखाना
{
  "stream_id": string,
  "stream_manifest": string,
  "hls_master_playlist": string,
  "media_verification_url": string,
  "metadata_url": string,
  "session_update_url": string,
  "polling_frequency": number,
}
फ़ील्ड
stream_id string

GAM स्ट्रीम आइडेंटिफ़ायर.
stream_manifest string

यह स्ट्रीम के मेनिफ़ेस्ट का यूआरएल है. इसका इस्तेमाल, एचएलएस में मल्टीवेरिएंट प्लेलिस्ट या डैश में एमपीडी को वापस पाने के लिए किया जाता है.
hls_master_playlist string

(DEPRECATED) HLS मल्टीवैरिएंट प्लेलिस्ट का यूआरएल. इसके बजाय, "stream_manifest" का इस्तेमाल करें.
media_verification_url string

मीडिया की पुष्टि करने वाले यूआरएल का इस्तेमाल, वीडियो चलाने से जुड़े इवेंट को ट्रैक करने के लिए बेस एंडपॉइंट के तौर पर किया जाता है.
metadata_url string

मेटाडेटा यूआरएल का इस्तेमाल, स्ट्रीम के दौरान दिखने वाले विज्ञापन से जुड़े इवेंट के बारे में समय-समय पर जानकारी पाने के लिए किया जाता है.
session_update_url string

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

metadata_url या heartbeat_url का अनुरोध करते समय, पोलिंग की फ़्रीक्वेंसी (सेकंड में).

PodMetadata

PodMetadata में, विज्ञापनों, विज्ञापन ब्रेक, और मीडिया आईडी टैग के मेटाडेटा की जानकारी होती है.
JSON के काेड में दिखाना
{
  "tags": map[string, object(TagSegment)],
  "ads": map[string, object(Ad)],
  "ad_breaks": map[string, object(AdBreak)],
  "next_delta_token": string,
  "obsolete_ad_break_ids": [],
}
फ़ील्ड
tags map[string, object(TagSegment)]

टैग प्रीफ़िक्स के हिसाब से इंडेक्स किए गए टैग सेगमेंट का मैप.
ads map[string, object(Ad)]

विज्ञापन आईडी के हिसाब से इंडेक्स किए गए विज्ञापनों का मैप.
ad_breaks map[string, object(AdBreak)]

विज्ञापन ब्रेक आईडी के हिसाब से इंडेक्स किए गए विज्ञापन ब्रेक का मैप.
next_delta_token string

यह एक ओपेक टोकन है. इसका इस्तेमाल क्लाइंट, अगले पोल में कर सकता है.
obsolete_ad_break_ids string

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

TagSegment

TagSegment में विज्ञापन, उसके विज्ञापन के लिए ब्रेक, और इवेंट टाइप का रेफ़रंस होता है. type="progress" वाले TagSegment को, विज्ञापन मीडिया की पुष्टि करने वाले एंडपॉइंट पर पिंग नहीं किया जाना चाहिए.
JSON के काेड में दिखाना
{
  "ad": string,
  "ad_break_id": string,
  "type": string,
}
फ़ील्ड
ad string

इस टैग के विज्ञापन का आईडी.
ad_break_id string

इस टैग के विज्ञापन ब्रेक का आईडी.
type string

यह टैग के इवेंट का टाइप है.

AdBreak

AdBreak, स्ट्रीम में विज्ञापन के एक ब्रेक के बारे में बताता है. इसमें अवधि, टाइप (मिड/प्री/पोस्ट), और विज्ञापनों की संख्या शामिल होती है.
JSON के काेड में दिखाना
{
  "type": string,
  "duration": number,
  "expected_duration": number,
  "ads": number,
}
फ़ील्ड
type string

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

इस विज्ञापन ब्रेक की कुल अवधि, सेकंड में.
expected_duration number

विज्ञापन के लिए ब्रेक की अनुमानित अवधि (सेकंड में). इसमें सभी विज्ञापन और कोई भी स्लेट शामिल है.
ads number

विज्ञापन ब्रेक में विज्ञापनों की संख्या.
विज्ञापन, स्ट्रीम में दिखने वाले विज्ञापन के बारे में बताता है.
JSON के काेड में दिखाना
{
  "ad_break_id": string,
  "position": 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,
  "click_tracking_urls": [],
  "verifications": [object(Verification)],
  "slate": boolean,
  "icons": [object(Icon)],
  "wrappers": [object(Wrapper)],
  "universal_ad_id": object(UniversalAdID),
  "extensions": [],
  "companions": [object(Companion)],
  "interactive_file": object(InteractiveFile),
}
फ़ील्ड
ad_break_id string

इस विज्ञापन के विज्ञापन ब्रेक का आईडी.
position number

विज्ञापन ब्रेक में इस विज्ञापन की पोज़िशन, जो 1 से शुरू होती है.
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

क्लिकथ्रू यूआरएल देना ज़रूरी नहीं है.
click_tracking_urls string

क्लिक ट्रैकिंग के यूआरएल (ज़रूरी नहीं).
verifications [object(Verification)]

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

Optional bool indicating the current entry is slate.
icons [object(Icon)]

आइकॉन की सूची. अगर यह खाली है, तो इसे शामिल नहीं किया जाता.
wrappers [object(Wrapper)]

रैपर की सूची. अगर यह खाली है, तो इसे शामिल नहीं किया जाता.
universal_ad_id object(UniversalAdID)

यूनिवर्सल विज्ञापन आईडी (ज़रूरी नहीं).
extensions string

VAST में मौजूद सभी <Extension> नोड की वैकल्पिक सूची.
companions [object(Companion)]

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

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

आइकॉन

इस आइकॉन में 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

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

पुष्टि

पुष्टि करने की प्रोसेस में ओपन मेज़रमेंट की जानकारी शामिल होती है. इससे तीसरे पक्ष को विज्ञापन दिखने से जुड़े आंकड़े और पुष्टि करने से जुड़े मेज़रमेंट में मदद मिलती है. फ़िलहाल, सिर्फ़ 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

An opaque string passed to bootstrap verification code.

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

अगर यह स्टैटिक टाइप का कंपैनियन है, तो वीएएसटी में <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

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

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

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