Kitap Ayraçları

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

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 yayın isteğinde bulunurken yer işaretini yükleyin. Bu, proje yönetiminin VideoStreamPlayer arayüzü.

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

Örnek uygulamayı indirin sayfasını ziyaret edin.