تتطلب أجهزة التلفزيون جهازًا ثانويًا للتفاعل مع التطبيقات، وهو جهاز أساسي وحدة التحكم عن بُعد أو ذراع التحكم في الألعاب. لذلك، يجب أن يتيح تطبيقك إدخال لوحة الاتجاهات (D-pad). بالإضافة إلى ذلك، قد يحتاج تطبيقك إلى التعامل مع وحدات التحكّم غير المتصلة بالإنترنت والإدخال من أكثر من وحدة تحكّم. نوع وحدة التحكم.
يناقش هذا الدليل متطلبات التعامل مع وحدات التحكّم في أجهزة التلفزيون.
الحدّ الأدنى لعناصر التحكّم على لوحة التحكّم
وحدة التحكّم التلقائية لجهاز التلفزيون هي لوحة التحكّم. بشكل عام، يجب أن يكون تطبيقك قابلاً للتشغيل من وحدة تحكُّم عن بُعد تتضمّن فقط أزرارًا للأعلى وللأسفل ولليسار ولليمين وللاختيار ورجوع والصفحة الرئيسية. إذا كان تطبيقك هي لعبة تتطلّب عادةً وحدة تحكّم في الألعاب مزوّدة بعناصر تحكّم إضافية، محاولة دعم أسلوب اللعب باستخدام عناصر التحكّم في لوحة التحكّم فقط بخلاف ذلك، حذّر المستخدم من أنه يجب توفُّر وحدة تحكُّم والسماح لهم بالخروج من اللعبة بشكل سلس باستخدام لوحة التحكّم.
لمزيد من المعلومات حول التنقّل باستخدام أزرار لوحات التحكّم لأجهزة التلفزيون، يُرجى الاطّلاع على التنقّل في التلفزيون:
إلغاء ربط وحدة التحكّم في الاسم المعرِّف
غالبًا ما تكون وحدات التحكم في التلفزيون أجهزة بلوتوث، وقد تحاول توفير الطاقة عن طريق الانتقال إلى وضع السكون وإلغاء الاتصال بجهاز التلفزيون. وهذا يعني أن التطبيق قد يكون تمت مقاطعته أو إعادة تشغيله إذا لم يتم إعداده للتعامل مع أحداث إعادة الاتصال هذه. هذه الأحداث في أي من الحالات التالية:
- في الوقت الذي يتم فيه تشغيل فيديو تبلغ مدته عدة دقائق، يتم تشغيل لوحة تحكّم أو لعبة قد تنتقل وحدة التحكّم إلى "وضع السكون" وتُقطع اتصالها بجهاز التلفزيون وتُعيد توصيلها لاحقًا.
- أثناء اللعب، قد ينضم لاعب جديد إلى اللعبة باستخدام ذراع تحكُّم في الألعاب غير متصل بالفعل.
- أثناء اللعب، قد يغادر اللاعب اللعبة ويقطع اتصال ذراع التحكّم في الألعاب.
يجب ضبط أي نشاط على تطبيقات البث التلفزيوني قد يؤدي إلى إلغاء ربط الأحداث وإعادة ربطها التعامل مع أحداث إعادة الربط في بيان التطبيق. يوضح نموذج التعليمة البرمجية التالي كيفية تفعيل نشاط لمعالجة تغييرات الضبط، بما في ذلك لوحة المفاتيح أو جهاز التنقّل الاتصال أو قطع الاتصال أو إعادة الاتصال:
<activity android:name="com.example.android.TvActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|navigation" android:theme="@style/Theme.Leanback"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> ... </activity>
يتيح هذا التغيير في الإعدادات مواصلة تشغيل التطبيق خلال عملية إعادة الاتصال. الحدث - بدلاً من إعادة تشغيله باستخدام إطار عمل Android تجربة مستخدم جيدة.
التعامل مع تباينات لوحة التحكّم
قد يكون لدى مستخدمي أجهزة التلفزيون أكثر من نوع واحد من وحدات التحكّم التي يستخدمونها مع أجهزة التلفزيون. بالنسبة على سبيل المثال، قد يكون لدى المستخدم وحدة تحكم أساسية في لوحة التحكم ووحدة تحكم في الألعاب. رموز المفاتيح التي توفّرها وحدة التحكّم في الألعاب عند استخدامها لوظائف لوحة التحكّم، وقد تختلف هذه المعلومات عن المفتاح الرموز التي يتم إرسالها بواسطة لوحة التحكم الأساسية.
التعامل مع الاختلافات في إدخال لوحة التحكّم حتى لا يضطر المستخدم إلى ذلك تبديل وحدات التحكم لتشغيل تطبيقك. لمزيد من المعلومات حول طريقة الدفع الأنماط المختلفة للإدخال، يمكنك مراجعة إدخال لوحة اتجاهات العملية:
التعامل مع أحداث الزرّ
عندما ينقر المستخدم على زر في وحدة التحكّم، يتلقّى تطبيقك حدثًا يتضمّن
KeyEvent
المقصود
قد يكون سلوك الزر حدثًا من الوسائط، مثل تشغيل أو إيقاف مؤقت أو إيقاف، أو قد يكون حدثًا من نوع جهاز تلفزيون، مثل
أو التنقل. لتقديم تجربة جيدة للمستخدم، يمكنك تعيين
السلوك إلى أزرار وحدة التحكم.
أحداث واجهة مستخدم التلفزيون
تحديد سلوك واجهة مستخدم التلفزيون للأزرار التي تنشئ "KeyEvent
"
كما هو موضح في الجدول التالي:
KeyEvent | السُلوك |
---|---|
KEYCODE_BUTTON_B ، KEYCODE_BACK | رجوع |
KEYCODE_BUTTON_SELECT ، KEYCODE_BUTTON_A ، KEYCODE_ENTER ،
KEYCODE_DPAD_CENTER ، KEYCODE_NUMPAD_ENTER | الاختيار |
KEYCODE_DPAD_UP ، KEYCODE_DPAD_DOWN ، KEYCODE_DPAD_LEFT ،
KEYCODE_DPAD_RIGHT | التنقّل |
أحداث الوسائط
عندما يشاهد المستخدم الوسائط، قم بتعيين السلوك للأزرار التي تنشئ
KeyEvent
نوعًا كما هو موضح في الجدول التالي. إذا كان تطبيقك يتحكّم
MediaSession
،
استخدام MediaControllerAdapter
للاتصال بأحد MediaControllerCompat.TransportControls
الموضحة في الجدول. لاحظ أن زري التحديد يعملان كـ "تشغيل" أو "إيقاف مؤقت"
الأزرار في هذا السياق.
KeyEvent | مكالمة TransportControls | السُلوك |
---|---|---|
BUTTON_SELECT ، BUTTON_A ، ENTER ،
DPAD_CENTER ، KEYCODE_NUMPAD_ENTER |
play() | تشغيل |
BUTTON_START ، BUTTON_SELECT ، BUTTON_A ،
ENTER وDPAD_CENTER وKEYCODE_NUMPAD_ENTER |
pause() | إيقاف مؤقت |
BUTTON_R1 | skipToNext() | التخطي إلى التالي |
BUTTON_L1 | skipToPrevious() | التخطي إلى السابق |
DPAD_RIGHT ، BUTTON_R2 ، AXIS_RTRIGGER ،
AXIS_THROTTLE | fastForward() | لقطات عابرة |
DPAD_LEFT ، BUTTON_L2 ، AXIS_LTRIGGER ،
AXIS_BRAKE | rewind() | ترجيع |
لا ينطبق | stop() | إيقاف |
ملاحظة: عند استخدام MediaSession
، لا تتجاهل معالجة
الأزرار الخاصة بالوسائط، مثل
KEYCODE_MEDIA_PLAY
أو KEYCODE_MEDIA_PAUSE
.
يقوم النظام تلقائيًا بتشغيل
MediaSession.Callback
.
تقديم السلوك المناسب لزر الرجوع
يجب ألا يعمل زر "الرجوع" كزر تبديل مطلقًا. على سبيل المثال، لا تستخدمه لفتح وإغلاق القائمة. استخدِمها فقط للتنقّل عبر الشاشات السابقة على شكل شريط التنقّل قيد التشغيل.
نظرًا لأن زر "الرجوع" لا ينفذ سوى التنقل الخطي والعكسي، يمكنك استخدام ترك القائمة داخل التطبيق مفتوحة بزر مختلف والعودة إلى التطبيق. يجب أن يؤدي الضغط المستمر على الزر "رجوع" دائمًا إلى شاشة Android TV الرئيسية. على سبيل المثال: تشغيل اللعبة > شاشة إيقاف اللعبة مؤقتًا > الشاشة الرئيسية للعبة > شاشة Android TV الرئيسية أو تشغيل البرنامج التلفزيوني > الشاشة الرئيسية لتطبيق البث التلفزيوني > شاشة Android TV الرئيسية
لمزيد من المعلومات عن التصميم للتنقل، راجع تصميم ميزة التنقل "رجوع" و"رجوع": لمزيد من المعلومات عن التنفيذ، يُرجى مراجعة توفير التنقّل الخلفي المناسب:
التعامل مع وحدات التحكّم في الألعاب
إتاحة عناصر التحكّم على لوحة التحكّم
خطِّط لمخطط التحكّم في لوحة التحكّم، لأنّ مجموعة التحكّم هذه هي هو التطبيق التلقائي لأجهزة Android TV. ويجب أن يكون اللاعب قادرًا على استخدام لوحة التحكّم في جميع جوانب لا تقتصر على التحكّم في أسلوب اللعب الأساسي فحسب، بل أيضًا في التنقّل بين القوائم والإعلانات. لهذا السبب، تأكَّد من أنّ لعبة Android TV لا تشير إلى واجهة تعمل باللمس باستخدام لغة مثل "انقر هنا للمتابعة".
يمكن أن تكون طريقة تشكيل تفاعل اللاعب مع وحدة التحكّم عاملاً أساسيًا لتحقيق مستخدِم رائع. المستخدم. ننصحكم باتّباع أفضل الممارسات التالية:
- توضيح متطلبات مسؤول التحكّم بالبيانات مقدمًا: استخدِم الوصف على Google Play إبلاغ اللاعب بأي توقعات حول وحدات التحكم. إذا كانت اللعبة أكثر ملاءمة جهاز تحكّم في الألعاب يتضمّن ذراع تحكُّم أكثر من ذلك باستخدام لوحة التحكّم، وضِّح ذلك. لاعب يستخدم قد يؤدي استخدام وحدة تحكم غير مناسبة لإحدى الألعاب إلى تقديم تجربة سيئة للمستخدمين، تقييم اللعبة سيئ.
- استخدام الربط المتسق للأزرار: يُعد الربط السلس للأزرار أمرًا أساسيًا. إلى تجربة مستخدم جيدة. على سبيل المثال، التزم بالعادات المقبولة باستخدام الزر A إلى القبول والزر B للإلغاء. يمكنك أيضًا تقديم المرونة في شكل قابلية إعادة الربط. لمزيد من المعلومات حول ربط الأزرار، يُرجى الاطّلاع على المقالة الاسم المعرِّف إجراءات مسؤول التحكّم بالبيانات.
- اكتشاف إمكانات وحدة التحكّم وتعديلها وفقًا لذلك: يمكنك إرسال طلب بحث إلى وحدة التحكّم. حول إمكاناتها في تحسين التوافق بين وحدة التحكّم واللعبة على سبيل المثال: قد تقصد أن يقوم اللاعب بتوجيه كائن من خلال التلويح بوحدة التحكم في الهواء، ولكن إذا وحدة التحكم في المشغّل تفتقر إلى أجهزة مقياس التسارع والجيروسكوب، ولذلك لا تعمل التلويح. استعلم عن وحدة التحكم، وإذا لم يكن اكتشاف الحركة متاحة، يمكنك التبديل إلى نظام تحكم بديل متاح. لمزيد من المعلومات حول الاستعلام عن إمكانات وحدة التحكم، راجع الدعم وحدات التحكّم في إصدارات Android
استخدام الأزرار المناسبة
بعض وحدات التحكّم في الألعاب لا توفّر أزرار "البدء" أو "بحث" أو "القائمة". التأكد من أن واجهة المستخدم لا تعتمد على استخدام هذه الأزرار.
التعامل مع وحدات تحكُّم متعددة
عندما يلعب عدة لاعبين لعبة، لكل منهم وحدة تحكم خاصة به، من المهم
لتعيين كل زوج من اللاعبين بوحدة التحكم. للاطّلاع على معلومات عن طريقة تنفيذ رقم وحدة التحكّم
تحديد الهوية، راجع
getControllerNumber()
إلغاء ربط وحدة التحكّم في الاسم المعرِّف
عندما يتم فصل وحدة تحكُّم أثناء اللعب، يمكنك إيقاف اللعبة مؤقتًا وإظهار مربع حوار يطالب اللاعب غير المتصل بإعادة الاتصال بوحدة التحكم.
ويمكنك أيضًا تقديم نصائح بشأن تحديد المشاكل وحلّها في مربّع الحوار. على سبيل المثال، أخبر إلى "التحقق من اتصال البلوتوث". لمزيد من المعلومات عن تنفيذ جهاز الإدخال الدعم، راجع وحدة التحكم في الاسم المعرِّف الإجراءات نظرة عامة حول البلوتوث
عرض تعليمات وحدة التحكّم
إذا كانت لعبتك توفّر تعليمات مرئية للتحكّم في الألعاب، استخدِم صورة وحدة تحكم خالية من العلامات التجارية ولا تتضمّن سوى الأزرار المتوافقة مع Android.
للحصول على نماذج لصور وحدة تحكم متوافقة مع Android، يمكنك تنزيل نموذج لوحة ألعاب Android TV (ZIP): فهو يضم وحدة تحكم بيضاء على خلفية سوداء ووحدة تحكم سوداء على شاشة بيضاء الخلفية - كما هو موضح في الشكل 1 - كملف PNG وكملف ®Adobe® Illustrator.
![](https://developer.android.google.cn/static/images/games/game-controller-buttons_2x.png?authuser=0000&hl=ar)
الشكل 1. مثال على تعليمات مسؤول التحكّم بالبيانات باستخدام نموذج لوحة التحكّم في الألعاب على Android TV