Reklam akışı yer işaretlerini kaydetme ve yükleme

Platform seçin: HTML5 Android iOS tvOS Roku

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.