TV cihazları, uygulamalarla etkileşimde bulunmak için ikincil bir donanım cihazı gerektirir (temel bir donanım). uzaktan kumanda veya oyun kumandası kullanın. Bu nedenle, uygulamanız yön tuşları (D-pad) girişini desteklemelidir. Ayrıca, uygulamanızın çevrimdışıyken birden fazla kumandadan giriş yapıp kumandaları yönetmesi gerekebilir. kontrol edebilirsiniz.
Bu kılavuzda, TV cihazları için kumandaların kullanımıyla ilgili şartlar açıklanmaktadır.
D-pad minimum kontrolleri
TV cihazlarının varsayılan kumandası D-pad'dir. Genel olarak, uygulamanız Yalnızca yukarı, aşağı, sol, sağ, seçme, Geri ve Ana sayfa düğmeleri olan uzaktan kumanda. Uygulamanız Genellikle ek kontrollere sahip bir oyun kumandası gerektiren bir oyundur. yalnızca bu d-pad kontrolleriyle oynanabilirliği desteklemeye çalışın. Aksi takdirde, kullanıcıyı için bir kumanda gereklidir ve d-pad kumandasını kullanarak oyununuzdan sorunsuz bir şekilde çıkmalarını sağlarsınız.
TV cihazlarının D-pad kumandalarıyla gezinme hakkında daha fazla bilgi için bkz. TV'de gezinme.
Kumandanın bağlantı kesilmesini yönetme
TV kumandaları genellikle Bluetooth cihazlardır. Bu cihazlar düzenli aralıklarla güç tasarrufu yapmaya çalışabilir uyku moduna geçiyor ve TV cihazıyla bağlantısı kesiliyor. Bunun anlamı, uygulamanızın bu yeniden bağlanma etkinliklerini işleyecek şekilde yapılandırılmamışsa kesintiye uğratılır veya yeniden başlatılır. Bu etkinlikler aşağıdaki durumlardan herhangi birinde gerçekleşebilir:
- Birkaç dakika süren bir video, d-pad veya oyun sırasında Kumanda uyku moduna geçebilir, TV cihazıyla bağlantısını kesebilir ve daha sonra yeniden bağlanabilir.
- Oyun esnasında yeni bir oyuncu oyuna katılan bir oyun kumandası kullanarak bağlı değil.
- Oyun sırasında bir oyuncu oyundan ayrılıp oyun kumandasının bağlantısını kesebilir.
Bağlantısı kesilen ve yeniden bağlanılan tüm TV uygulaması etkinlikleri şu şekilde yapılandırılmalıdır: uygulama manifestindeki yeniden bağlantı etkinliklerini işleyebilir. Aşağıdaki kod örneğinde, klavye veya gezinme cihazı da dahil olmak üzere yapılandırma değişikliklerini işlemek için bir etkinlik etkinleştir veya yeniden bağlanma:
<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>
Bu yapılandırma değişikliği, uygulamanın yeniden bağlantı yoluyla çalışmaya devam etmesini sağlar. işlemidir. Bu, Android çerçevesi tarafından yeniden başlatılmak yerine, iyi bir kullanıcı deneyimi sağlar.
D-pad giriş varyasyonlarını işleme
TV cihazı kullanıcıları, TV'lerinde birden fazla türde kumandaya sahip olabilir. Örneğin, Örneğin, kullanıcının hem temel bir D-pad kumandası hem de bir oyun kumandası olabilir. Anahtar kodlar D-pad işlevleri için kullanıldığında oyun kumandası tarafından sağlanmış olan anahtardan farklı olabilir tarafından gönderilen kodlar.
D-pad girişindeki varyasyonları işleyin. uygulamanızı çalıştırmak için kumandalar arasında geçiş yapmanız gerekir. Güncellemelerle ilgili daha fazla bilgi için varyasyonları için bkz. Yön tuşlarıyla giriş yapın.
İşleme düğmesi etkinlikleri
Kullanıcı kumandadaki bir düğmeyi tıkladığında uygulamanız şuna sahip bir etkinlik alır:
KeyEvent
Amaçlanan
düğmenin davranışı oynatma, duraklatma veya durdurma gibi bir medya etkinliği ya da
seçim veya gezinme. İyi bir kullanıcı deneyimi sağlamak için
ve kumanda düğmeleri gibi davranır.
TV kullanıcı arayüzü etkinlikleri
KeyEvent
oluşturan düğmelere TV kullanıcı arayüzü davranışı atayın
aşağıdaki tabloda gösterildiği gibidir:
KeyEvent | Davranış |
---|---|
KEYCODE_BUTTON_B , KEYCODE_BACK | Geri |
KEYCODE_BUTTON_SELECT , KEYCODE_BUTTON_A , KEYCODE_ENTER ,
KEYCODE_NUMPAD_ENTER KEYCODE_DPAD_CENTER | Seçim |
KEYCODE_DPAD_UP , KEYCODE_DPAD_DOWN , KEYCODE_DPAD_LEFT ,
KEYCODE_DPAD_RIGHT | Navigasyon |
Medya etkinlikleri
Kullanıcı medya izlerken, oluşturulan düğmelere davranışı atayın
KeyEvent
türleri aşağıdaki tabloda gösterildiği gibidir: Uygulamanız
MediaSession
MediaControllerAdapter
kullanın
MediaControllerCompat.TransportControls
birini aramak
yöntemlerinin hangileri olduğunu öğrenebilirsiniz. Seçim düğmelerinin Oynat veya Duraklat olarak çalıştığını unutmayın
düğmelerinin anlamını kastediyoruz.
KeyEvent | TransportControls çağrısı | Davranış |
---|---|---|
BUTTON_SELECT , BUTTON_A , ENTER ,
KEYCODE_NUMPAD_ENTER DPAD_CENTER |
play() | Oynat |
BUTTON_START , BUTTON_SELECT , BUTTON_A ,
ENTER , DPAD_CENTER , KEYCODE_NUMPAD_ENTER |
pause() | Duraklat |
BUTTON_R1 | skipToNext() | Sonrakine atla |
BUTTON_L1 | skipToPrevious() | Öncekine atla |
DPAD_RIGHT , BUTTON_R2 , AXIS_RTRIGGER ,
AXIS_THROTTLE | fastForward() | İleri sarma |
DPAD_LEFT , BUTTON_L2 , AXIS_LTRIGGER ,
AXIS_BRAKE | rewind() | Geri sar |
Yok | stop() | Durdur |
Not: MediaSession
kullanırken
medyaya özel düğmeler
KEYCODE_MEDIA_PLAY
veya KEYCODE_MEDIA_PAUSE
.
Sistem otomatik olarak uygun
MediaSession.Callback
yöntemidir.
Geri düğmesinin uygun şekilde çalışmasını sağlama
Geri düğmesi hiçbir zaman açma/kapatma işlevini kullanmamalıdır. Örneğin, bunu bir dosyayı hem açmak hem de kapatmak için tıklayın. Oynatıcının önceki ekranlar arasında içerik haritası tarzında geri gitmek için bunu kullanın açıldı.
Geri düğmesi yalnızca doğrusal, geri gitmeyi hedeflediğinden, uygulama içi menüyü farklı bir düğmeyle açık bırakıp uygulamaya dönmek için. Art arda geri düğmesine basıldığında her zaman Android TV ana ekranına yönlendirilmelidir. Örneğin: oyun > oyunu duraklatma ekranı > oyun ana ekranı > Android TV ana ekranı veya TV dizisini oynatma > TV uygulaması ana ekranı > Android TV ana ekranı.
Gezinmeye yönelik tasarım hakkında daha fazla bilgi için bkz. Geri ve Yukarı gezinmeyi tasarlama. Uygulama hakkında bilgi edinmek için Uygun geri gezinme sağlama.
Oyunlar için kumandaları yönetme
D-pad kontrollerini destekleyin
D-pad kontrolünün etrafında, kontrol şemanızı planlayın. varsayılan ayardır. Oyuncunun tüm koşullar için d-pad kullanabilmesi gerekir. hem temel oynanabilirlik kontrolü yapıyor hem de menülerde ve reklamlarda gezinmek istiyor. İşte bu nedenle Android TV oyununuzun, "Devam etmek için buraya dokunun."
Oyuncunun kumandayla etkileşimini nasıl şekillendirdiğiniz, harika bir kullanıcı kazanmanın anahtarı olabilir. sahip olacaksınız. Aşağıdaki en iyi uygulamalardan yararlanabilirsiniz:
- Kumanda şartlarını önceden bildirin: Google Play açıklamanızı kullanın Böylece kumandalarla ilgili beklentileri oyuncuya iletebilir. Bir oyun, web'deki Aynı şekilde, oyun kumandası ve yalnızca D-pad'i olan bir oyun kumandası da bu durumu açıkça belirtin. Google’ın bir oyun için uygun olmayan bir kumanda kötü bir deneyim yaşayabilir ve kötü bir puan vermiş.
- Tutarlı düğme eşleme kullanın: Kolayca kullanılabilen düğme eşleme özelliği çok önemlidir bir hedef anlamına gelir. Örneğin, A düğmesini kullanarak kabul edilen gümrüklere bağlı kalın kabul etmek için B düğmesini, iptal etmek için B düğmesini kullanın. Ayrıca, satış ve pazarlama sağlamak istiyoruz. Düğme eşleme hakkında daha fazla bilgi için Herkese açık kullanıcı adı denetleyici eylemleri.
- Denetleyici özelliklerini algılayıp buna göre ayarlama yapın: Denetleyiciyi sorgulayın denetleyici ile oyun arasındaki eşlemeyi optimize etme konusundaki becerileri hakkında Örneğin, bir oyuncunun kumandayı havaya sallayarak bir nesneyi yönlendirmesini isteyebilirsiniz. ancak Oynatıcının kumandasında ivme ölçer ve jiroskop donanımı olmadığından el sallama işlevi işe yaramaz. Kumandayı sorgulayın ve hareket algılama özelliği etkin değilse destekleniyorsa alternatif, kullanılabilen bir kontrol şemasına geçin. Okuyucu Gelirleri Yöneticisi'ni denetleyici özelliklerini sorgulama hakkında daha fazla bilgi için bkz. Destek Android sürümlerinde denetleyiciler için de geçerlidir.
Uygun düğmeleri kullanın
Başlat, Ara veya Menü düğmesi bazı oyun kumandaları tarafından kullanılamaz. Kullanıcı arayüzünüzün şunlara bağlı olmadığından emin olun: konusunda daha fazla bilgi edinin.
Birden fazla kumandayı yönetme
Birden fazla oyuncu, her birinin kendi kumandasına sahip bir oyun oynarken
ve oyuncu-denetleyici çiftinin eşlemesini yapın. Denetleyici numarasını uygulama hakkında bilgi için
için bkz.
getControllerNumber()
değerleridir.
Kumandanın bağlantı kesilmesini yönetme
Oyun oynarken kumandanın bağlantısı kesilirse oyunu duraklatın ve ekranda bağlantısı kesilen oynatıcıdan kumandasını yeniden bağlamasını isteyen iletişim kutusu.
Ayrıca, iletişim kutusunda sorun giderme ipuçları da sunun. Örneğin, "Bluetooth bağlantınızı kontrol edin". Giriş cihazını uygulama hakkında daha fazla bilgi için için Kontrol cihazını kullanma işlemler ve Bluetooth'a genel bakış.
Kumanda talimatlarını göster
Oyununuz görsel oyun kontrolü talimatları sağlıyorsa bir marka içermeyen ve yalnızca Android ile uyumlu düğmeler içeren denetleyici resmi
Android uyumlu kumandanın örnek resimleri için şunu indirin: Android TV Oyun Kumandası Şablonu (ZIP). Siyah arka plan üzerinde beyaz bir kumanda ve beyaz üzerine siyah bir kumanda içerir. arka plan (Şekil 1'de gösterilmiştir) PNG dosyası ve Adobe® Illustrator® dosyası olarak görünür.
![](https://developer.android.google.cn/static/images/games/game-controller-buttons_2x.png?authuser=2&hl=tr)
Şekil 1. Şunu kullanan örnek kumanda talimatları: Android TV Oyun Kumandası Şablonu.