Game Mode API (API Chế độ trò chơi)

Game Mode API cho phép bạn tối ưu hoá trò chơi để có hiệu suất tốt nhất hoặc thời lượng pin dài nhất khi người dùng chọn chế độ trò chơi tương ứng.

Ngoài ra, bạn có thể gửi yêu cầu can thiệp Game Mode để cải thiện hiệu suất của các trò chơi không còn được các nhà phát triển cập nhật.

Game Mode API (API Chế độ trò chơi) và các biện pháp can thiệp có trên:

Mỗi trò chơi có thể triển khai hành vi của Game Mode API (API Chế độ trò chơi), đề xuất chế độ cài đặt can thiệp vào Chế độ trò chơi cho Nhà sản xuất thiết bị gốc (OEM) hoặc chọn không sử dụng các biện pháp can thiệp vào Chế độ trò chơi.

Thiết lập

Để sử dụng Game Mode API trong trò chơi của bạn, hãy làm như sau:

  1. Tải và cài đặt SDK Android 13.

  2. Trong tệp AndroidManifest.xml, hãy khai báo ứng dụng của bạn là một trò chơi bằng cách đặt thuộc tính appCategory trong phần tử <application>:

android:appCategory="game"
  1. Truy vấn chế độ trò chơi hiện tại bằng cách thêm nội dung này vào hoạt động chính của bạn:

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
}
Chế độ trò chơi được hỗ trợ Nội dung mô tả
KHÔNG HỖ TRỢ (UNSUPPORTED) Trò chơi không khai báo việc hỗ trợ Game Mode API và không cũng không hỗ trợ các biện pháp can thiệp của Game Mode.
TIÊU CHUẨN (STANDARD) Người dùng chưa chọn chế độ trò chơi hoặc người dùng đã chọn chế độ tiêu chuẩn.
HIỆU SUẤT (PERFORMANCE) Cung cấp tốc độ khung hình với độ trễ thấp nhất, đánh đổi bằng việc giảm thời lượng pin và độ chân thực.
PIN (BATTERY) Giữ thời lượng pin lâu nhất có thể, đánh đổi bằng việc giảm độ chân thực hoặc tốc độ khung hình.
  1. Thêm mã để truy vấn trạng thái chế độ trò chơi trong hàm onResume:

    Ví dụ về chế độ cài đặt Pin của người dùng

Các phương pháp hay nhất

Nếu trò chơi của bạn đã hỗ trợ nhiều mục tiêu về độ chân thực và tốc độ khung hình, thì bạn nên xác định chế độ cài đặt phù hợp cho các chế độ tiết kiệm pin và hiệu suất:

  • Để đạt được tốc độ khung hình tối đa trên thiết bị: hãy cân nhắc việc giảm nhẹ độ chân thực để đạt được tốc độ khung hình cao hơn.

  • Để cải thiện thời lượng pin, hãy cân nhắc việc chọn một tốc độ làm mới khung hình thấp hơn (ví dụ: 30Hz hoặc 60Hz) và sử dụng tốc độ khung hình để nhắm mục tiêu tốc độ giảm.

Đối với các trò chơi có độ chân thực cao như trò chơi bắn súng góc nhìn thứ nhất, trò chơi đấu trường trực tuyến nhiều người chơi (MOBA) và trò chơi nhập vai (RPG), bạn nên tập trung vào việc đạt được tốc độ khung hình cao một cách nhất quán để trò chơi sống động nhất có thể.

Đối với cả trò chơi phổ thông và trò chơi có độ chân thực cao, bạn nên hỗ trợ chế độ tiết kiệm pin để kéo dài thời gian chơi bằng cách giảm tốc độ khung hình cao nhất.

Khai báo khả năng hỗ trợ Chế độ trò chơi

Để khai báo dịch vụ hỗ trợ cho Chế độ trò chơi và ghi đè mọi biện pháp can thiệp của Nhà sản xuất thiết bị gốc (OEM), trước tiên, hãy thêm cấu hình Chế độ trò chơi vào phần tử <application> trong tệp AndroidManifest.xml của bạn:

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

Sau đó, hãy tạo một tệp game_mode_config.xml trong thư mục res/xml/ của dự án với nội dung sau:

<?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"
/>

Chuyển đổi chế độ trò chơi

Để chuyển đổi giữa các chế độ trò chơi, bạn có thể sử dụng Trang tổng quan trò chơi (có trên thiết bị Pixel) hoặc các ứng dụng tương tự do OEM cung cấp. Ngoài ra, bạn có thể sử dụng lệnh shell Chế độ trò chơi trong quá trình phát triển.

Nếu bạn đang sử dụng Trang tổng quan trò chơi và biểu tượng tối ưu hoá không xuất hiện khi trò chơi khởi chạy, thì bạn có thể phải tải ứng dụng lên Google Play Console rồi cài đặt ứng dụng đó thông qua Cửa hàng Play. Để biết thông tin về quy trình kiểm thử ứng dụng trong Cửa hàng Play, vui lòng xem phần Chia sẻ nội bộ gói ứng dụng và tệp APK.

Hoạt động trên Trang tổng quan trò chơi! Hình 1. Trang tổng quan trò chơi hiển thị lớp phủ trò chơi đang chạy trên thiết bị Pixel.

Trong hình 1, bạn có thể thay đổi Chế độ trò chơi của trò chơi đang chạy từ tiện ích Tối ưu hoá. Như hiển thị trên tiện ích, trò chơi đang chạy ở chế độ PERFORMANCE.

Trong quá trình phát triển, nếu bạn đang dùng một thiết bị không có Trang tổng quan trò chơi và nhà sản xuất không cung cấp cách nào để đặt Chế độ trò chơi cho từng ứng dụng, thì bạn có thể thay đổi trạng thái Chế độ trò chơi thông qua adb:

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

Ứng dụng mẫu

Mẫu Game Mode API nêu bật cách bạn có thể tối ưu hoá FPS và cách hiển thị giới hạn độ phân giải để tiết kiệm khoảng 25% năng lượng trong các ứng dụng.

Tiếp theo

Hãy đọc bài viết Các biện pháp can thiệp vào Chế độ trò chơi để cải thiện hiệu suất của trò chơi khi không thể cung cấp bản cập nhật trò chơi.