Saat menerapkan dukungan gamepad, pertimbangkan persyaratan penting berikut untuk membantu pemain menikmati gameplay yang lancar dan tanpa gangguan.
Beri tahu pengguna di Google Play Store bahwa game Anda mendukung pengontrol
Mendeklarasikan fitur gamepad dalam manifes Android akan menampilkan ikon dan tag yang didukung gamepad di Google Play. Gunakan pernyataan ini untuk membantu lebih banyak pengguna menemukan dan memainkan game Anda. Untuk mengetahui petunjuk konfigurasi mendetail dan contoh manifes, lihat Visibilitas Google Play Store dan Fitur hardware gamepad.
Memungkinkan pemain beralih dengan lancar antar-perangkat input
Saat pemain beralih antar-perangkat input, buat peralihan tersebut lancar. Hindari mengharuskan pemain mengalihkan metode input secara manual di menu setelan atau memulai ulang game.
Beralih secara otomatis dan mendukung hot-plugging
Pastikan semua perangkat input yang didukung tetap aktif secara bersamaan sehingga pemain dapat beralih
di antaranya dengan cepat. Memproses perubahan perangkat input saat runtime agar gamepad
langsung berfungsi setelah terhubung tanpa memulai ulang aplikasi, dan beralih
dengan lancar ke metode input lain yang tersedia jika pengontrol aktif terputus
selama gameplay. Untuk mendeteksi koneksi dan pemutusan koneksi pengontrol, lihat
Memverifikasi bahwa pengontrol game terhubung (Kotlin atau Java) atau
Mendaftarkan atau menghapus callback status pengontrol (library Pengontrol Game
C++). Di Android 16 (level API 36) dan yang lebih rendah, deklarasikan juga
android:configChanges="keyboard|keyboardHidden|navigation" dalam manifes Anda sehingga
menghubungkan atau memutuskan koneksi pengontrol tidak akan memulai ulang aktivitas Anda (lihat
Menangani perubahan konfigurasi).
| Tidak direkomendasikan | Direkomendasikan |
|---|---|
|
|
Memperbarui ikonografi tombol dan panduan teks agar sesuai dengan perangkat yang aktif
Ganti ikon tombol virtual dan panduan teks secara dinamis berdasarkan perangkat input yang aktif. Misalnya, transisikan panduan kontrol sentuh seperti "Ketuk untuk melompat" menjadi "Tekan B untuk melompat" (atau tombol yang setara dengan platform) saat game Anda mendeteksi input gamepad.
Menyembunyikan kontrol sentuh virtual saat gamepad aktif
Untuk mencegah layar berantakan dan pemain bingung, sembunyikan semua elemen UI sentuh virtual, seperti joystick virtual dan tombol di layar, saat gamepad aktif. Pulihkan UI sentuh segera jika pemain menyentuh layar.
Menyediakan dukungan gamepad penuh untuk semua logika dalam game
Hindari mengandalkan sentuhan sebagai mekanisme penggantian. Menggunakan sentuhan untuk keluar dari menu atau melakukan bagian tertentu dari game dapat mengganggu pengalaman bermain. Terapkan semua interaksi dalam game sehingga pemain dapat melakukannya sepenuhnya menggunakan gamepad.
Memetakan semua elemen HUD dan dialog ke input pengontrol
Izinkan pemain membuka, berinteraksi dengan, dan menutup semua elemen, menu, dan dialog heads-up display (HUD) di layar menggunakan pengontrol melalui tombol pintasan khusus, bumper, atau navigasi tombol arah (D-pad) sehingga mereka tidak perlu menyentuh layar.
| Tidak direkomendasikan | Direkomendasikan |
|---|---|
|
|
Memisahkan konteks input gameplay dan UI
Saat menu atau dialog terbuka di atas gameplay, alihkan konteks atau blokir kontrol latar belakang sehingga gamepad hanya berinteraksi dengan UI yang aktif. Pemisahan ini mencegah navigasi arah atau penekanan tombol di menu agar tidak memicu gerakan atau tindakan karakter di latar belakang secara tidak sengaja.
| Tidak direkomendasikan | Direkomendasikan |
|---|---|
|
|
Menetapkan fokus awal segera saat layar terbuka
Tidak seperti input sentuh, yang memungkinkan pemain mengetuk tombol secara langsung, navigasi gamepad berpindah dari elemen yang saat ini difokuskan ke elemen yang berdekatan. Jika menu atau dialog baru terbuka tanpa target fokus awal, input D-pad dan konfirmasi dapat gagal merespons atau tetap terjebak pada elemen latar belakang. Tetapkan fokus awal ke tombol default segera setelah layar terbuka.
| Tidak direkomendasikan | Direkomendasikan |
|---|---|
|
|