حفظ الإشارات المرجعية لبث الإعلانات وتحميلها

اختيار النظام الأساسي: HTML5 Android iOS tvOS Roku

يوضّح هذا الدليل كيفية تنفيذ ميزة وضع الإشارات المرجعية باستخدام حزمة تطوير البرامج لإدراج الإعلانات الديناميكية (DAI) من "إعلانات الوسائط التفاعلية" عند استخدام ميزة "إدراج الإعلانات الديناميكية" لبث الفيديوهات عند الطلب. يفترض هذا المثال أنّك تستخدم عملية تنفيذ IMA DAI، مثل تلك المعروضة في مقالة البدء.

ما هي إضافة المواقع الإلكترونية إلى الإشارات المرجعية؟

الإشارة المرجعية هي القدرة على حفظ نقطة معيّنة في بث المحتوى ثم الرجوع إليها. لنفترض أنّ أحد المستخدمين شاهد خمس دقائق من المحتوى، ثم غادر بث الفيديو، ثم عاد إليه. تتيح ميزة وضع الإشارة المرجعية للمستخدم حفظ موضع الفيديو في البث المباشر، ما يتيح له متابعة المشاهدة من حيث توقّف، وبالتالي توفير تجربة سلسة للمشاهد.

الإشارات المرجعية في "الإعلانات الديناميكية أثناء البث"

عند وضع إشارة مرجعية على بث DAI، عليك تسجيل معرّف البث والوقت عندما يغادر المستخدم الفيديو. عندما يعود المستخدم، أعِد طلب البث وانتقِل إلى الوقت المحفوظ. بما أنّ كل مثيل من البث المطلوب يمكن أن يتضمّن فواصل إعلانية بمدد مختلفة، لن يكون حفظ وقت البث كافيًا. ما عليك فعله هو المتابعة من وقت المحتوى نفسه.

طُرق الإحالة الناجحة في الخدمة

توفّر حزمة تطوير البرامج (SDK) الخاصة بإعلانات البث المباشر من "إعلانات الوسائط التفاعلية" طريقتَين لطلب وقت المحتوى لوقت بث معيّن ووقت البث لوقت محتوى معيّن. باستخدام طرق التحويل هذه، يمكنك تخزين وقت المحتوى الذي تمت إضافة إشارة مرجعية إليه، ثم البحث عن وقت البث المقابل في مثيل جديد من البث. في ما يلي الطريقة، بما في ذلك رابط إلى تطبيق نموذجي يعرض عملية تنفيذ ناجحة للإشارات المرجعية.

حفظ الإشارات المرجعية

حفظ إشارة مرجعية عند إيقاف 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.
    }
}

تطبيق نموذجي

نزِّل تطبيق Sample للاطّلاع على طريقة تنفيذ ميزة الإشارات المرجعية.