लाइव स्ट्रीम के लिए SGAI का इस्तेमाल शुरू करना

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

एसजीएआई की मदद से, स्ट्रीम बनाने के लिए पॉड सर्व करने वाले एपीआई एंडपॉइंट का इस्तेमाल किया जाता है. साथ ही, विज्ञापन के मेटाडेटा और विज्ञापन पॉड के मेनिफ़ेस्ट को वापस पाने के लिए भी इनका इस्तेमाल किया जाता है.

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

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

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

जारी रखने से पहले, पक्का करें कि आपके पास ये चीज़ें हों:

सुझावों को फ़ॉलो करना

हमारा सुझाव है कि विज्ञापन पॉड के मेनिफ़ेस्ट का यूआरएल जनरेट करने से पहले, Early Ad Break Notification (EABN) API को कॉल करें. इससे आपको हर विज्ञापन ब्रेक की अनुमानित अवधि, टारगेटिंग की जानकारी, और अन्य पैरामीटर तय करने में मदद मिलेगी.

प्रोडक्शन और टेस्ट स्ट्रीम के लिए, EABN API को कॉल करें. ऐसा खास तौर पर तब करें, जब आपके विज्ञापन नेटवर्क में कोई प्रोग्रामैटिक कैंपेन हो. ज़्यादा जानकारी के लिए, प्रोग्रामैटिक डायरेक्ट की सुविधाएं और दिशा-निर्देश देखें.

स्ट्रीम रजिस्टर करने का अनुरोध करना

जब कोई उपयोगकर्ता आपके वीडियो प्लेयर ऐप्लिकेशन में कॉन्टेंट स्ट्रीम करना शुरू करता है, तब आपको टारगेटिंग पैरामीटर के साथ स्ट्रीम रजिस्टर करने का अनुरोध करना होता है. इससे Ad Manager पर स्ट्रीमिंग सेशन बनाया जा सकता है. स्ट्रीम के रजिस्ट्रेशन का अनुरोध करने के बारे में जानने के लिए, तरीका:स्ट्रीम देखें. इसके बाद, आपको अनुरोध से जवाब का डेटा मिलता है.

यहां दिए गए उदाहरण, स्ट्रीम रजिस्टर करने का अनुरोध करते हैं:

सादा टेक्स्ट एचटीटीपी

  • अनुरोध:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded

cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
  • जवाब:
{
    "manifest_format": "hls",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "polling_frequency": 10,
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}

शेल

  • कमांड लाइन:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
  --data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
  --compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
  • आउटपुट:
{
    "manifest_format": "hls",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
    "polling_frequency": 10,
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}

JavaScript

  • Fetch API का इस्तेमाल करके:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
  "method": "POST",
});

  const stream = await response.json();
  console.log(stream);
  • कंसोल लॉग:
{
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "polling_frequency": 10,
    "pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
    "manifest_format": "hls"
}

विज्ञापन ब्रेक के मेटाडेटा के लिए पोल

स्ट्रीम रजिस्टर करने का अनुरोध करने के बाद, विज्ञापन के मेटाडेटा के लिए पोल करें. पोल करने के लिए, आपको रजिस्ट्रेशन के चरण में स्ट्रीम के जवाब में polling_frequence का इस्तेमाल करके टाइमर सेट करना होगा, ताकि विज्ञापन के मेटाडेटा को कॉल किया जा सके. हर पोल के लिए, आपको मेटाडेटा के साथ विज्ञापनों की आंशिक सूची मिल सकती है. यह सूची, विज्ञापन उपलब्ध होने पर मिलती है.

विज्ञापन पॉड के मेनिफ़ेस्ट का यूआरएल जनरेट करना

Pod Serving API के पॉड रिसॉर्स के लिए यूआरएल बनाएं. इसके बाद, विज्ञापन पॉड लोड करना शुरू करने के लिए, वीडियो प्लेयर को यूआरएल पास करें.

यहां दिए गए उदाहरण में, विज्ञापन पॉड के मेनिफ़ेस्ट यूआरएल का स्ट्रक्चर दिखाया गया है:

https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/ad_break_id/ab101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000

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

विज्ञापन पॉड मेनिफ़ेस्ट चलाएं

क्लाइंट के वीडियो प्लेयर ऐप्लिकेशन पर, प्राइमरी वीडियो प्लेयर की मदद से कॉन्टेंट स्ट्रीम का प्लेबैक शुरू करें. साथ ही, अगर ज़रूरी हो, तो प्लेबैक और विज्ञापन शेड्यूल को मॉनिटर करने के लिए, अपने वीडियो प्लेयर के दस्तावेज़ में दिए गए निर्देशों का पालन करें.

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

इंप्रेशन और विज्ञापन इवेंट की रिपोर्ट करना

जब वीडियो प्लेयर, विज्ञापन पॉड चलाता है और उसे id3 टाइम किया गया मेटाडेटा मिलता है, तो विज्ञापन इवेंट सुनें जिन्हें वीडियो प्लेयर ट्रिगर करता है और उन्हें प्रोसेस करके मीडिया की पुष्टि करने वाले पिंग भेजें.