บันทึกและโหลดบุ๊กมาร์กสตรีมโฆษณา

เลือกแพลตฟอร์ม: HTML5 Android iOS tvOS Roku

คู่มือนี้แสดงวิธีใช้การบุ๊กมาร์กโดยใช้ IMA DAI SDK เมื่อใช้การแทรกโฆษณาแบบไดนามิก (DAI) สำหรับสตรีมวิดีโอออนดีมานด์ (VOD) ซึ่งถือว่ามีการใช้งาน IMA DAI ที่ใช้งานได้ เช่น การใช้งานที่แสดงในส่วนเริ่มต้นใช้งาน

การบุ๊กมาร์กคืออะไร

การสร้างบุ๊กมาร์กเป็นความสามารถในการบันทึกจุดที่เฉพาะเจาะจงในสตรีมเนื้อหา แล้วกลับไปยังจุดนั้นได้ สมมติว่าผู้ใช้คนหนึ่งดูเนื้อหานาน 5 นาที ออกจากสตรีมวิดีโอ แล้วกลับมาดูต่อ การสร้างบุ๊กมาร์กจะบันทึกตำแหน่งของผู้ใช้ในสตรีม ดังนั้นสตรีมจะกลับมาที่จุดที่ดูค้างไว้ แล้วให้ผู้ใช้ดูต่อได้อย่างต่อเนื่อง

การบุ๊กมาร์ก DAI เบื้องหลัง

เมื่อบุ๊กมาร์กสตรีม DAI คุณต้องบันทึกรหัสสตรีมและเวลา เมื่อผู้ใช้ออกจากวิดีโอ เมื่อผู้ใช้กลับมา ให้ขอ สตรีมอีกครั้งและข้ามไปยังเวลาที่บันทึกไว้ เนื่องจากสตรีมแต่ละอินสแตนซ์ที่ขออาจมีช่วงพักโฆษณาที่มีระยะเวลาต่างกัน การบันทึกเวลาสตรีมจึงใช้ไม่ได้ สิ่งที่คุณต้องการจริงๆ คือการดูต่อจากเวลาของเนื้อหาเดิม

วิธีการ Conversion ช่วยคุณได้

IMA DAI SDK มีเมธอด 2 รายการสำหรับขอเวลาเนื้อหา สำหรับเวลาสตรีมที่ระบุ และเวลาสตรีมสำหรับเวลาเนื้อหาที่ระบุ เมื่อใช้วิธีการแปลงเหล่านี้ คุณจะจัดเก็บเวลาของเนื้อหาที่บุ๊กมาร์กไว้ แล้วไปยังเวลาของสตรีมที่สอดคล้องกันใน อินสแตนซ์ใหม่ของสตรีมได้ ต่อไปนี้คือแนวทาง รวมถึงลิงก์ ไปยังแอปตัวอย่างที่แสดงการติดตั้งใช้งานการบุ๊กมาร์กที่ใช้งานได้

การบันทึกบุ๊กมาร์ก

บันทึกบุ๊กมาร์กเมื่อActivityหยุดชั่วคราว

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

กำลังโหลดบุ๊กมาร์ก

โหลดบุ๊กมาร์กเมื่อขอสตรีมอีกครั้ง ซึ่งเป็นส่วนหนึ่งของการติดตั้งใช้งานอินเทอร์เฟซ 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.
    }
}

แอปตัวอย่าง

ดาวน์โหลดแอปตัวอย่าง เพื่อดูการติดตั้งใช้งานการคั่นหน้า