Bookmark

Panduan ini menunjukkan cara menerapkan bookmark menggunakan IMA DAI SDK saat menggunakan Penyisipan Iklan Dinamis (DAI) untuk streaming video-on-demand (VOD). Hal ini mengasumsikan penerapan IMA DAI yang berfungsi, seperti yang ditampilkan dalam Mulai.

Apa itu bookmark?

Bookmark adalah kemampuan untuk menyimpan, lalu kembali ke titik tertentu dalam streaming konten. Misalkan pengguna menonton konten berdurasi lima menit, meninggalkan streaming video, lalu kembali ke sana. Pemberian bookmark akan menyimpan posisi pengguna di streaming sehingga streaming dapat dilanjutkan dari bagian terakhir, sehingga memberikan pengalaman yang lancar bagi penonton.

Membuat bookmark DAI di balik layar

Saat mem-bookmark streaming DAI, Anda harus merekam ID streaming dan waktu saat pengguna menutup video. Saat pengguna kembali, minta ulang streaming dan cari waktu yang telah disimpan. Karena setiap instance streaming yang diminta dapat memiliki jeda iklan dengan durasi yang berbeda, sehingga menghemat waktu streaming tidak akan berfungsi. Yang ingin Anda lakukan adalah melanjutkan dari waktu konten yang sama.

Metode konversi yang dapat membantu

IMA DAI SDK menyediakan sepasang metode untuk meminta waktu konten untuk waktu streaming tertentu dan waktu streaming untuk waktu konten tertentu. Dengan metode konversi ini, Anda dapat menyimpan waktu konten yang di-bookmark, lalu mencari waktu streaming yang sesuai dalam instance streaming yang baru. Berikut pendekatannya, termasuk link ke aplikasi contoh yang menunjukkan penerapan bookmark yang berfungsi.

Menyimpan bookmark

Simpan bookmark saat Activity dijeda.

private double bookmarkTime;
@Override
public void onPause() {
   super.onPause();
   double streamTime = videoPlayer.getCurrentPosition() / 1000.0; // ms to s.
   bookmarkTime = streamManager.getContentTimeForStreamTime(streamTime);
}

Memuat bookmark

Muat bookmark saat meminta ulang streaming. Ini adalah bagian dari implementasi antarmuka VideoStreamPlayer.

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.
    }
}

Aplikasi contoh

Download aplikasi Contoh untuk melihat implementasi bookmark.