डीएआई के लिए, शुरुआती विज्ञापन के लिए ब्रेक की सूचना देने वाला एपीआई

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

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

इन ज़रूरी फ़ील्ड के अलावा, कस्टम टारगेटिंग पैरामीटर, लागू करने के लिए विज्ञापन पॉड टेंप्लेट का नाम या उपलब्ध होने पर, SCTE35 Cue Out डेटा भी भेजा जा सकता है.

ज़रूरी शर्तें

सेवा खाता बनाना

EABN API को ऐक्सेस करने के लिए, आपको Google सेवा खाते की ज़रूरत होगी.

  • अगर आपके पास Google Cloud खाता है, तो सेवा खाता बनाने के लिए IAM मॉड्यूल का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, सेवा खाते बनाना और उन्हें मैनेज करना देखें.
  • अगर आपके पास Google Cloud खाता नहीं है, तो Google API कंसोल से सेवा खाता बनाने के लिए, यह तरीका अपनाएं:
    1. कोई नया प्रोजेक्ट बनाएं या कोई मौजूदा प्रोजेक्ट चुनें.
    2. क्रेडेंशियल पेज में, सेवा खाते मैनेज करें पर क्लिक करें.
    3. सेवा खाते पेज पर, सेवा खाता बनाएं पर क्लिक करें.
    4. सेवा खाता बनाएं पेज पर, खाते की जानकारी डालें. इसके बाद, बनाएं पर क्लिक करें.

सेवा खाता बनाने के बाद, खाते की JSON कुंजी कॉपी करें. इसका इस्तेमाल पुष्टि करने के लिए किया जाएगा.

EABN API को चालू करना

सेवा खाता बनने के बाद, अपने खाता मैनेजर से उस खाते के लिए, EABN API चालू करने के लिए कहें.

DAI API चालू करें

सेवा खाते के लिए ईएबीएन एपीआई चालू होने के बाद, खाते में डीएआई एपीआई चालू करें:

  1. Google API लाइब्रेरी में, “DAI API” खोजें.

  2. DAI API चुनें और चालू करें.

EABN API का इस्तेमाल करना

JSON/REST के अनुरोधों का इस्तेमाल करके, EABN एपीआई को कॉल किया जा सकता है.

पुष्टि करना

EABN एपीआई को पुष्टि किए गए कॉल करने के लिए, आपको अपने सेवा खाते और https://www.googleapis.com/auth/video-ads स्कोप से मिली JSON कुंजी का इस्तेमाल करके, OAuth2 सेवा खाते के क्रेडेंशियल जनरेट करने होंगे. ज़्यादा जानकारी के लिए, सर्वर से सर्वर ऐप्लिकेशन के लिए OAuth 2.0 का इस्तेमाल करना देखें.

EABN API को किए जाने वाले हर कॉल के लिए, पुष्टि करने वाले टोकन को Auth हेडर के तौर पर शामिल करना होगा.

विज्ञापन के लिए ब्रेक की सुविधा से पहले सूचना भेजना

विज्ञापन के लिए ब्रेक की शुरुआती सूचना भेजने के लिए, नीचे दिए गए यूआरएल और अनुरोध के मुख्य हिस्से का इस्तेमाल करके, पोस्ट करने का अनुरोध भेजें:

POST dai.googleapis.com/v1/adBreaks

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

ऑब्जेक्ट
adBreak ज़रूरी है adBreak प्रॉपर्टी के लिए रैपर ऑब्जेक्ट
assetKey ज़रूरी है LiveStreamEvent का यूनीक आइडेंटिफ़ायर, जिसके लिए ब्रेक बनाया गया है
expectedDuration ज़रूरी है Google के स्टैंडर्ड अवधि फ़ॉर्मैट का इस्तेमाल करके, इस विज्ञापन के लिए ब्रेक की अवधि (xx.xxxs जिसमें xx.xxx सेकंड की संख्या है)
scte35CueOut ज़रूरी नहीं scte35 क्यू से बेस-64 कोड में बदला गया डेटा. इसमें splice_insert() या time_signal() निर्देश शामिल हो सकते हैं.
उदाहरण:
  • time_signal():
    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
  • splice_insert(): /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=
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&param2=value2",
    "ptpln": "podtemplate"
  }
}

जवाब

HTTP/1.1 200 OK

{
  "assetKey": "asset1",
  "expectedDuration": "30s",
  "custParams": "param1=value1&param2=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&param2=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)