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

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

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

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

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

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

استخدام Media3 ExoPlayer

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

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

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

استخدام Media3 MediaSession

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

تأخذ فئة MediaSession الجديدة أي فئة تنفّذ واجهة "المشغّل". كل من 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، وهي فئة تنفذ واجهة المشغّل. يتيح توصيل جلسة الوسائط بالمشغل للتطبيق الإعلان عن تشغيل الوسائط خارجيًا وتلقي أوامر التشغيل من مصادر خارجية. تفوض جلسة الوسائط هذه الأوامر إلى مشغّل تطبيق الوسائط.

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

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

تجنُّب انقطاع الخدمة في تطبيقك

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

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

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

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

اعتبارات أخرى

أثناء توسيع نطاق تطبيق الوسائط ليشمل Android for 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 والموالفات المُدمَجة ومصادر البرامج، مثل الفيديوهات التي يتم بثها على الإنترنت. للحصول على مزيد من المعلومات، يُرجى الاطّلاع على إنشاء خدمات إدخال التلفزيون.