Bu kılavuzda, IMA DAI SDK'sı kullanılarak yer işareti koyma işleminin nasıl uygulanacağı gösterilmektedir . Burada, buradaki gibi, çalışan bir IMA DAI uygulaması varsayılır. Başlayın.
Yer işareti koyma nedir?
Yer işareti koyma, belirli bir noktayı kaydetme ve daha sonra o noktaya geri dönme olanağıdır fark edebilirsiniz. Bir kullanıcının beş dakikalık içerik izlediğini, video akışından çıkar ve akışa geri döner. Yer işareti koyduğunuzda Akışın başladığı yerden devam edebilmesi için kullanıcının akıştaki konumunu ve izleyiciye sorunsuz bir deneyim sağlamaktır.
DAI yer işareti ekleme
DAI akışına yer işareti koyarken akış kimliğini ve zamanını kaydetmeniz gerekir Kullanıcı videodan ayrıldığında. Kullanıcı geri döndüğünde akışla tasarruf edip kaydedilen zamana ulaşmaya çalışın. İstenen öğenin her örneği akışında farklı sürelerde reklam araları bulunabilir. Sadece akışı kaydederken işe yaramayacaktır. Aslında yapmak istediğiniz şey aynı içerik süresi.
Kurtarma yöntemleri
IMA DAI SDK'sı, içerik süresini istemek için bir yöntem çifti sağlar belirli bir içerik için akış süresine ve akış süresine zaman ekleyin. Bu dönüştürme yöntemlerini kullanarak, yer işareti konulan içerik süresini girer ve içerikte karşılık gelen akış saatine akışın yeni örneğini görebilirsiniz. Yaklaşım, bir bağlantı ve çalışan bir yer işareti uygulamasını gösteren örnek bir uygulamaya dönüştürebilirsiniz.
Yer işaretleri kaydediliyor
Etkinlik duraklatıldığında bir yer işareti kaydedin.
- (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;
...
}
}
}
Yer işaretleri yükleniyor
Yeniden yayın isteğinde bulunurken yer işaretini yükleyin. Bu, proje yönetiminin
VideoStreamPlayer
arayüzü.
- (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;
}
}
}