Bu kılavuzda, seç-izle video (VOD) akışları için Dinamik Reklam Ekleme (DAI) kullanılırken IMA DAI SDK'sı ile yer işaretlerinin nasıl uygulanacağı gösterilmektedir. Bu, Başlarken bölümünde sunulan gibi çalışan bir IMA DAI uygulamasının olduğunu varsayar.
Yer işaretleme 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, bu video akışından ayrıldığını ve daha sonra akışa döndüğünü varsayalım. Yer işareti koyma özelliği, kullanıcının akış içindeki konumunu kaydederek akışın kaldığı yerden devam edebilmesini sağlar ve böylece izleyiciye sorunsuz bir deneyim sunar.
Ayrıntılı DAI yer işareti incelemesi
Bir DAI akışını yer işaretlerine eklerken akış kimliğini ve kullanıcının videodan ayrıldığı zamanı kaydetmeniz gerekir. Kullanıcı geri döndüğünde akışı yeniden isteyin ve kayıtlı zamana gidin. İstenen akışın her örneğinde farklı uzunluklarda reklam araları olabileceğinden akış süresini kaydetmek yeterli olmaz. Aslında aynı içerik zamanından devam etmek istersiniz.
Dönüşüm yöntemleri kurtarıcı olabilir
IMA DAI SDK, belirli bir akış zamanı için içerik zamanını ve belirli bir içerik zamanı için akış zamanını istemek üzere iki yöntem sunar. Bu dönüşüm yöntemlerini kullanarak, yer işaretli içerik zamanını saklayabilir ve ardından akışın yeni örneğinde ilgili akış zamanına gidebilirsiniz. Çalışan bir yer işareti uygulama örneğini gösteren bir bağlantı da dahil olmak üzere yaklaşımı burada bulabilirsiniz.
Yer işaretlerini kaydetme
Activity
duraklatıldığında yer işareti kaydetme
private double bookmarkTime;
@Override
public void onPause() {
super.onPause();
double streamTime = videoPlayer.getCurrentPosition() / 1000.0; // ms to s.
bookmarkTime = streamManager.getContentTimeForStreamTime(streamTime);
}
Yer işaretleri yükleniyor
Akış yeniden istendiğinde yer işaretini yükleyin. VideoStreamPlayer
arayüzünü uygulama sürecinin bir parçasıdır.
public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
// Set video player's stream URL and subtitles, and play the stream.
...
// Bookmarking.
if (bookmarkTime > 0) {
double streamTime =
streamManager.getStreamTimeForContentTime(bookmarkTime);
videoPlayer.seek((long) (streamTime * 1000.0)); // s to ms.
}
}
Örnek uygulama
Yer işareti uygulama örneğini görmek için örnek uygulamayı indirin.