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

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

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

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

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

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

استخدام Media3 ExoPlayer

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

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

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

استخدام Media3 MediaSession

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

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

للحصول على مزيد من المعلومات حول إنشاء تطبيق لتشغيل الوسائط، يمكنك الاطّلاع على إنشاء مشغّل وسائط أساسي باستخدام 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" وتقديم اشتراكات سلسة

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

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

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