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