Google के डीएआई प्लैटफ़ॉर्म का इस्तेमाल करते समय, हो सकता है कि आप लाइव/लीनियर विज्ञापन के लिए अगला ब्रेक. विज्ञापन के लिए सबसे पहले ब्रेक सूचना (ईएबीएन) एपीआई की मदद से, ब्रेक के हिसाब से टारगेटिंग को लागू किया जा सकता है. इसके लिए, की-वैल्यू पेयर, जो विज्ञापन का फ़ैसला लेने के लिए बड़े पैमाने पर मेज़रमेंट की सुविधा देते हैं स्ट्रीम.
EABN API को किए जाने वाले कॉल में टारगेट और टारगेट करने के लिए ऐसेट कुंजी शामिल होनी चाहिए अगले ब्रेक की अवधि. अवधि वास्तविक विज्ञापन के बराबर होनी चाहिए ब्रेक की अवधि तय करें. अगर भेजा गया अनुमानित समय, विज्ञापन के लिए ब्रेक दिया गया हो, विज्ञापन के लिए ब्रेक का फ़िल टाइप ब्रेक के शेष समय के लिए (डिफ़ॉल्ट रूप से खाली स्लेट पर सेट होता है) का उपयोग किया जाता है. अगर भेजा गया अनुमानित अवधि दिए गए विज्ञापन के लिए ब्रेक से ज़्यादा है, आपका विज्ञापन के लिए ब्रेक हो सकता है विज्ञापन पूरा होने से पहले खत्म करें.
इन ज़रूरी फ़ील्ड के अलावा, कस्टम टारगेटिंग भी भेजी जा सकती है पैरामीटर, लागू करने के लिए विज्ञापनों के पॉड टेंप्लेट का नाम या SCTE35 क्यू आउट डेटा, अगर उपलब्ध हैं.
ज़रूरी शर्तें
सेवा खाता बनाना
ईएबीएन एपीआई को ऐक्सेस करने के लिए, आपके पास Google का सेवा खाता होना चाहिए.
- अगर आपके पास Google Cloud खाता है, तो IAM मॉड्यूल का इस्तेमाल करके सेवा खाता. ज़्यादा जानकारी के लिए, यह देखें सेवा खाते बनाना और मैनेज करना.
- अगर आपके पास Google Cloud खाता नहीं है, तो सेवा खाता बनाया जा सकता है
Google API कंसोल से डाउनलोड करके,
इसके लिए, यह तरीका अपनाएं:
- नया प्रोजेक्ट बनाएं या कोई मौजूदा प्रोजेक्ट चुनें.
- क्रेडेंशियल पेज में, सेवा खाते मैनेज करें पर क्लिक करें.
- सेवा खाते पेज में, सेवा खाता बनाएं पर क्लिक करें.
- सेवा खाता बनाएं पेज में, खाते की जानकारी डालें. इसके बाद बनाएं पर क्लिक करें.
सेवा खाता बनाने के बाद, खाते का JSON कॉपी करें कुंजी है, जिसका इस्तेमाल पुष्टि करने के लिए किया जाएगा.
ईएबीएन एपीआई चालू करना
सेवा खाता बनाने के बाद, अपने खाता मैनेजर से इसे चालू करने के लिए कहें उस खाते के लिए ईएबीएन एपीआई.
DAI API चालू करना
अपने सेवा खाते के लिए ईएबीएन एपीआई चालू हो जाने के बाद, डीएआई एपीआई चालू करें खाते में:
Google API लाइब्रेरी में, “DAI API” खोजें.
DAI API चुनें और उसे चालू करें.
EABN API का इस्तेमाल करना
JSON/REST अनुरोधों का इस्तेमाल करके, EABN API को कॉल किया जा सकता है.
पुष्टि करना
EABN API को पुष्टि किए गए कॉल करने के लिए, आपको OAuth2 सेवा जनरेट करनी होगी
खाते के क्रेडेंशियल, जो आपके सेवा खाते से मिली JSON कुंजी और दायरे का इस्तेमाल करते हैं
https://www.googleapis.com/auth/video-ads
. ज़्यादा जानकारी के लिए, यह देखें
सर्वर से सर्वर ऐप्लिकेशन के लिए, OAuth 2.0 का इस्तेमाल करना.
इसमें पुष्टि करने वाले टोकन को हर एक के लिए, पुष्टि करने वाले हेडर के तौर पर शामिल करना ज़रूरी है ईएबीएन एपीआई को कॉल करें.
विज्ञापन के लिए ब्रेक की शुरुआती सूचना भेजी जा रही है
विज्ञापन के लिए ब्रेक की शुरुआती सूचना भेजने के लिए, इनका इस्तेमाल करके पोस्ट करने का अनुरोध भेजें यूआरएल और अनुरोध का मुख्य हिस्सा:
POST dai.googleapis.com/v1/adBreaks
अनुरोध का मुख्य भाग
ऑब्जेक्ट | ||
---|---|---|
adBreak |
ज़रूरी है | adBreak प्रॉपर्टी के लिए रैपर ऑब्जेक्ट |
assetKey |
ज़रूरी है | LiveStreamEvent के लिए यूनीक आइडेंटिफ़ायर, जिसके लिए
ब्रेक का समय बन गया है |
expectedDuration |
ज़रूरी है | Google के मानक अवधि फ़ॉर्मैट का इस्तेमाल करके इस विज्ञापन के लिए ब्रेक की अवधि (xx.xxx जहां xx.xxx सेकंड की संख्या है) |
scte35CueOut |
वैकल्पिक | scte35 क्यू आउट से बेस-64-एन्कोड किया गया डेटा. इसमें
splice_insert() या time_signal() निर्देश.
उदाहरण:
|
custParams |
वैकल्पिक | कस्टम सेटिंग के लिए इस ब्रेक के विज्ञापन अनुरोधों में, की-वैल्यू पेयर शामिल किए जाएंगे
AM360 में मानदंड के हिसाब से टारगेट करने की सुविधा, जिसे = से अलग किया गया है और
& .उदाहरण: key=value&key2=value2,value3 टारगेटिंग के बारे में ज़्यादा जानकारी के लिए, देखें सप्लाई टारगेटिंग पैरामीटर की जानकारी देनी होगी. |
ptpln |
वैकल्पिक | विज्ञापनों के पॉड टेंप्लेट का नाम |
रिस्पॉन्स हेडर
HTTP/1.1 200 OK
जवाब का मुख्य भाग
जवाब के मुख्य हिस्से में, adBreak
ऑब्जेक्ट में भेजे गए सभी पैरामीटर शामिल होते हैं.
साथ ही, एक और daiBreakId
फ़ील्ड भी होता है, जिसमें अंदरूनी डीएआई होता है
स्ट्रीम में बनाए गए विज्ञापन के लिए ब्रेक का आइडेंटिफ़ायर.
उदाहरण
अनुरोध
POST /v1/adBreaks HTTP/1.1
Content-Type: application/json
{
"adBreak": {
"assetKey": "asset1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"custParams": "param1=value1¶m2=value2",
"ptpln": "podtemplate"
}
}
जवाब
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
लागू करने का सैंपल (Python)
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from absl import app
from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"
SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'
def main():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)
authed_session = AuthorizedSession(credentials)
data = {
'assetKey': ASSET_KEY,
'expectedDuration': '120s',
'custParams': 'param1=value1¶m2=value2',
'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
}
r = authed_session.post(EABN_API_URL, json={'adBreak': data})
print(r.status_code)
print(r.headers)
print(r.text)
if __name__ == '__main__':
app.run(main)