درج آگهی هدایتشده توسط سرور (SGAI) یک مانیفست پاد تبلیغاتی آماده برای چسباندن روی دستگاههای کلاینت ارائه میدهد. اگر Pod Serving DAI را در شبکه Google Ad Manager خود فعال کرده باشید، میتوانید از SGAI استفاده کنید. اگر Pod Serving DAI را فعال نکردهاید، با مدیر حساب خود تماس بگیرید.
با SGAI، شما از نقاط پایانی API سرویسدهندهی Pod برای ایجاد یک جریان بازیابی فرادادهی تبلیغات و مانیفستهای Ad pod استفاده میکنید.
اگر سرور دستکاری مانیفست دارید، میتوانید URLهای مانیفست پاد تبلیغاتی را تولید کنید و نشانگرهای تبلیغاتی را که اطلاعات مانیفست پاد تبلیغاتی را در جریان محتوای شما حمل میکنند، طبق مشخصات دلخواه خود، وارد کنید.
از طرف دیگر، میتوانید با استفاده از مکانیزمی متفاوت از نشانگرهای تبلیغاتی در مانیفست استریم، یک وقفه تبلیغاتی را برنامهریزی کنید. در این موارد، برنامه شما میتواند به رویدادهای دیگر، به عنوان مثال، تعامل کاربر با استریم، خود برنامه یا یک اعلان فوری، گوش دهد. پس از این رویدادها، برنامه میتواند URLهای مانیفست پاد تبلیغاتی را تولید کند و به پخشکننده بگوید که بارگذاری مانیفست پاد تبلیغاتی را شروع کند.
پیشنیازها
قبل از ادامه، مطمئن شوید که موارد زیر را دارید:
- سرویس DAI Pod که در شبکه Google Ad Manager شما فعال شده است.
- یک رویداد پخش زنده با نوع Pod که در مانیفست ارائه میشود . برای ایجاد رویداد، به بخش «تنظیم پخش زنده برای DAI» مراجعه کنید.
توصیهها را دنبال کنید
قبل از اینکه آدرس اینترنتی (URL) مانیفست پاد تبلیغاتی (ad pod manifest) را ایجاد کنید ، توصیه میکنیم API مربوط به اعلان زودهنگام تبلیغات (EABN) را فراخوانی کنید تا مدت زمان مورد انتظار، اطلاعات هدفگیری و سایر پارامترهای هر تبلیغ را مشخص کنید.
برای استریمهای تولید و آزمایش، با API EABN تماس بگیرید، به خصوص اگر شبکه تبلیغاتی شما کمپینهای برنامهریزیشدهای دارد. برای اطلاعات بیشتر، به ویژگیها و دستورالعملهای Programmatic Direct مراجعه کنید.
درخواست ثبت جریان را ارسال کنید
وقتی کاربری در برنامه پخش ویدیوی شما، پخش جریانی محتوا را شروع میکند، شما یک درخواست ثبت جریان با پارامترهای هدفگیری برای ایجاد یک جلسه پخش در Ad Manager ارسال میکنید. برای جزئیات بیشتر در مورد درخواست ثبت جریان، به Method:stream مراجعه کنید. پس از آن، دادههای پاسخ را از درخواست دریافت میکنید.
مثالهای زیر یک درخواست ثبت جریان ایجاد میکنند:
متن ساده HTTP
- درخواست:
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"
}
نظرسنجی برای فرادادههای بخش تبلیغات
پس از ارسال درخواست ثبت استریم، برای دریافت فرادادههای تبلیغ، نظرسنجی (poll) انجام دهید. برای نظرسنجی، در مرحله ثبتنام، با استفاده از polling_frequence در پاسخ استریم، یک تایمر تنظیم میکنید تا فرادادههای تبلیغ را فراخوانی کند. برای هر نظرسنجی، ممکن است فهرستی جزئی از تبلیغات به همراه فرادادهها را همزمان با در دسترس قرار گرفتن آنها دریافت کنید.
URL مانیفست پاد تبلیغاتی را ایجاد کنید
یک URL برای منبع pod مربوط به Pod Serving API بسازید. پس از آن، URL را به یک پخشکننده ویدیو ارسال کنید تا بارگذاری ad pod شروع شود.
مثال زیر ساختار URL مانیفست ad pod را نشان میدهد:
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
شما میتوانید پارامترهای URL مربوط به نمایش آگهی در پاد تبلیغاتی را بر اساس اطلاعات مربوط به تبلیغ دریافتی از پخشکننده ویدیو یا اعلان سرور محاسبه کنید. برای الزامات این پارامترها، به Method: pod manifest مراجعه کنید.
نمایش آگهی در پاد
در برنامه پخش ویدیوی کلاینت، پخش جریان محتوا را با یک پخشکننده ویدیوی اصلی شروع کنید و در صورت لزوم، مستندات پخشکننده ویدیوی خود را در مورد رعایت برنامه پخش و تبلیغات دنبال کنید.
اگر URL های مانیفست Ad pod را ایجاد کرده و آنها را در سمت سرور در مانیفست وارد میکنید، رویدادهای آتی پخش تبلیغات پخش کننده ویدیو را مشاهده کنید و مطمئن شوید که در طول هر پخش تبلیغات، در رویدادهای id3 مشترک میشوید. اگر رویدادهای پخش تبلیغات را از سمت کلاینت زمانبندی میکنید، در هنگام ایجاد، در رویدادهای id3 مشترک شوید.
گزارش نمایشها و رویدادهای تبلیغاتی
وقتی یک پخشکنندهی ویدیو، Ad pod را پخش میکند و با فرادادههای زمانبندیشدهی id3 مواجه میشود، به رویدادهای تبلیغاتی که پخشکنندهی ویدیو ایجاد میکند گوش دهید و آنها را برای ارسال پینگهای تأیید رسانه پردازش کنید.