遊戲模式 API 可讓你在使用者選取對應的遊戲模式時,為遊戲進行最佳化調整,以維持最佳效能或延長電池續航力。
或者,你也可以提交遊戲模式干預要求,讓開發人員不再更新遊戲的效能。
支援 Game Mode API 和介入措施的裝置:
- 選取「Android 12」裝置
- 搭載 Android 13 以上版本的裝置
每個遊戲都可以實作 Game Mode API 行為、向原始設備製造商 (OEM) 建議遊戲模式乾預設定,或是選擇停用遊戲模式乾預功能。
設定
如要在遊戲中使用 Game Mode API,請按照下列步驟操作:
下載並安裝 Android 13 SDK。
在
AndroidManifest.xml
檔案中,在<application>
元素設定appCategory
屬性,將應用程式宣告為遊戲:
android:appCategory="game"
- 將目前的遊戲模式新增至主要活動,即可查詢目前的遊戲模式:
Java
// 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
}
支援的遊戲模式 | 說明 |
---|---|
不支援 | 這個遊戲未宣告 Game Mode API 支援,也不支援遊戲模式干預功能。 |
標準 | 使用者尚未選取遊戲模式或使用者選取標準模式。 |
效能 | 提供最低延遲的畫面更新率,提升擬真度但會降低電池續航力。 |
電池 | 提供最久的電池續航力,但擬真度或畫面更新率會降低。 |
新增程式碼,在
onResume
函式中查詢遊戲模式狀態:
最佳做法
如果你的遊戲已支援多種擬真度和畫面更新率目標,建議你找出效能和省電模式適用的設定:
如要持續達到最高裝置畫面更新率,請考慮擬真度稍微降低,以達到較高的畫面更新率。
如要延長電池續航力,建議你選擇較低的顯示器重新整理頻率 (例如 30Hz 或 60Hz) 並使用影格放送速度,藉此指定較低的速率。
針對第一人稱射擊遊戲、多人線上戰術競技遊戲 (MOBA) 和角色扮演遊戲 (RPG) 等高傳真遊戲,建議你專注達成快速一致的畫面更新率,大幅提高使用者身歷其境的感受。
對於高擬真度和休閒遊戲,建議支援省電模式,以便減少峰值畫面更新率,延長播放時間。
宣告支援遊戲模式
如要宣告對遊戲模式的支援,並覆寫原始設備製造商 (OEM) 的任何遊戲模式介入措施,請先將遊戲模式設定新增至 AndroidManifest.xml
檔案的 <application>
元素:
<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 管理中心,並透過 Play 商店安裝。如要進一步瞭解 Play 商店中的應用程式測試,請參閱「在內部分享應用程式套件和 APK」。
圖 1. 遊戲資訊主頁與 Pixel 裝置上的執行中遊戲重疊。
在圖 1 中,您可以透過「最佳化」小工具變更執行中遊戲的遊戲模式。如小工具所示,遊戲目前以 PERFORMANCE
模式執行。
在開發期間,如果您使用沒有遊戲資訊主頁的裝置,且製造商未提供任何為每個應用程式設定遊戲模式的方法,您可以透過 ADB 變更遊戲模式狀態:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
範例應用程式
遊戲模式 API 範例示範如何最佳化每秒影格數和轉譯解析度上限,節省約 25% 的應用程式耗電量。
繼續
請參閱遊戲模式乾預,在無法提供遊戲更新時改善遊戲效能。