게임패드 지원을 구현할 때는 플레이어가 원활하고 중단 없는 게임플레이를 즐길 수 있도록 다음 필수 요구사항을 고려하세요.
Play 스토어 사용자에게 게임이 컨트롤러를 지원한다고 알립니다.
Android 매니페스트에서 게임패드 기능을 선언하면 Google Play에 게임패드 지원 아이콘과 태그가 표시됩니다. 이 선언을 사용하여 더 많은 사용자가 게임을 발견하고 플레이하도록 하세요. 자세한 구성 안내와 매니페스트 예는 Play 스토어 공개 상태 및 게임패드 하드웨어 기능을 참고하세요.
플레이어가 입력 장치 간에 원활하게 전환할 수 있도록 지원
플레이어가 입력 장치를 전환할 때 원활하게 전환되도록 합니다. 플레이어가 설정 메뉴에서 입력 방법을 수동으로 전환하거나 게임을 다시 시작하지 않도록 합니다.

자동 전환 및 핫 플러그 지원
플레이어가 즉시 전환할 수 있도록 지원되는 모든 입력 장치를 동시에 활성 상태로 유지합니다. 런타임에 입력 장치 변경사항을 수신 대기하여 앱을 다시 시작하지 않고도 연결 시 게임패드가 즉시 작동하도록 하고, 게임플레이 중에 활성 컨트롤러의 연결이 끊어지면 사용 가능한 다른 입력 방법으로 원활하게 전환합니다. 컨트롤러 연결 및 연결 해제를 감지하려면 게임 컨트롤러가 연결되어 있는지 확인(Kotlin 또는 Java) 또는 컨트롤러 상태 콜백 등록 또는 삭제(C++ 게임 컨트롤러 라이브러리)를 참고하세요. Android 16(API 수준 36) 이하에서는 컨트롤러를 연결하거나 연결 해제해도 활동이 다시 시작되지 않도록 매니페스트에서 android:configChanges="keyboard|keyboardHidden|navigation"도 선언합니다(구성 변경 처리 참고).
| 권장하지 않음 | 추천 |
|---|---|
|
|
활성 기기와 일치하도록 버튼 아이콘 및 텍스트 가이드 업데이트
활성 입력 장치에 따라 화면 버튼 아이콘과 텍스트 가이드를 동적으로 전환합니다. 예를 들어 게임에서 게임패드 입력을 감지하면 '탭하여 점프'와 같은 터치 컨트롤 가이드를 'B를 눌러 점프'(또는 플랫폼에 상응하는 버튼)로 전환합니다.
게임패드가 활성화되어 있을 때 가상 터치 컨트롤 숨기기
화면이 복잡해지고 플레이어가 혼란스러워지는 것을 방지하려면 게임패드가 활성화되어 있을 때 가상 조이스틱 및 화면 버튼과 같은 모든 가상 터치 UI 요소를 숨깁니다. 플레이어가 화면을 터치하면 즉시 터치 UI를 복원합니다.

모든 게임 내 로직에 대한 완전한 게임패드 지원 제공
터치를 대체 메커니즘으로 사용하지 마세요. 터치를 사용하여 메뉴를 종료하거나 게임의 특정 부분을 실행하면 몰입도가 떨어질 수 있습니다. 플레이어가 게임패드만 사용하여 모든 게임 내 상호작용을 수행할 수 있도록 구현합니다.
모든 HUD 요소 및 대화상자를 컨트롤러 입력에 매핑
플레이어가 전용 단축키 버튼, 범퍼 또는 방향 패드(D패드) 탐색을 통해 컨트롤러를 사용하여 화면의 모든 헤드업 디스플레이(HUD) 요소, 메뉴, 대화상자를 열고 상호작용하고 닫을 수 있도록 합니다. 이렇게 하면 플레이어가 화면을 터치할 필요가 없습니다.
| 권장하지 않음 | 추천 |
|---|---|
|
|
게임플레이 및 UI 입력 컨텍스트 분리
게임플레이 중에 메뉴나 대화상자가 열리면 컨텍스트를 전환하거나 백그라운드 컨트롤을 차단하여 게임패드가 활성 UI와만 상호작용하도록 합니다. 이렇게 분리하면 메뉴에서 방향 탐색이나 버튼 누르기가 백그라운드에서 캐릭터 이동이나 작업을 실수로 트리거하는 것을 방지할 수 있습니다.
| 권장하지 않음 | 추천 |
|---|---|
|
|
화면이 열리면 즉시 초기 포커스 할당
플레이어가 버튼을 직접 탭하는 터치 입력과 달리 게임패드 탐색은 현재 포커스가 있는 요소에서 인접한 요소로 이동합니다. 초기 포커스 타겟 없이 새 메뉴나 대화상자가 열리면 D패드 및 확인 입력이 응답하지 않거나 백그라운드 요소에 갇혀 있을 수 있습니다. 화면이 열리는 즉시 기본 버튼에 초기 포커스를 할당합니다.
| 권장하지 않음 | 추천 |
|---|---|
|
|