এড়িয়ে যাওয়া বিজ্ঞাপন বিরতিতে ফিরে যান

প্ল্যাটফর্ম বেছে নিন: HTML5 Android iOS tvOS Roku

ভিডিও প্রকাশক হিসেবে, আপনি হয়ত চাইবেন যে দর্শকরা যেন আপনার মিড-রোল বিজ্ঞাপন এড়িয়ে না যান। কোনও ব্যবহারকারী বিজ্ঞাপন বিরতি পেরিয়ে গেলে, আপনি তাকে সেই বিজ্ঞাপন বিরতির শুরুতে ফিরিয়ে নিয়ে যেতে পারেন এবং বিজ্ঞাপন বিরতি শেষ হওয়ার পরে তাকে আবার তার সিক লোকেশনে ফিরিয়ে নিয়ে যেতে পারেন। এই ফিচারকে "স্ন্যাপব্যাক" বলা হয়।

উদাহরণ হিসেবে, নিচের ডায়াগ্রামটি দেখুন। আপনার দর্শক একটি ভিডিও দেখছেন, এবং ৫-মিনিট মার্ক থেকে ১৫-মিনিট মার্ক পর্যন্ত ভিডিওটি টেনে নিয়ে যাওয়ার সিদ্ধান্ত নেন। তবে, ১০ মিনিটের মাথায় একটি বিজ্ঞাপন বিরতি আছে এবং আপনি চান যে দর্শকরা এর পরের কন্টেন্ট দেখার আগে এই বিজ্ঞাপনটি দেখুন:

এই বিজ্ঞাপন বিরতি দেখাতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. ব্যবহারকারী ভিডিওর কোনও অংশ এড়িয়ে গিয়েছেন কিনা তা চেক করুন, যার ফলে তিনি না দেখা বিজ্ঞাপন বিরতি পেরিয়ে গেছেন, এবং যদি তাই হয়, তাহলে তাকে বিজ্ঞাপন বিরতিতে ফিরিয়ে আনুন।
  2. বিজ্ঞাপন বিরতি শেষ হওয়ার পরে, তাদের আসল সিকে ফিরিয়ে আনুন।

ডায়াগ্রামের আকারে এটি দেখতে এইরকম হয়:

IMA DAI SDK ব্যবহার করে কীভাবে স্ন্যাপব্যাক প্রয়োগ করবেন তা এখানে দেওয়া হল, যেমনটি উন্নত উদাহরণ-এ দেখানো হয়েছে।

বিজ্ঞাপন বিরতি না দেখে যাতে কেউ ভিডিওর অন্য অংশে চলে যেতে না পারেন তা আটকানো

ব্যবহারকারী এমন কোনও সিক রান করেছেন কিনা তা চেক করুন যা না দেখা বিজ্ঞাপন বিরতিকে পেরিয়ে গেছে, এবং যদি তাই হয়, তাহলে তাকে বিজ্ঞাপন বিরতিতে ফিরিয়ে নিয়ে যান। HTML5 SDK-তে, onSeekEnd() ট্রিগার করতে কন্টেন্ট প্লেয়ারের seeked ইভেন্টে একটি ইভেন্ট লিসনার সেট করুন। এই পদ্ধতি (নিচে দেখানো হয়েছে) ব্যবহারকারীর সিক টাইমের আগে কিউ পয়েন্ট চেক করে। এটি চালানো না হলে, প্রাথমিক কাঙ্ক্ষিত সিক পয়েন্টের পরিবর্তে সেই বিজ্ঞাপন বিরতির শুরুতে সিক করুন এবং সেই কাঙ্ক্ষিত সিক পয়েন্ট snapForwardTime-এ সেভ করুন।

function onSeekEnd() {
  if (isLiveStream) { return; }
  if (isSnapback) {
    isSnapback = false;
    return;
  }
  var currentTime = videoElement.currentTime;
  var previousCuePoint =
      streamManager.previousCuePointForStreamTime(currentTime);
  if (previousCuePoint && !previousCuePoint.played) {
    isSnapback = true;
    snapForwardTime = currentTime;
    videoElement.currentTime = previousCuePoint.start;
}

ব্যবহারকারীকে তার আসল সিক-এ ফিরিয়ে নিয়ে যান

এখন আপনি AD_BREAK_ENDED ইভেন্ট পেলে, snapForwardTime সেট করা আছে কিনা তা চেক করে দেখুন। যদি তাই হয়, তাহলে ব্যবহারকারীকে স্ট্রিমের সেই পয়েন্টে নিয়ে যান, কারণ তিনি যে বিজ্ঞাপন বিরতি দেখেছেন তা স্ন্যাপব্যাকের ফলাফল:

function onAdBreakEnded(e) {
  videoElement.controls = true;
  clickElement.style.display = 'none';
  adUiDiv.style.display = 'none';
  if (snapForwardTime && snapForwardTime > videoElement.currentTime) {
    videoElement.currentTime = snapForwardTime;
    snapForwardTime = null;
  }
}