북마크

이 가이드에서는 VOD 스트림에 동적 광고 삽입(DAI)을 사용할 때 IMA DAI SDK를 사용하여 북마크를 구현하는 방법을 설명합니다. 이 예에서는 시작하기에 설명된 것과 같은 IMA DAI 구현이 작동한다고 가정합니다.

북마크란 무엇인가요?

북마크는 콘텐츠 스트림의 특정 지점을 저장한 다음 돌아가는 기능입니다. 사용자가 5분 동안 콘텐츠를 시청하고 동영상 스트림을 나간 후 다시 재생된다고 가정해 보겠습니다. 북마크는 스트림 내 사용자의 위치를 저장하여 스트림을 중단한 부분부터 다시 시작할 수 있도록 하여 뷰어에게 원활한 환경을 제공합니다.

고급 DAI 북마크

DAI 스트림을 북마크에 추가할 때 사용자가 동영상을 종료할 때 스트림 ID와 시간을 기록해야 합니다. 사용자가 돌아오면 스트림을 다시 요청하고 저장된 시간을 찾습니다. 요청된 스트림의 각 인스턴스에 길이가 다른 광고 시점이 있을 수 있으므로 스트림 시간을 절약하는 것만으로는 작동하지 않습니다. 정말로 할 일은 동일한 콘텐츠 시간에서 계속하는 것입니다.

복구 방법

IMA DAI SDK는 지정된 스트리밍 시간콘텐츠 시간과 지정된 콘텐츠 시간스트리밍 시간을 요청하는 메서드 쌍을 제공합니다. 이러한 변환 메서드를 사용하면 북마크된 콘텐츠 시간을 저장한 후 스트림의 새 인스턴스에서 상응하는 스트림 시간을 찾을 수 있습니다. 다음은 작동하는 북마크 구현을 보여주는 샘플 앱 링크를 포함하는 접근 방식입니다.

북마크 저장

활동이 일시중지되면 북마크를 저장합니다.

- (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)];
  }
}

샘플 앱

샘플 앱