বুকমার্ক

ভিডিও-অন-ডিমান্ড (VOD) স্ট্রিমগুলির জন্য ডায়নামিক অ্যাড ইনসার্শন (DAI) ব্যবহার করার সময় IMA DAI SDK ব্যবহার করে কীভাবে বুকমার্কিং প্রয়োগ করা যায় এই নির্দেশিকাটি দেখায়৷ এটি একটি কার্যকরী IMA DAI বাস্তবায়ন অনুমান করে, যেমন Get Started- এ উপস্থাপিত একটি।

বুকমার্কিং কি?

বুকমার্কিং হল কন্টেন্ট স্ট্রীমের একটি নির্দিষ্ট পয়েন্টে সেভ করার এবং ফিরে আসার ক্ষমতা। ধরুন একজন ব্যবহারকারী পাঁচ মিনিটের বিষয়বস্তু দেখেন, ভিডিও স্ট্রিম ছেড়ে যান এবং তারপরে ফিরে আসেন। বুকমার্কিং স্ট্রীমে ব্যবহারকারীর অবস্থান সংরক্ষণ করে যাতে স্ট্রীমটি যেখান থেকে ছেড়েছিল সেখান থেকে উঠতে পারে, দর্শককে একটি বিরামহীন অভিজ্ঞতা প্রদান করে৷

হুড অধীনে DAI বুকমার্কিং

একটি DAI স্ট্রীম বুকমার্ক করার সময়, আপনাকে অবশ্যই স্ট্রীম আইডি এবং ব্যবহারকারী ভিডিও ছেড়ে যাওয়ার সময় রেকর্ড করতে হবে৷ যখন ব্যবহারকারী ফিরে আসে, স্ট্রীমটি পুনরায় অনুরোধ করুন এবং সংরক্ষিত সময় সন্ধান করুন। যেহেতু অনুরোধ করা স্ট্রীমের প্রতিটি দৃষ্টান্তে বিভিন্ন সময়কালের বিজ্ঞাপন বিরতি থাকতে পারে কেবল স্ট্রিমের সময় বাঁচানো কাজ করবে না। আপনি সত্যিই যা করতে চান তা হল একই বিষয়বস্তু সময় থেকে চালিয়ে যাওয়া।

উদ্ধারে রূপান্তর পদ্ধতি

IMA DAI SDK প্রদত্ত স্ট্রিম সময়ের জন্য কন্টেন্ট সময় এবং প্রদত্ত বিষয়বস্তুর সময়ের জন্য স্ট্রিম সময় অনুরোধ করার জন্য এক জোড়া পদ্ধতি প্রদান করে। এই রূপান্তর পদ্ধতিগুলি ব্যবহার করে আপনি বুকমার্ক করা বিষয়বস্তু সময় সঞ্চয় করতে পারেন এবং তারপর স্ট্রিমের নতুন উদাহরণে সংশ্লিষ্ট স্ট্রিম সময় খুঁজতে পারেন। এখানে একটি নমুনা অ্যাপের একটি লিঙ্ক সহ পদ্ধতি রয়েছে যা একটি কার্যকরী বুকমার্কিং বাস্তবায়ন দেখায়।

বুকমার্ক সংরক্ষণ করা হচ্ছে

অ্যাক্টিভিটি পজ হলে একটি বুকমার্ক সেভ করুন।

- (void)viewWillDisappear:(BOOL)animated {
  [super viewWillDisappear:animated];
  [self.contentPlayer pause];
  // Ignore this if you're presenting a modal view (e.g. in-app clickthrough).
  if ([self.navigationController.viewControllers indexOfObject:self] ==
      NSNotFound) {
    NSTimeInterval contentTime =
        [self.streamManager contentTimeForStreamTime:CMTimeGetSeconds(
            self.contentPlayer.currentTime)];
    self.video.savedTime = contentTime;
    ...
    }
  }
}

বুকমার্ক লোড হচ্ছে

একটি স্ট্রীম পুনরায় অনুরোধ করার সময় বুকমার্ক লোড করুন. এটি VideoStreamPlayer ইন্টারফেস বাস্তবায়নের অংশ।

- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdEvent:(IMAAdEvent *)event {
  ...
  case kIMAAdEvent_STREAM_LOADED: {
    if (self.video.savedTime > 0) {
      NSTimeInterval streamTime =
          [self.streamManager streamTimeForContentTime:self.video.savedTime];
      [self.IMAVideoDisplay.playerItem
          seekToTime:CMTimeMakeWithSeconds(streamTime, NSEC_PER_SEC)];
      self.video.savedTime = 0;
    }
  }
}

নমুনা অ্যাপ্লিকেশন

নমুনা অ্যাপ্লিকেশন