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

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

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

Yeniden akış isteğinde bulunurken yer işaretini yükleyin. Bu, VideoStreamPlayer arayüzünü uygulamanın 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 koyma uygulamasını görmek için Örnek uygulamayı indirin.