توسيع نطاق تطبيق الوسائط ليشمل Android TV

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

إنشاء تطبيقات بث تلفزيوني

تستخدم تطبيقات بث تلفزيوني البنية نفسها المستخدَمة في تطبيقات الهواتف والأجهزة اللوحية. يعني هذا الأسلوب أنه يمكنك إنشاء تطبيقات بث تلفزيوني جديدة بناءً على ما تعرفه بالفعل عن إنشاء تطبيقات لنظام Android، أو توسيع تطبيقاتك الحالية لتعمل أيضًا على أجهزة التلفزيون.

ومع ذلك، يختلف نموذج تفاعل المستخدم مع التلفزيون اختلافًا كبيرًا عن الهواتف والأجهزة اللوحية. لتحقيق النجاح لتطبيقك على أجهزة التلفزيون، عليك تصميم تنسيقات جديدة يمكن فهمها بوضوح من مسافة 3 أمتار، وتوفير إمكانية التنقّل التي تعمل باستخدام لوحة الاتجاهات وزر الاختيار فقط.

لمزيد من المعلومات حول الاعتبارات مثل كيفية التعامل مع وحدات التحكّم في أجهزة التلفزيون وإنشاء تنسيقات التلفزيون وإنشاء التنقّل في التلفزيون، يُرجى الاطّلاع على إنشاء تطبيقات بث تلفزيوني.

استخدام Media3 ExoPlayer

توفّر Jetpack Media3 واجهة Player تحدّد الميزات الأساسية، مثل القدرة على تشغيل معلومات المقطع الصوتي وإيقافها مؤقتًا والبحث عنها وعرضها. ‫ExoPlayer هو التنفيذ التلقائي لهذه الواجهة في Media3.

ومقارنةً بواجهة برمجة التطبيقات MediaPlayer API في Android، توفّر هذه الواجهة ميزات إضافية، مثل إتاحة بروتوكولات بث متعددة، وأدوات عرض تلقائية للصوت والفيديو، ومكوّنات تعالج تخزين الوسائط مؤقتًا.

يمكنك تخصيص ExoPlayer وتوسيعه، ويمكن تحديثه من خلال تحديثات تطبيق "متجر Google Play". لمزيد من المعلومات، يُرجى الاطّلاع على Media3 ExoPlayer.

استخدام Media3 MediaSession

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

تقبل فئة MediaSession الجديدة أي فئة تنفّذ واجهة Player. ‫ExoPlayer وMediaController هما فئتان تنفّذان هذه الواجهة. ويسهّل ذلك التفاعل بين المكوّنات بشكل كبير. لمزيد من المعلومات، يُرجى الاطّلاع على واجهة المشغّل.

لمزيد من المعلومات حول إنشاء تطبيق لتشغيل الوسائط، يُرجى الاطّلاع على مقالة إنشاء مشغّل وسائط أساسي باستخدام ExoPlayer.

لتقديم أفضل تجربة للمستخدمين النهائيين لتطبيق الوسائط، عليك تنفيذ MediaSession. لإجراء ذلك، عليك إعداد Player وإرساله إلى MediaSession.Builder على النحو التالي:

Kotlin

val player = ExoPlayer.Builder(context).build()
val mediaSession = MediaSession.Builder(context, player).build()

Java

ExoPlayer player = new ExoPlayer.Builder(context).build();
MediaSession mediaSession = new MediaSession.Builder(context, player).build();

المعالجة التلقائية للحالة

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

التحكّم في التشغيل والإعلان عنه

في Media3، المشغّل التلقائي هو فئة ExoPlayer التي تنفّذ واجهة Player. يتيح ربط جلسة الوسائط بالمشغّل للتطبيق الإعلان عن تشغيل الوسائط خارجيًا وتلقّي أوامر التشغيل من مصادر خارجية. وتفوّض جلسة الوسائط هذه الأوامر إلى مشغّل تطبيق الوسائط.

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

لمزيد من المعلومات حول التشغيل، مثل كيفية تخصيص سلوك أمر التشغيل، يُرجى الاطّلاع على التحكّم في التشغيل والإعلان عنه باستخدام MediaSession.

تجنُّب حدوث انقطاعات في تطبيقك

يتيح لك استخدام MediaSession تجنُّب الانقطاعات غير الضرورية، مثل:

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

  • توقُّف تشغيل الموسيقى بشكل غير متوقّع عند الخروج من التطبيق أو إيقاف شاشة التلفزيون يتيح استخدام واجهات برمجة تطبيقات MediaSession مواصلة التشغيل في خدمة تُشغَّل في الخلفية.

  • التفاعل المحدود مع المحتوى الذي يمنع المستخدمين من التحكّم في التشغيل على سبيل المثال، العودة إلى تطبيقك إذا كان يشغّل الموسيقى في الخلفية، أو يتيح استخدام الطلبات الصوتية. باستخدام MediaSession في تطبيقك، يمكن للمستخدمين استخدام الطلبات الصوتية للبحث عن الأغاني أو الحلقات وتخطّيها.

اعتبارات إضافية

عند توسيع نطاق تطبيق الموسيقى ليشمل Android TV، عليك مراعاة مشاكل تسهيل الاستخدام، وكيفية زيادة التفاعل، وكيفية تمكين المستخدمين من العثور على المحتوى، بالإضافة إلى كيفية إنشاء الألعاب وخدمات إدخال التلفزيون.

أدوات تسهيل الاستخدام في التلفزيون

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

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

الخطوة الأولى نحو تحسين أدوات تسهيل الاستخدام هي الوعي. لمزيد من المعلومات حول تغيير حجم النص وتخطيطات لوحة المفاتيح والأوصاف الصوتية، يُرجى الاطّلاع على مراجع تسهيل الاستخدام.

أفضل الممارسات لزيادة التفاعل على Google TV

تعمل جميع التطبيقات المصمَّمة لأجهزة Android TV على الأجهزة التي تعمل بنظام التشغيل Google TV. لتقديم أفضل تجربة للمستخدم على Google TV، ننصحك بتطبيق أفضل الممارسات التالية.

يجب استخدام MediaSession لتوفير طريقة شاملة للتفاعل مع مشغّل الصوت أو الفيديو. لمزيد من المعلومات حول كيفية تنفيذ ذلك، يُرجى الاطّلاع على مقالة استخدام Media3 MediaSession.

كخطوة أساسية، يجب أن يكون تطبيقك متوافقًا مع Google Cast. تتيح لك هذه المنصة توسيع نطاق تطبيقات Android وiOS وChrome لتفعيل بث الصوت والفيديو على أجهزة Android TV وأجهزة Chromecast والأجهزة المزوّدة بخدمة "مساعد Google". لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Google Cast.

يمكنك أيضًا مساعدة المستخدمين في:

  • اكتشاف المحتوى على مساحات عرض مختلفة من خلال تقديم خلاصة إجراءات الوسائط أو دمج ميزة "اقتراحات أخرى"

  • استفِد من ميزات الصوت والتفاعل من خلال إتاحة ربط الحسابات ومزامنة الأذونات، وتوفير ميزة البث الصوتي، وتفعيل Cast Connect.

  • الدفع بسهولة أكبر من خلال دمج خدمة "الفوترة في Google Play" وتوفير اشتراكات سلسة

إنشاء إطار عمل لإدخال التلفزيون

تُعد مشاهدة البرامج التلفزيونية المباشرة والمحتوى المستمر الآخر المستند إلى القنوات جزءًا كبيرًا من تجربة التلفزيون. اعتاد المستخدمون على اختيار البرامج ومشاهدتها على التلفزيون من خلال تصفح القنوات. ينشئ إطار عمل إدخال التلفزيون قنوات لنشر محتوى الفيديو أو الموسيقى في دليل البرامج التلفزيونية.

يوفّر إطار عمل TV Input Framework طريقة موحّدة لتلقّي محتوى الفيديو المباشر وتشغيله من مصادر الأجهزة، مثل منافذ HDMI والموالفات المدمجة، ومصادر البرامج، مثل الفيديو الذي يتم بثه عبر الإنترنت. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء خدمات إدخال بيانات التلفزيون.