Kitap Ayraçları

Bu kılavuzda, seç-izle video (VOD) akışları için Dinamik Reklam Ekleme'yi (DAI) kullanırken IMA DAI SDK'sı aracılığıyla yer işaretinin nasıl uygulanacağı gösterilmektedir. Bu işlem, Başlayın bölümünde sunulan gibi çalışan bir IMA DAI uygulaması olduğunu varsayar.

Yer işareti koymak nedir?

Yer işareti koyma, içerik akışında belirli bir noktayı kaydetme ve daha sonra, bu noktaya dönme olanağıdır. Bir kullanıcının beş dakikalık içerik izlediğini, video akışından ayrıldığını ve daha sonra içeriğe geri döndüğünü varsayalım. Yer işareti koyma, kullanıcının akıştaki konumunu kaydederek akışın kaldığı yerden devam edebilmesini ve böylece izleyiciye sorunsuz bir deneyim sunulmasını sağlar.

Gelişmiş DAI yer işareti koyma

Bir DAI akışına yer işareti koyarken kullanıcı videodan ayrıldığında akış kimliğini ve zamanını kaydetmeniz gerekir. Kullanıcı geri döndüğünde, akışı yeniden isteyin ve kaydedilen zamanı arayın. İstenen akışın her örneği farklı sürelerde reklam aralarına sahip olabileceğinden yalnızca akış süresinden tasarruf etmek işe yaramaz. En iyisi aynı içerik zamanından devam etmektir.

Kurtarma yöntemleri

IMA DAI SDK'sı, belirli bir akış süresi için içerik süresini ve belirli bir içerik süresi için akış süresini istemek amacıyla bir dizi yöntem sunar. Bu dönüştürme yöntemlerini kullanarak yer işareti koyduğunuz içerik süresini depolayabilir ve ardından yeni akış örneğinde karşılık gelen akış zamanına gidebilirsiniz. Yaklaşıma, çalışan bir yer işareti uygulamasını gösteren örnek bir uygulamaya yönlendiren bir bağlantı da ekleyebilirsiniz.

Yer işaretleri kaydediliyor

Etkinlik duraklatıldığında bir yer işareti kaydedin.

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

Yer işaretleri yükleniyor

Yeniden akış isteğinde bulunurken yer işaretini yükleyin. Bu, VideoStreamPlayer arayüzünü uygulamanın bir parçasıdır.

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

Örnek uygulama

Örnek uygulama