שמירה וטעינה של סימניות בסטרימינג של מודעות

במדריך הזה מוסבר איך להטמיע סימניות באמצעות IMA DAI SDK כשמשתמשים בהטמעה של מודעות דינמיות (DAI) בשידורי וידאו על פי דרישה (VOD). ההנחה היא שהטמעת IMA DAI פועלת, כמו זו שמתוארת בקטע תחילת העבודה.

מהי הוספה לסימניות?

סימון בסימנייה הוא היכולת לשמור נקודה ספציפית בסטרימינג של התוכן ולחזור אליה מאוחר יותר. נניח שמשתמש צופה בחמש דקות תוכן, יוצא מהשידור של הסרטון ואז חוזר אליו. כשמשתמשים בסימניות, המיקום של המשתמש בשידור נשמר, כך שהשידור יכול להמשיך מהמקום שבו הופסק, וכך לספק לצופים חוויה חלקה.

איך פועלת הוספת סימניות ל-DAI

כשמוסיפים לסימניות שידור DAI, צריך לתעד את מזהה השידור ואת הזמן שבו המשתמש עזב את הסרטון. כשהמשתמש יחזור, צריך לבקש מחדש את השידור ולדלג לזמן השמור. מכיוון שלכל מופע של השידור המבוקש יכולים להיות הפסקות למודעות באורך שונה, לא ניתן פשוט לשמור את זמן השידור. מה שרוצים לעשות הוא להמשיך מאותו זמן תוכן.

שיטות המרה שיעזרו לכם

IMA DAI SDK מספק שתי שיטות לבקשת זמן התוכן עבור זמן שידור נתון, וזמן השידור עבור זמן תוכן נתון. באמצעות שיטות ההמרה האלה תוכלו לשמור את זמן התוכן שמסומן בסימנייה, ואז לדלג לזמן הסטרימינג התואם במופע החדש של הסטרימינג. ריכזנו כאן את הגישה, כולל קישור לאפליקציה לדוגמה שמציגה הטמעה עובדת של סימניות.

שמירה וטעינה של סימניות בסטרימינג של מודעות

שומרים סימנייה כשנגן התוכן מושהה.

onPause() {
   var bookmarkTime = Math.floor(
   streamManager.contentTimeForStreamTime(videoElement.currentTime));
}

טעינה של סימניות

אפשר לטעון את הסימנייה כששולחים מחדש בקשה לשידור.

function loadUrl(url) {
  hls.on(Hls.Events.MANIFEST_PARSED, () => {
    var startTime = 0;
    if (bookmarkTime) {
      var startTime = streamManager.streamTimeForContentTime(bookmarkTime);
      // Seeking on load triggers the onSeekEnd event, so treat this seek as
      // if it's snapback. Without this, resuming at a bookmark kicks you
      // back to the ad before the bookmark.
      isSnapback = true;
    }
    hls.startLoad(startTime);
    videoElement.addEventListener('loadedmetadata', () => { videoElement.play(); });
  });
  hls.loadSource(url);
  hls.attachMedia(videoElement);
}

אפליקציה לדוגמה

מורידים את האפליקציה לדוגמה כדי לראות הטמעה של סימניות.