تصحيح أخطاء تطبيقات جهاز استقبال البث

1. نظرة عامة

شعار Google Cast

سيعلمك هذا الدليل التعليمي كيفية إضافة "مُسجِّل تصحيح أخطاء البث" إلى تطبيق "مُستلِم الويب المخصّص" الحالي.

ما هي تكنولوجيا Google Cast؟

تسمح حزمة تطوير البرامج لتكنولوجيا Google Cast لتطبيقك بتشغيل المحتوى والتحكّم في التشغيل على الأجهزة التي تعمل بتكنولوجيا Google Cast. يوفّر لك هذا الدليل مكونات واجهة المستخدم اللازمة استنادًا إلى قائمة التحقّق من تصميم Google Cast.

يتم توفير قائمة التحقّق من تصميم Google Cast لجعل تجربة المستخدم في Cast بسيطة ويمكن توقّعها على جميع المنصات المتوافقة.

ما الذي سنبنيه؟

عند الانتهاء من هذا الدليل التعليمي حول الرموز البرمجية، سيكون لديك مستقبل ويب مخصّص مدمج مع "مُسجِّل تصحيح أخطاء البث".

اطّلِع على دليل Cast Debug Logger للاطّلاع على التفاصيل والمزيد من المعلومات.

المُعطيات

  • كيفية إعداد بيئتك لتطوير جهاز الاستقبال على الويب
  • كيفية دمج Debug Logger في جهاز استقبال البث

المتطلبات

  • أحدث إصدار من متصفّح Google Chrome
  • خدمة استضافة HTTPS، مثل استضافة Firebase أو ngrok
  • جهاز Google Cast، مثل Chromecast أو Android TV تم ضبطه للوصول إلى الإنترنت
  • تلفزيون أو شاشة مزوّدة بمنفذ إدخال HDMI.

تجربة الاستخدام

  • يجب أن تكون لديك تجربة سابقة للبث وأن تعرف كيفية عمل جهاز استقبال الويب Cast.
  • يجب أن يكون لديك معرفة سابقة بتطوير الويب.
  • ستحتاج أيضًا إلى معرفة سابقة بمشاهدة التلفزيون :)

كيف ستستخدم هذا الدليل التعليمي؟

قراءة النص فقط قراءته وإكمال التمارين

كيف تقيّم تجربتك في إنشاء تطبيقات الويب؟

مبتدئ متوسط متقدّم

ما مدى رضاك عن تجربة مشاهدة التلفزيون؟

مبتدئ متوسط خبير

2. الحصول على نموذج الرمز

يمكنك تنزيل جميع الرموز النموذجية على جهاز الكمبيوتر...

وفك ضغط ملف ZIP الذي تم تنزيله.

3- نشر جهاز الاستقبال على الجهاز

لكي تتمكّن من استخدام مستقبل الويب مع جهاز Cast، يجب استضافته في مكان يمكن لجهاز Cast الوصول إليه. إذا كان لديك خادم متاح بالفعل يتوافق مع https، فتخط التعليمات التالية ودوِّن عنوان URL، حيث ستحتاج إليه في القسم التالي.

إذا لم يكن لديك خادم متاح للاستخدام، يمكنك استخدام استضافة Firebase أو ngrok.

تشغيل الخادم

بعد إعداد الخدمة التي تختارها، انتقِل إلى app-start وابدأ تشغيل الخادم.

دوِّن عنوان URL لجهاز الاستقبال المستضاف. ستستخدمه في القسم التالي.

4. تسجيل تطبيق في Cast Developer Console

يجب تسجيل تطبيقك لتتمكّن من تشغيل Web Receiver مخصّص، كما تم إنشاؤه في هذا الدليل التعليمي حول رموز البرامج، على أجهزة Chromecast. بعد تسجيل تطبيقك، ستتلقّى معرّف تطبيق يجب أن يستخدمه تطبيق المُرسِل لإجراء طلبات البيانات من واجهة برمجة التطبيقات، مثل تشغيل تطبيق المُستلِم.

صورة لوحدة تحكّم المطوّر في أجهزة البث مع تمييز الزر "إضافة تطبيق جديد"

انقر على "إضافة تطبيق جديد"

صورة لشاشة "تطبيق مستلِم جديد" مع تمييز الخيار "مستلِم مخصّص"

اختَر "مستلِم مخصّص"، وهو ما سننشئه.

صورة لحقل "عنوان URL لتطبيق المستلِم" في مربّع الحوار "مستلِم مخصّص جديد" أثناء ملؤه

أدخِل تفاصيل جهاز الاستقبال الجديد، واحرص على استخدام عنوان URL من القسم الأخير. دوِّن رقم تعريف التطبيق الذي تمّ تعيينه لجهاز الاستقبال الجديد.

عليك أيضًا تسجيل جهاز Google Cast ليتمكّن من الوصول إلى تطبيق المُستلِم قبل نشره. بعد نشر تطبيق المُستلِم، سيكون متاحًا لجميع أجهزة Google Cast. لأغراض هذا الدرس التطبيقي حول الترميز، ننصحك بالعمل مع تطبيق مستقبل لم يتم نشره.

صورة لوحدة تحكّم المطوّر في Google Cast SDK مع تمييز الزر "إضافة جهاز جديد"

انقر على "إضافة جهاز جديد".

صورة لمربّع الحوار "إضافة جهاز استقبال بث"

أدخِل الرقم التسلسلي المطبوع على الجهة الخلفية من جهاز البث وأضِف إليه اسمًا وصفيًا. يمكنك أيضًا العثور على الرقم التسلسلي من خلال بث الشاشة في Chrome عند الوصول إلى Play Console لـ Google Cast SDK.

سيستغرق إعداد الجهاز والاستقبال للاختبار من 5 إلى 15 دقيقة. بعد الانتظار من 5 إلى 15 دقيقة، يجب إعادة تشغيل جهاز البث.

5- تشغيل نموذج التطبيق

شعار Google Chrome

في انتظار أن يصبح تطبيق Web Receiver الجديد جاهزًا للاختبار، لنلقِ نظرة على شكل نموذج تطبيق Web Receiver مكتمل. سيكون جهاز الاستقبال الذي سننشئه قادرًا على تشغيل الوسائط باستخدام ميزة "البث بمعدّل نقل بيانات متكيّف".

  1. في المتصفّح، افتح أداة الأوامر والتحكّم (CaC).

صورة لعلامة التبويب "عناصر التحكّم في Cast Connect وLogger" ضمن أداة "التحكّم والتوجيه" (CaC)

  1. استخدِم رقم تعريف مستلِم CC1AD845 التلقائي وانقر على الزرّ SET APP ID.
  2. انقر على زر البث في أعلى يمين الشاشة واختَر جهازك الذي يعمل بتكنولوجيا Google Cast.

صورة لعلامة التبويب "عناصر التحكّم في Cast Connect وLogger " ضمن أداة "التحكّم والتوجيه" (CaC) تشير إلى أنّها مرتبطة بتطبيق مستقبل

  1. انتقِل إلى علامة التبويب LOAD MEDIA في أعلى الصفحة.

صورة لعلامة التبويب "تحميل الوسائط" في أداة "القيادة والتحكّم"

  1. تغيير زر اختيار نوع الطلب إلى LOAD
  2. انقر على الزر SEND REQUEST لتشغيل عيّنة فيديو.
  3. سيبدأ تشغيل الفيديو على جهازك المزوّد بتقنية Google Cast لعرض وظائف جهاز الاستقبال الأساسية باستخدام "جهاز الاستقبال التلقائي".

6- إعداد مشروع البدء

يجب إضافة ميزة التوافق مع Google Cast إلى تطبيق البدء الذي نزّلته. في ما يلي بعض المصطلحات المتعلّقة بخدمة Google Cast التي سنستخدمها في هذا الدليل التعليمي حول البرمجة:

  • تشغيل تطبيق المرسِل على جهاز جوّال أو كمبيوتر محمول،
  • تطبيق مستلِم يعمل على جهاز Google Cast أو Android TV

أنت الآن جاهز لتطوير المشروع الأساسي باستخدام محرِّر النصوص المفضّل لديك:

  1. اختَر الدليل رمز المجلدapp-start من ملف نموذج الرمز الذي نزّلته.
  2. فتح js/receiver.js وindex.html

يُرجى العلم أنّه أثناء العمل على هذا الدرس التطبيقي حول الترميز، من المفترض أن ينفّذ "http-server" التغييرات التي تجريها. إذا لم يحدث ذلك، جرِّب إيقاف http-server وإعادة تشغيله.

تصميم التطبيق

يهيئ تطبيق الاستقبال جلسة البث وسيبقى في وضع الاستعداد إلى أن يصله طلب تحميل (مثل أمر تشغيل ملف من الوسائط).

يتألف التطبيق من عرض رئيسي واحد محدّد في index.html وملف JavaScript واحد باسم js/receiver.js يحتوي على كل المنطق الذي يُشغِّل جهاز الاستقبال.

index.html

يحتوي ملف html هذا على جميع عناصر واجهة المستخدم لتطبيق جهاز الاستقبال.

receiver.js

يدير هذا النص البرمجي كل منطق تطبيق المُستلِم.

الأسئلة الشائعة

7- الدمج مع CastDebugLogger API

توفّر حزمة تطوير البرامج (SDK) لجهاز الاستقبال في Google Cast خيارًا آخر للمطوّرين لتصحيح أخطاء تطبيق المتلقي بسهولة باستخدام واجهة برمجة التطبيقات CastDebugLogger API.

اطّلِع على دليل Cast Debug Logger للاطّلاع على التفاصيل والمزيد من المعلومات.

الإعداد

أدرِج النص البرمجي التالي في علامة <head> في تطبيق المستلِم بعد النص البرمجي لحزمة تطوير البرامج (SDK) لجهاز الاستقبال مباشرةً، في index.html:

<head>
  ...
  <script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
  <!-- Cast Debug Logger -->
  <script src="//www.gstatic.com/cast/sdk/libs/devtools/debug_layer/caf_receiver_logger.js"></script>
</head>

في js/receiver.js في أعلى الملف وأسفل playerManager، احصل على مثيل CastDebugLogger وفعِّل أداة التسجيل في مستمع أحداث READY:

const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();

// Debug Logger
const castDebugLogger = cast.debug.CastDebugLogger.getInstance();
const LOG_TAG = 'MyAPP.LOG';

// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
context.addEventListener(cast.framework.system.EventType.READY, () => {
  if (!castDebugLogger.debugOverlayElement_) {
      castDebugLogger.setEnabled(true);
  }
});

عندما يكون مسجّل تصحيح الأخطاء مفعَّلاً، يتم عرض تراكب DEBUG MODE على الجهاز المستلِم.

صورة لفيديو يتم تشغيله مع رسالة &quot;وضع تصحيح الأخطاء&quot; على خلفية حمراء في الزاوية العلوية اليمنى من الإطار

تسجيل أحداث اللاعبين

باستخدام CastDebugLogger، يمكنك بسهولة تسجيل أحداث المشغّل التي تنشئها حزمة تطوير البرامج (SDK) لجهاز استقبال الويب في Cast واستخدام مستويات مختلفة لتسجيل البيانات. تأخذ إعدادات loggerLevelByEvents cast.framework.events.EventType وcast.framework.events.category لتحديد الأحداث التي سيتم تسجيلها.

أضِف ما يلي أسفل أداة معالجة الأحداث READY لتسجيل الدخول عند تشغيل أحداث CORE الخاصة بالمشغّل أو عند بث تغيير في mediaStatus:

...

// Set verbosity level for Core events.
castDebugLogger.loggerLevelByEvents = {
  'cast.framework.events.category.CORE': cast.framework.LoggerLevel.INFO,
  'cast.framework.events.EventType.MEDIA_STATUS': cast.framework.LoggerLevel.DEBUG
};

رسائل السجلّ والعلامات المخصّصة

تتيح لك واجهة برمجة التطبيقات CastDebugLogger API إنشاء رسائل سجلّ تظهر بألوان مختلفة على تراكب تصحيح أخطاء جهاز الاستقبال. استخدِم طرق السجلّ التالية، بالترتيب من الأولوية القصوى إلى الأدنى:

  • castDebugLogger.error(custom_tag, message);
  • castDebugLogger.warn(custom_tag, message);
  • castDebugLogger.info(custom_tag, message);
  • castDebugLogger.debug(custom_tag, message);

لكل طريقة تسجيل، يجب أن تكون المَعلمة الأولى هي علامة مخصّصة والمَعلمة الثانية هي رسالة السجلّ. يمكن أن تكون العلامة أي سلسلة تجدها مفيدة.

لعرض السجلّات أثناء تنفيذها، أضِف السجلّات إلى LOAD معرّف الجلسة.

playerManager.setMessageInterceptor(cast.framework.messages.MessageType.LOAD,
      loadRequestData => {
    // Listed in order from highest to lowest priority.
    castDebugLogger.error(LOG_TAG, 'Test error log');

    castDebugLogger.warn(LOG_TAG, 'Test warn log');

    castDebugLogger.info(LOG_TAG, 'Intercepting LOAD request', loadRequestData);

    castDebugLogger.debug(LOG_TAG, 'Test debug log');

    return loadRequestData;
  }
);

يمكنك التحكّم في الرسائل التي تظهر على تراكب تصحيح الأخطاء عن طريق ضبط مستوى السجلّ في loggerLevelByTags لكل علامة مخصّصة. على سبيل المثال، سيؤدي تفعيل علامة مخصّصة بمستوى السجلّ cast.framework.LoggerLevel.DEBUG إلى عرض جميع الرسائل التي تمت إضافتها مع رسائل سجلّ الأخطاء والتحذيرات والمعلومات وتصحيح الأخطاء. مثال آخر هو أنّ تفعيل علامة مخصّصة بمستوى WARNING سيؤدي إلى عرض رسائل السجلّ المتعلّقة بالأخطاء والتحذيرات فقط.

إنّ إعدادات loggerLevelByTags اختيارية. إذا لم يتم ضبط علامة مخصَّصة على مستوى المسجِّل، ستظهر جميع رسائل السجلّ على تراكب تصحيح الأخطاء.

أضِف ما يلي أسفل طلب loggerLevelByEvents:

...

// Set verbosity level for custom tags.
castDebugLogger.loggerLevelByTags = {
    LOG_TAG: cast.framework.LoggerLevel.DEBUG, // display all levels
};

...

8. استخدام Debug Overlay

يقدّم "مُسجِّل تصحيح الأخطاء في البث" تداخل تصحيح الأخطاء على جهاز الاستقبال لعرض رسائل السجلّ المخصّصة. استخدِم showDebugLogs لتفعيل تراكب تصحيح الأخطاء وclearDebugLogs لمحو رسائل السجلّ في التراكب.

أضِف ما يلي إلى أداة معالجة الحدث READY لمعاينة تراكب تصحيح الأخطاء على جهاز الاستقبال:

// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
context.addEventListener(cast.framework.system.EventType.READY, () => {
  if (!castDebugLogger.debugOverlayElement_) {
      castDebugLogger.setEnabled(true);

      // Show debug overlay.
      castDebugLogger.showDebugLogs(true);

      // Clear log messages on debug overlay.
      castDebugLogger.clearDebugLogs();
  }
});

صورة تعرض تراكب تصحيح الأخطاء، وهي قائمة برسائل سجلّ تصحيح الأخطاء على خلفية شفافة فوق إطار فيديو

9. استخدام أداة "القيادة والتحكّم" (CaC)

نظرة عامة

تُسجِّل أداة القيادة والتحكّم (CaC) السجلّات وتتحكّم في تراكب تصحيح الأخطاء.

هناك طريقتان لربط جهاز الاستقبال بأداة CaC:

بدء اتصال بث جديد:

  1. افتح أداة CaC، واضبط رقم تعريف تطبيق جهاز الاستقبال، وانقر على زر البث لبث المحتوى إلى جهاز الاستقبال.
  2. بث تطبيق مُرسِل منفصل على الجهاز نفسه باستخدام رقم تعريف تطبيق المُستلِم نفسه
  3. حمِّل الوسائط من تطبيق المُرسِل وستظهر رسائل السجلّ في الأداة.

الانضمام إلى جلسة بث حالية:

  1. الحصول على معرّف جلسة البث الجارية باستخدام حزمة تطوير البرامج (SDK) الخاصة بالمستلِم أو حزمة تطوير البرامج (SDK) الخاصة بالمُرسِل من جهة المُستلِم، أدخِل ما يلي للحصول على معرّف الجلسة في وحدة تحكُّم برنامج تصحيح الأخطاء عن بُعد في Chrome:
cast.framework.CastReceiverContext.getInstance().getApplicationData().sessionId;

أو يمكنك الحصول على رقم تعريف الجلسة من مُرسِل ويب مرتبط، وذلك باستخدام الطريقة التالية:

cast.framework.CastContext.getInstance().getCurrentSession().getSessionId();

صورة لعلامة التبويب &quot;عناصر التحكّم في Cast Connect وLogger&quot; ضمن أداة &quot;التحكّم والمراقبة&quot; (CaC) لاستئناف الجلسة

  1. أدخِل معرّف الجلسة في أداة CaC وانقر على الزر RESUME.
  2. من المفترض أن يكون الزر "بث" متصلاً وأن يبدأ بعرض رسائل السجلّ على الأداة.

اقتراحات

بعد ذلك، سنستخدم أداة CaC للاطلاع على السجلات على نموذج التلقي.

  1. افتح أداة CaC.

صورة لعلامة التبويب &quot;عناصر التحكّم في Cast Connect وLogger&quot; ضمن أداة &quot;التحكّم والتوجيه&quot; (CaC)

  1. أدخِل رقم تعريف التطبيق المستلِم لنموذج التطبيق، ثم انقر على الزر SET APP ID.
  2. انقر على زر البث في أعلى يمين الشاشة واختَر جهازك المزوّد بتكنولوجيا Google Cast لفتح جهاز الاستقبال.

صورة لعلامة التبويب &quot;عناصر التحكّم في Cast Connect وLogger &quot; ضمن أداة &quot;التحكّم والتوجيه&quot; (CaC) تشير إلى أنّها مرتبطة بتطبيق مستقبل

  1. انتقِل إلى علامة التبويب LOAD MEDIA في أعلى الصفحة.

صورة لعلامة التبويب &quot;تحميل الوسائط&quot; في أداة &quot;القيادة والتحكّم&quot;

  1. تغيير زر اختيار نوع الطلب إلى LOAD
  2. انقر على الزر SEND REQUEST لتشغيل عيّنة فيديو.

صورة لعلامة التبويب &quot;عناصر التحكّم في Cast Connect وLogger&quot; ضمن أداة &quot;التحكّم والتوجيه&quot; (CaC) مع رسائل السجلّ التي تملأ اللوحة السفلية

  1. من المفترض أن يتم الآن تشغيل نموذج فيديو على جهازك. من المفترض أن تبدأ في رؤية السجلات من الخطوات السابقة في علامة التبويب "تسجيل الرسائل" في أسفل الأداة.

جرِّب استكشاف الميزات التالية لفحص السجلّات والتحكّم في المُستلِم:

  • انقر على علامة التبويب MEDIA INFO أو MEDIA STATUS للاطّلاع على معلومات الوسائط وحالتها.
  • انقر على الزر SHOW OVERLAY لعرض تراكب تصحيح الأخطاء على جهاز الاستقبال.
  • استخدِم الزر CLEAR CACHE AND STOP لإعادة تحميل تطبيق جهاز الاستقبال وبث المحتوى مرة أخرى.

10. تهانينا

لديك الآن معلومات عن كيفية إضافة "مُسجِّل تصحيح أخطاء البث" إلى تطبيق "مُستلِم الويب" المتوافق مع البث باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK) لـ "مُستلِم البث".

لمعرفة مزيد من التفاصيل، يُرجى الاطّلاع على أدلة المطوِّرين مسجّل تصحيح أخطاء البث وأداة الأوامر والتحكّم (CaC).