شروع به کار با IMA SDK در HbbTV

کیت توسعه نرم‌افزار IMA DAI از ادغام در برنامه پخش‌کننده ویدیو HbbTV حداقلی پشتیبانی می‌کند. کیت توسعه نرم‌افزار IMA DAI تقاضای Google Ad Manager را برای جاری‌سازی آگهی پهن‌باند برای همراهی با جاری‌سازی محتوای پخش فعال می‌کند. این راهنما بار کردن مانیفست آگهی براساس داده‌های رویداد آگهی از جاری‌سازی همه‌فرستی را پوشش می‌دهد.

برای مشاهده یا دنبال کردن یک نمونه ادغام تکمیل‌شده، برنامه نمونه خطی HbbTV با IMA HTML5 DAI SDK را بارگیری کنید. برای پشتیبانی از دستگاه‌های تلویزیون قدیمی‌تر، این راهنما و برنامه نمونه GitHub در ES5 JavaScript هستند.

برای اطلاعات درباره ادغام با دیگر پلاتفرم‌های غیر HbbTV، به کیت‌های توسعه نرم‌افزار آگهی‌های رسانه‌ای تعاملی مراجعه کنید.

پیش‌نیازها

قبل‌از ادامه دادن با این راهنما، مطمئن شوید که موارد زیر را دارید:

  • برای استفاده از IMA DAI، باید حساب Ad Manager 360 Advanced داشته باشید. اگر حساب Ad Manager دارید، برای جزئیات بیشتر با مدیر حسابتان تماس بگیرید. برای کسب اطلاعات درباره ثبت‌نام در Ad Manager، به مرکز راهنمایی Ad Manager بروید.
  • برنامه HbbTV که با شیء پخش برای بازپخش رسانه تعامل دارد. برای جزئیات بیشتر، به شیء AV همه‌فرستی HbbTV مراجعه کنید.
  • نسخه‌ای از dash.js که از پیش‌بارگیری پشتیبانی می‌کند. توصیه می‌کنیم از نسخه ۴.۶.۰ یا بالاتر استفاده کنید.
  • سرور وب برای میزبانی برنامه.
  • محیط آزمایشی با جریان همه‌فرستی DVB. برای دستورالعمل‌های دقیق درباره راه‌اندازی محیط آزمایشی، اجرای برنامه HbbTV را ببینید.
    • جاری‌سازی همه‌فرستی: جاری‌سازی همه‌فرستی حاوی داده‌های سفارشی «جدول اطلاعات برنامه» (AIT) را آماده کنید. همچنین به روشی برای انتقال جاری‌سازی همه‌فرستی برای دریافت توسط تلویزیون نیاز دارید. می‌توانید از یک مدولاتور DVB برای انتقال جریان پخش یا روش‌های دیگر استفاده کنید.
    • سرور وب: برنامه HbbTV را در سرور وبی که برای تلویزیون دردسترس است میزبانی کنید.
  • رویداد جاری‌سازی زنده با نوع مانیفست ارائه‌دهنده Pod. برای ایجاد رویداد، راه‌اندازی جاری‌سازی زنده برای DAI را ببینید.

ایجاد جاری‌سازی همه‌فرستی سازگار

برنامه HbbTV شما از broadcastContainer.addStreamEventListener() برای گوش دادن به رویدادهای جاری‌سازی HbbTV در جاری‌سازی همه‌فرستی شما استفاده می‌کند. برای بار کردن و پخش صحیح آگهی‌ها، باید جاری‌سازی همه‌فرستی‌تان را با انواع رویدادهای زیر راه‌اندازی کنید تا بارداده رشته JSON مربوطه را دربرگیرد:

  • ‫AD_BREAK_EVENT_ANNOUNCE - {"type":"adBreakAnnounce", "pod_id":1,"duration":90, "offset":10}
  • ‪AD_BREAK_EVENT_START - {"type":"adBreakStart"}
  • ‪AD_BREAK_EVENT_END - {"type":"adBreakEnd"}

برای این رویدادها، یک پایه‌بار رشته JSON با streamEvent.type اضافه کنید. برای پشتیبانی از پیش‌بارگیری آگهی، رویداد AD_BREAK_EVENT_ANNOUNCE باید شامل streamEvent.duration و streamEvent.offset باشد. برای اطلاعات بیشتر، به گوش دادن به رویدادهای جاری‌سازی HbbTV مراجعه کنید. برای راه‌اندازی جاری‌سازی همه‌فرستی، نمونه جاری‌سازی انتقال MPEG چندگانه را ببینید. برای استفاده از جاری‌سازی نمونه، باید نشانی وب جدول اطلاعات برنامه را برای راه‌اندازی جاری‌سازی خودتان به‌روز کنید.

ایجاد رویداد جاری‌سازی زنده با ارائه پاد

برای ارائه آگهی به برنامه HbbTV، به رویداد جاری‌سازی زنده ارائه‌دهنده پاد نیاز دارید. برای اطلاعات درباره راه‌اندازی رویداد، به راه‌اندازی جاری‌سازی زنده برای DAI مراجعه کنید. برای دسترسی به جریانی که راه‌اندازی کرده‌اید، برنامه باید متغیرهای زیر را داشته باشد:

  • NETWORK_CODE: کد شبکه Ad Manager برای درخواست آگهی.
  • CUSTOM_ASSET_KEY: کلید دارایی سفارشی Ad Manager که درطول فرایند راه‌اندازی جاری‌سازی زنده برای DAI تولید شده است.

ساختن ساختار فایل برنامه

این راهنما از ساختار فایل مشابهی با برنامه نمونه IMA HbbTV استفاده می‌کند. برای دنبال کردن این راهنما، فایل‌های زیر را ایجاد کنید:

  • ‫index.html: نمایه HTML برای برنامه‌تان.
  • ‫Style.css: سبک CSS برای برنامه‌تان.
  • ‫application.js: نقطه ورودی اصلی جاوااسکریپت. وضعیت پخش و وقفه‌های آگهی را مدیریت می‌کند.
  • video_player.js: پخش‌کننده dash.js را که برای بازپخش آگهی استفاده می‌شود مدیریت می‌کند.
  • ads_manager.js: راه‌اندازی IMA، درخواست جاری‌سازی، و مدیریت رویداد را مدیریت می‌کند.

ads_manager.js کیت توسعه نرم‌افزار IMA DAI را راه‌اندازی می‌کند. مؤلفه‌های زیر کیت توسعه نرم‌افزار IMA DAI را پیاده‌سازی می‌کنند:

  • PodStreamRequest: شیئی که درخواست جاری‌سازی به سرورهای تبلیغاتی Google را تعریف می‌کند.
  • StreamManager: شیئی که جریان‌های درج آگهی پویا و تعاملات با بخش پشتی DAI را مدیریت می‌کند. مدیر جاری‌سازی همچنین پینگ‌های ردیابی را مدیریت می‌کند و رویدادهای جاری‌سازی و آگهی را به ناشر بازارسال می‌کند.

برای دستورالعمل‌های دقیق درباره راه‌اندازی محیط آزمایشی، به این راهنما درباره اجرای برنامه HbbTV مراجعه کنید.

بار کردن کیت توسعه نرم‌افزار «درج آگهی پویا» در «آگهی‌های رسانه‌ای تعاملی» و DASH.js

برای شروع بازپخش جاری‌سازی آگهی پخش، کیت توسعه نرم‌افزار IMA DAI و dash.js را در برنامه‌تان بار کنید. قبل‌از برچسب application.js، dash.js و چارچوب IMA را بااستفاده از برچسب‌های دستورگان در index.html اضافه کنید.

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.2.0/crypto-js.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/dashjs@latest/dist/dash.all.min.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>

سپس، یک کلاس پوشاننده پخش‌کننده ویدیو برای راه‌اندازی و کنترل پخش‌کننده dash.js ایجاد کنید.