Game Mode API

게임 모드 API를 사용하면 사용자가 해당 게임 모드를 선택할 때 최고 성능 또는 가장 긴 배터리 수명에 맞춰 게임을 최적화할 수 있습니다.

또는 개발자가 더 이상 업데이트하지 않는 게임의 성능을 개선하기 위해 게임 모드 개입 요청을 제출할 수 있습니다.

Game Mode API 및 개입은 다음에서 사용할 수 있습니다.

각 게임은 Game Mode API 동작을 구현하고 게임 모드를 제안할 수 있습니다. OEM에 대한 개입 설정을 적용하거나 게임 모드 개입을 선택 해제합니다.

설정

게임에서 게임 모드 API를 사용하려면 다음 단계를 따르세요.

  1. Google 모바일 광고 SDK를 Android 13 SDK

  2. AndroidManifest.xml 파일에서 다음과 같이 설정하여 앱을 게임으로 선언할 수 있습니다. appCategory 속성 <application> 요소:

android:appCategory="game"
  1. 기본 활동에 추가하여 현재 게임 모드를 쿼리합니다.

자바

// Only call this for Android 12 and higher devices
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ) {
  // Get GameManager from SystemService
  GameManager gameManager = Context.getSystemService(GameManager.class);

  // Returns the selected GameMode
  int gameMode = gameManager.getGameMode();
}

Kotlin

// Only call this for Android 12 and higher devices
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
  // Get GameManager from SystemService
  val gameManager: GameManager? = context.getSystemService(Context.GAME_SERVICE) as GameManager?

  // Returns the selected GameMode
  val gameMode = gameManager?.gameMode
}
지원되는 게임 모드 설명
지원되지 않음 게임이 게임 모드 API에 대한 지원을 선언하지 않으며 게임 모드 개입을 지원하지 않습니다.
일반 사용자가 게임 모드를 선택하지 않았거나 사용자가 일반 모드를 선택했습니다.
성능 배터리 수명 및 충실도 감소에 대한 대가로 가장 짧은 지연 시간 프레임 속도를 제공합니다.
배터리 충실도 또는 프레임 속도를 낮추어 가장 긴 배터리 수명을 제공합니다.
  1. 다음 예에서 게임 모드 상태를 쿼리하는 코드를 onResume 함수:

    사용자 설정 배터리 모드의 예

를 통해 개인정보처리방침을 정의할 수 있습니다.

권장사항

게임에서 이미 여러 충실도와 프레임 속도 목표를 지원한다면 성능 및 절전 모드에 적합한 설정을 파악해야 합니다.

  • 최대 기기 프레임 속도를 일관적으로 달성하려면 충실도를 조금 낮추고 더 높은 프레임 속도를 달성하세요.

  • 배터리 수명을 개선하기 위해 더 낮은 디스플레이 화면 재생 빈도(예: 30Hz 또는 60Hz)를 선택하고 프레임 속도를 사용하여 감소된 속도를 목표로 하는 것이 좋습니다.

1인칭 슈팅 게임, MOBA(멀티플레이어 온라인 배틀 아레나), RPG(롤플레잉 게임)와 같은 고사양 게임의 경우, 사용자 몰입을 극대화하려면 높고 일관적인 프레임 속도를 달성하는 데 집중해야 합니다.

높은 충실도와 캐주얼 게임 모두 최대 프레임 속도를 낮춰 재생 시간을 늘리기 위해 절전 모드를 지원해야 합니다.

게임 모드 지원 선언

게임 모드 지원을 선언하고 다음과 같은 방법으로 게임 모드 개입을 재정의합니다. OEM의 경우 먼저 게임 모드 구성을 <application> 요소 AndroidManifest.xml 파일:

<application>
    <meta-data android:name="android.game_mode_config"
               android:resource="@xml/game_mode_config" />
  ...
</application>

그런 다음 프로젝트의 res/xml/ 디렉터리에 game_mode_config.xml 파일을 만듭니다. 다음 내용으로 교체합니다.

<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:supportsBatteryGameMode="true"
    android:supportsPerformanceGameMode="true"
/>

게임 모드 전환

게임 모드 간에 전환하려면 게임 대시보드( Pixel 기기) 또는 OEM에서 제공하는 유사한 애플리케이션으로 구성됩니다. 또는 다음 작업을 수행할 수 있습니다. 개발 중에 게임 모드 셸 명령어를 사용합니다.

게임 대시보드를 사용 중이며 최적화 아이콘이 표시되지 않는 경우 게임이 출시될 때 Google Play Console에 앱을 업로드해야 할 수도 있습니다. Play 스토어를 통해 설치할 수 있습니다. 앱 테스트에 관한 자세한 내용은 Play 스토어는 다음을 참조하세요. App Bundle 및 APK 내부 공유

게임 대시보드 활동그림 1. Pixel에서 실행 중인 게임을 오버레이하는 게임 대시보드 있습니다.

그림 1에서 실행 중인 게임의 게임 모드를 최적화에서 변경할 수 있습니다. 위젯에 추가합니다. 위젯에 표시된 대로 게임이 현재 PERFORMANCE 드림 있습니다.

개발 중에 게임 대시보드가 없는 기기를 사용하고 각 앱에 게임 모드를 설정하는 방법을 제공하지 않는 경우 adb를 통해 게임 모드 상태를 변경합니다.

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

샘플 애플리케이션

Game Mode API 샘플 FPS를 최적화하고 해상도 한도를 렌더링하여 앱의 전력을 약 25% 절약할 수 있는 방법을 소개합니다.

다음

게임 모드 개입 읽기 게임 업데이트를 제공할 수 없는 경우 게임의 성능을 개선하기 위해