ذخیره و بارگیری نشانک‌های جریان آگهی، ذخیره و بارگیری نشانک‌های جریان آگهی، ذخیره و بارگیری نشانک‌های جریان آگهی، ذخیره و بارگیری نشانک‌های جریان آگهی

پلتفرم مورد نظر را انتخاب کنید: HTML5 اندروید iOS tvOS Roku

این راهنما نحوه‌ی پیاده‌سازی بوک‌مارک با استفاده از IMA DAI SDK را هنگام استفاده از درج پویای تبلیغات (DAI) برای پخش‌های ویدیویی درخواستی (VOD) نشان می‌دهد. این امر مستلزم پیاده‌سازی IMA DAI کارآمد، مانند آنچه در «شروع به کار» ارائه شده است، می‌باشد.

بوکمارک کردن چیست؟

نشانه‌گذاری (Bookmarking) قابلیتی است که به کاربر اجازه می‌دهد محتوای مورد نظر خود را ذخیره کند و سپس به نقطه‌ای خاص در جریان محتوا بازگردد. فرض کنید کاربری پنج دقیقه از یک محتوا را تماشا می‌کند، از جریان ویدیو خارج می‌شود و سپس به آن بازمی‌گردد. نشانه‌گذاری، موقعیت کاربر را در جریان ذخیره می‌کند تا جریان بتواند از جایی که متوقف شده است، ادامه یابد و تجربه‌ای بی‌نقص را برای بیننده فراهم کند.

نشانه‌گذاری DAI در پس‌زمینه

هنگام نشانه‌گذاری یک استریم DAI، باید شناسه استریم و زمان خروج کاربر از ویدیو را ثبت کنید. وقتی کاربر برمی‌گردد، دوباره درخواست استریم دهید و به زمان ذخیره شده مراجعه کنید. از آنجایی که هر نمونه از استریم درخواستی می‌تواند دارای وقفه‌های تبلیغاتی با مدت زمان‌های مختلف باشد، صرفاً ذخیره زمان استریم کارساز نخواهد بود. کاری که واقعاً می‌خواهید انجام دهید این است که از همان زمان محتوا ادامه دهید.

روش‌های تبدیل به نجات

کیت توسعه نرم‌افزار IMA DAI دو روش برای درخواست زمان محتوا برای یک زمان پخش مشخص و زمان پخش برای یک زمان محتوای مشخص ارائه می‌دهد. با استفاده از این روش‌های تبدیل، می‌توانید زمان محتوای نشانه‌گذاری شده را ذخیره کنید و سپس در نمونه جدید پخش، زمان پخش مربوطه را جستجو کنید. در اینجا روش کار، به همراه لینکی به یک برنامه نمونه که پیاده‌سازی نشانه‌گذاری را نشان می‌دهد، آورده شده است.

ذخیره بوکمارک‌ها

وقتی فعالیت متوقف می‌شود، یک نشانک ذخیره می‌شود.

- (void)viewWillAppear:(BOOL)animated {
  ...
  self.bookmarkTime =
      [self.streamManager contentTimeForStreamTime:CMTimeGetSeconds(
          self.playerViewController.player.currentTime)];
}

بارگیری نشانک‌ها

هنگام درخواست مجدد پخش، نشانک را بارگذاری کنید. این بخشی از پیاده‌سازی رابط VideoStreamPlayer است.

- (void)streamManagerIsPlaybackReady:(IMAStreamManager *)streamManager {
...
  if (self.bookmarkTime != 0) {
    NSTimeInterval streamTime = [self.streamManager
        streamTimeForContentTime:self.bookmarkTime];
    [self.playerViewController.player
        seekToTime:CMTimeMakeWithSeconds(streamTime, NSEC_PER_SEC)];
  }
}

نمونه برنامه

نمونه برنامه