SGAI का इस्तेमाल शुरू करें

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

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

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

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

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

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

सुझावों का पालन करना

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

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

स्ट्रीमिंग के लिए रजिस्ट्रेशन का अनुरोध करना

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

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

  • अनुरोध:
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"
}
  • 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"
}

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

स्ट्रीम रजिस्ट्रेशन का अनुरोध करने के बाद, विज्ञापन मेटाडेटा के लिए पोल करें. विज्ञापन का metadata कॉल करने के लिए, रजिस्टर करने के चरण में स्ट्रीम रिस्पॉन्स में 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 इवेंट की सदस्यता लें.

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

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