إشارات مرجعية

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

ما وضع الإشارات المرجعية؟

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

مزيد من التفاصيل حول وضع إشارات DAI المرجعية

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

طرق التحويل إلى الإنقاذ

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

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

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

نموذج التطبيق

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