Game Mode API ช่วยให้คุณเพิ่มประสิทธิภาพเกมเพื่อให้ได้ประสิทธิภาพที่ดีที่สุดหรือ อายุการใช้งานแบตเตอรี่ที่ยาวนานที่สุดเมื่อผู้ใช้เลือกโหมดเกมที่เกี่ยวข้อง
หรือคุณจะส่งคำขอการแทรกแซงโหมดเกมเพื่อปรับปรุง ประสิทธิภาพของเกมที่นักพัฒนาแอปไม่ได้อัปเดตอีกต่อไปก็ได้
API และการแทรกแซงของโหมดเกมพร้อมใช้งานในอุปกรณ์ต่อไปนี้
- อุปกรณ์ Android 12
- อุปกรณ์ที่ใช้ Android 13 ขึ้นไป
แต่ละเกมอาจใช้ลักษณะการทำงานของ Game Mode API, เสนอการตั้งค่าการแทรกแซงโหมดเกมต่อ OEM หรือเลือกไม่ใช้การแทรกแซงโหมดเกม
ตั้งค่า
หากต้องการใช้ Game Mode API ในเกม ให้ทำดังนี้
ดาวน์โหลดและติดตั้ง Android 13 SDK
ในไฟล์
AndroidManifest.xmlให้ประกาศแอปเป็นเกมโดยตั้งค่าแอตทริบิวต์appCategoryในองค์ประกอบ<application>ดังนี้
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 และไม่รองรับการแทรกแซง Game Mode |
| มาตรฐาน | ผู้ใช้ไม่ได้เลือกโหมดเกมหรือเลือกโหมดมาตรฐาน |
| ประสิทธิภาพ | ให้อัตราเฟรมที่มีเวลาในการตอบสนองต่ำที่สุดเพื่อแลกกับอายุการใช้งานแบตเตอรี่และความเที่ยงตรงที่ลดลง |
| แบตเตอรี่ | ช่วยให้แบตเตอรี่ใช้งานได้นานที่สุดเท่าที่จะเป็นไปได้ แต่จะลดความเที่ยงตรงหรืออัตราเฟรมลง |
เพิ่มโค้ดเพื่อค้นหาสถานะโหมดเกมในฟังก์ชัน
onResume
แนวทางปฏิบัติแนะนำ
หากเกมรองรับความแม่นยำและอัตราเฟรมหลายระดับอยู่แล้ว คุณควรระบุการตั้งค่าที่เหมาะสมสำหรับโหมดประสิทธิภาพและ โหมดประหยัดแบตเตอรี่
หากต้องการให้อุปกรณ์มีอัตราเฟรมสูงสุดอย่างสม่ำเสมอ ให้พิจารณาลดความเที่ยงลงเล็กน้อย เพื่อให้ได้อัตราเฟรมที่สูงขึ้น
หากต้องการยืดอายุการใช้งานแบตเตอรี่ ให้ลองเลือกอัตราการรีเฟรชของจอแสดงผลที่ต่ำลง (เช่น 30Hz หรือ 60Hz) และใช้การเว้นระยะเฟรมเพื่อกำหนดเป้าหมายอัตราที่ลดลง
สำหรับเกมที่มีความเที่ยงตรงสูง เช่น เกมยิงมุมมองบุคคลที่หนึ่ง สนามประลองออนไลน์ที่มีผู้เล่นหลายคน (MOBA) และเกมเล่นตามบทบาท (RPG) คุณควรเน้นที่การบรรลุอัตราเฟรมที่สูงและสม่ำเสมอเพื่อเพิ่มการดื่มด่ำของผู้ใช้ให้ได้สูงสุด
สำหรับทั้งเกมที่มีความเที่ยงตรงสูงและเกมทั่วไป คุณควรรองรับโหมดประหยัดแบตเตอรี่ เพื่อยืดเวลาการเล่นด้วยการลดอัตราเฟรมสูงสุด
ประกาศการรองรับโหมดเกม
หากต้องการประกาศการรองรับโหมดเกมและลบล้างการแทรกแซงโหมดเกมโดย OEM ให้เพิ่มการกำหนดค่าโหมดเกมลงในองค์ประกอบ <application> ในไฟล์ AndroidManifest.xml ก่อน
<application>
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
...
</application>
จากนั้นสร้างไฟล์ game_mode_config.xml ในไดเรกทอรี res/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 Store ดูข้อมูลเกี่ยวกับการทดสอบแอปใน Play Store ได้ที่แชร์ App Bundle และ APK ภายใน
รูปที่ 1 แดชบอร์ดเกมที่แสดงซ้อนทับเกมที่กำลังเล่นบนอุปกรณ์ Pixel
ในรูปที่ 1 คุณสามารถเปลี่ยนโหมดเกมของเกมที่กำลังเล่นได้จากวิดเจ็ตการเพิ่มประสิทธิภาพ
ตามที่แสดงในวิดเจ็ต ขณะนี้เกมกำลังทำงานในโหมด
PERFORMANCE
ในระหว่างการพัฒนา หากคุณใช้อุปกรณ์ที่ไม่มีแดชบอร์ดเกมและผู้ผลิตไม่ได้ระบุวิธีตั้งค่าโหมดเกมสำหรับแต่ละแอป คุณสามารถเปลี่ยนสถานะโหมดเกมผ่าน adb ได้โดยทำดังนี้
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>แอปพลิเคชันตัวอย่าง
ตัวอย่าง Game Mode API แสดงให้เห็นวิธีเพิ่มประสิทธิภาพ FPS และความละเอียดในการแสดงผลสูงสุดเพื่อประหยัดพลังงานในแอปได้ประมาณ 25%
ถัดไป
อ่านการแทรกแซงโหมดเกม เพื่อปรับปรุงประสิทธิภาพของเกมเมื่อไม่สามารถให้อัปเดตเกมได้