Oyun Modu API'si

Game Mode API, kullanıcı ilgili oyun modunu seçtiğinde oyununuzu en iyi performans veya en uzun pil ömrü için optimize etmenize olanak tanır.

Alternatif olarak, geliştiriciler tarafından artık güncellenmeyen oyunların performansını artırmak için Oyun Modu müdahaleleri isteğinde bulunabilirsiniz.

Oyun Modu API'si ve müdahaleleri şu cihazlarda kullanılabilir:

Her oyun, Oyun Modu API davranışını uygulayabilir, OEM'lere Oyun Modu müdahaleleri ayarları önerebilir veya Oyun Modu müdahalelerini devre dışı bırakabilir.

Kurulum

Oyun Modu API'sini oyununuzda kullanmak için aşağıdakileri yapın:

  1. Android 13 SDK'sını indirip yükleyin.

  2. AndroidManifest.xml dosyasında, <application> öğesindeki appCategory özelliğini ayarlayarak uygulamanızı oyun olarak bildirin:

android:appCategory="game"
  1. Ana etkinliğinize aşağıdakileri ekleyerek mevcut oyun modunu sorgulayı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
}
Desteklenen oyun modu Açıklama
DESTEKLENMİYOR Oyun, Game Mode API'sini desteklediğini belirtmiyor ve Game Mode müdahalelerini desteklemiyor.
STANDART Kullanıcı bir oyun modu seçmediyse veya standart modu seçtiyse
PERFORMANS Pil ömrü ve doğruluk azalması karşılığında en düşük gecikme süreli kare hızlarını sağlar.
PİL Daha düşük doğruluk veya kare hızları karşılığında mümkün olan en uzun pil ömrünü sağlar.
  1. onResume işlevinde oyun modu durumunu sorgulamak için kod ekleyin:

    Kullanıcı ayarı olan pil moduyla ilgili örnek

En İyi Uygulamalar

Oyununuz zaten birden fazla doğruluk ve kare hızı hedefi destekliyorsa performans ve pil tasarrufu modları için uygun ayarları belirlemelisiniz:

  • Maksimum cihaz kare hızlarına tutarlı bir şekilde ulaşmak için: Daha yüksek kare hızlarına ulaşmak amacıyla kalitede küçük düşüşler yapabilirsiniz.

  • Pil ömrünü uzatmak için: Daha düşük bir ekran yenileme hızı (ör. 30 Hz veya 60 Hz) seçmeyi ve azaltılmış hızı hedeflemek için kare hızını düzenlemeyi kullanmayı deneyin.

Birinci şahıs nişancı, çok oyunculu online savaş arenası (MOBA) ve rol yapma oyunları (RPG) gibi yüksek kaliteli oyunlarda, kullanıcıların oyuna kendilerini kaptırmasını sağlamak için tutarlı bir şekilde yüksek kare hızları elde etmeye odaklanmanız gerekir.

Hem yüksek kaliteli hem de sıradan oyunlarda, en yüksek kare hızlarınızı düşürerek oyun süresini uzatmak için pil tasarrufu modunu desteklemeniz gerekir.

Oyun Modları desteğini bildirme

Oyun Modları desteğini bildirmek ve OEM'lerin Oyun Modu müdahalelerini geçersiz kılmak için öncelikle AndroidManifest.xml dosyanızdaki <application> öğesine Oyun Modu yapılandırmasını ekleyin:

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

Ardından, projenizin res/xml/ dizininde aşağıdaki içeriklere sahip bir game_mode_config.xml dosyası oluşturun:

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

Oyun Modları Arasında Geçiş Yapma

Oyun modları arasında geçiş yapmak için Oyun Paneli'ni (Pixel cihazlarda kullanılabilir) veya OEM'ler tarafından sağlanan benzer uygulamaları kullanabilirsiniz. Alternatif olarak, geliştirme sırasında Oyun Modu kabuk komutunu kullanabilirsiniz.

Oyun Kontrol Paneli'ni kullanıyorsanız ve oyununuz başlatıldığında optimizasyon simgesi gösterilmiyorsa uygulamanızı Google Play Console'a yüklemeniz ve Play Store üzerinden yüklemeniz gerekebilir. Play Store'da uygulama testi hakkında bilgi edinmek için Uygulama paketlerini ve APK'ları dahili olarak paylaşma başlıklı makaleyi inceleyin.

Oyun Paneli Etkinliği Şekil 1. Pixel cihazda çalışan oyunun üzerinde gösterilen Oyun Paneli.

1. şekilde, çalışan oyunun oyun modu Optimizasyon widget'ından değiştirilebilir. Widget'ta gösterildiği gibi oyun şu anda PERFORMANCE modunda çalışıyor.

Geliştirme sırasında, Oyun Paneli'nin bulunmadığı bir cihaz kullanıyorsanız ve üretici, her uygulama için Oyun Modu'nu ayarlamanın bir yolunu sunmuyorsa adb aracılığıyla Oyun Modu durumunu değiştirebilirsiniz:

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

Örnek Uygulama

Oyun Modu API'si örneği, uygulamalarınızda yaklaşık% 25 güç tasarrufu sağlamak için FPS ve oluşturma çözünürlüğü sınırlarını nasıl optimize edebileceğinizi vurgular.

Sonraki

Oyun güncellemeleri sunmanın mümkün olmadığı durumlarda oyun performansını artırmak için Oyun Modu Müdahaleleri başlıklı makaleyi inceleyin.