يوفّر Android تجربة مستخدم غنية محسّنة للتطبيقات التي تعمل على الأجهزة المزوّدة بشاشات كبيرة، مثل أجهزة التلفزيون عالية الدقة. يمكنك توسيع قاعدة مستخدمي تطبيقك من خلال تطويره لأجهزة Android TV. يوفّر هذا المستند إرشادات حول كيفية تنفيذ ذلك بفعالية.
إنشاء تطبيقات التلفزيون
تستخدم تطبيقات التلفزيون البنية نفسها المستخدَمة في تطبيقات الهواتف والأجهزة اللوحية. يعني هذا النهج أنّه يمكنك إنشاء تطبيقات جديدة للتلفزيون استنادًا إلى ما تعرفه حاليًا عن إنشاء تطبيقات لنظام التشغيل Android، أو توسيع نطاق تطبيقاتك الحالية لتعمل أيضًا على أجهزة التلفزيون.
ومع ذلك، يختلف نموذج تفاعل المستخدم مع التلفزيون بشكل كبير عن الأجهزة المزوّدة بالهواتف والأجهزة اللوحية. لضمان نجاح تطبيقك على أجهزة التلفزيون، يجب تصميم تنسيقات جديدة يمكن فهمها بوضوح من مسافة 3 أمتار، وتوفير إمكانية التنقّل باستخدام لوحة اتجاهات وزر اختيار فقط.
لمزيد من المعلومات حول العوامل التي يجب أخذها في الاعتبار، مثل كيفية التعامل مع الأجهزة المخصّصة للتلفزيون وعناصر التحكّم وإنشاء تنسيقات التلفزيون وإنشاء تنقّل على التلفزيون، يُرجى الاطّلاع على مقالة إنشاء تطبيقات التلفزيون.
استخدام Media3 ExoPlayer
توفّر Jetpack Media3 واجهة مشغّل تحدّد الميزات الأساسية، مثل إمكانية تشغيل الأغنية وإيقافها مؤقتًا والتقديم والترجيع وعرض معلومات الأغنية. ExoPlayer هو التنفيذ التلقائي لهذه الواجهة في Media3.
مقارنةً بواجهة برمجة التطبيقات MediaPlayer API في Android، توفّر هذه الواجهة ميزات إضافية، مثل التوافق مع بروتوكولات بث متعددة وأدوات عرض الصوت والفيديو التلقائية، والمكونات التي تعالج التخزين المؤقت للوسائط.
يمكنك تخصيص ExoPlayer وتوسيع نطاقه، ويمكن تحديثه من خلال تحديثات التطبيقات في "متجر Play". لمزيد من المعلومات، يُرجى الاطّلاع على Media3 ExoPlayer.
استخدام Media3 MediaSession
توفّر جلسات الوسائط طريقة عامة للنظام للتفاعل مع مشغّل الصوت أو الفيديو في تطبيقك. من السمات الأساسية التي تُميّز Media3 عن واجهات برمجة تطبيقات الوسائط السابقة أنّه لم يعُد هناك حاجة إلى استخدام معالِجات بين المكوّنات.
تأخذ فئة MediaSession
الجديدة أي فئة تنفّذ واجهة Player. كلّ من 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 و الموالف المدمجة، ومصادر البرامج، مثل الفيديوهات التي يتم بثّها عبر الإنترنت. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء خدمات إدخال بيانات التلفزيون.