गेम मोड एपीआई

Game Mode API की मदद से, अपने गेम को बेहतर परफ़ॉर्मेंस या लंबी बैटरी लाइफ़ के लिए ऑप्टिमाइज़ किया जा सकता है. ऐसा तब होता है, जब उपयोगकर्ता गेम मोड को चुनता है.

इसके अलावा, डेवलपर की ओर से अब अपडेट नहीं किए जा रहे गेम की परफ़ॉर्मेंस को बेहतर बनाने के लिए, गेम मोड से जुड़ी कार्रवाइयों के अनुरोध सबमिट किए जा सकते हैं.

गेम मोड एपीआई और इंटरवेंशन, इन पर उपलब्ध हैं:

  • Android 12 वाले डिवाइसों को चुनें
  • Android 13 या इसके बाद के वर्शन पर काम करने वाले डिवाइस

हर गेम, Game Mode API के व्यवहार को लागू कर सकता है. साथ ही, ओईएम को गेम मोड इंटरवेंशन की सेटिंग का सुझाव दे सकता है या गेम मोड इंटरवेंशन से ऑप्ट आउट कर सकता है.

सेटअप

अपने गेम में Game Mode API का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. Android 13 SDK टूल डाउनलोड और इंस्टॉल करें.

  2. AndroidManifest.xml फ़ाइल में, अपने ऐप्लिकेशन को गेम के तौर पर एलान करें. इसके लिए, <application> एलिमेंट में appCategory एट्रिब्यूट सेट करें:

android:appCategory="game"
  1. अपनी मुख्य गतिविधि में इसे जोड़कर, मौजूदा गेम मोड के बारे में क्वेरी करें:

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 के साथ काम करने की सुविधा के बारे में नहीं बताया गया है. साथ ही, इसमें गेम मोड की सेटिंग में बदलाव करने की सुविधा भी काम नहीं करती.
स्टैंडर्ड उपयोगकर्ता ने कोई गेम मोड नहीं चुना है या उसने स्टैंडर्ड मोड चुना है.
परफ़ॉर्म करना इससे बैटरी लाइफ़ और फ़िडेलिटी कम हो जाती है, लेकिन सबसे कम लेटेंसी वाले फ़्रेम रेट मिलते हैं.
बैटरी इसमें बैटरी लाइफ़ सबसे ज़्यादा मिलती है. हालांकि, इसके लिए फ़्रेम रेट या फ़िडेलिटी कम हो जाती है.
  1. onResume फ़ंक्शन में गेम मोड की स्थिति के बारे में क्वेरी करने के लिए, कोड जोड़ें:

    उपयोगकर्ता की सेटिंग में बैटरी मोड का उदाहरण

सबसे सही तरीके

अगर आपका गेम पहले से ही कई फ़िडेलिटी और फ़्रेम रेट टारगेट के साथ काम करता है, तो आपको परफ़ॉर्मेंस और बैटरी सेवर मोड के लिए सही सेटिंग चुननी चाहिए:

  • डिवाइस के फ़्रेम रेट को लगातार ज़्यादा रखने के लिए: फ़्रेम रेट को बढ़ाने के लिए, फ़िडेलिटी को थोड़ा कम करें.

  • बैटरी लाइफ़ को बेहतर बनाने के लिए: डिसप्ले रीफ़्रेश रेट को कम (जैसे, 30 हर्ट्ज़ या 60 हर्ट्ज़) पर सेट करें. साथ ही, कम रेट को टारगेट करने के लिए, फ़्रेम पेसिंग का इस्तेमाल करें.

फ़र्स्ट-पर्सन शूटर, मल्टीप्लेयर ऑनलाइन बैटल अरीना (एमओबीए), और रोल-प्लेइंग गेम (आरपीजी) जैसे हाई-फ़िडेलिटी गेम के लिए, आपको लगातार ज़्यादा फ़्रेम रेट हासिल करने पर फ़ोकस करना चाहिए, ताकि लोगों को गेम का ज़्यादा से ज़्यादा इमर्सिव अनुभव मिल सके.

अच्छी क्वालिटी वाले और कैज़ुअल गेम, दोनों के लिए बैटरी सेवर मोड चालू करने की सुविधा होनी चाहिए. इससे गेम खेलने का समय बढ़ाया जा सकता है. इसके लिए, पीक फ़्रेम रेट को कम करना होगा.

गेम मोड के लिए सहायता का एलान करना

गेम मोड के लिए सहायता देने और ओईएम के किसी भी गेम मोड इंटरवेंशन को बदलने के लिए, सबसे पहले अपनी 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 डिवाइसों पर उपलब्ध) या ओईएम की ओर से उपलब्ध कराए गए इसी तरह के ऐप्लिकेशन का इस्तेमाल किया जा सकता है. इसके अलावा, डेवलपमेंट के दौरान गेम मोड की शेल कमांड का इस्तेमाल किया जा सकता है.

अगर Game Dashboard का इस्तेमाल किया जा रहा है और गेम लॉन्च होने पर ऑप्टिमाइज़ेशन आइकॉन नहीं दिखता है, तो आपको Google Play Console पर अपना ऐप्लिकेशन अपलोड करना पड़ सकता है. इसके बाद, Play Store से इसे इंस्टॉल करें. Play Store में ऐप्लिकेशन की टेस्टिंग के बारे में जानने के लिए, संगठन में काम करने वालों के साथ, ऐप्लिकेशन बंडल और APKs शेयर करें लेख पढ़ें.

गेम डैशबोर्ड की गतिविधि! पहली इमेज. Pixel डिवाइस पर चल रहे गेम के ऊपर गेम डैशबोर्ड दिख रहा है.

पहली इमेज में दिखाया गया है कि ऑप्टिमाइज़ेशन विजेट से, चालू गेम का गेम मोड बदला जा सकता है. विजेट में दिखाए गए मुताबिक, फ़िलहाल गेम PERFORMANCE मोड में चल रहा है.

अगर डेवलपमेंट के दौरान, गेम डैशबोर्ड की सुविधा के बिना किसी डिवाइस का इस्तेमाल किया जा रहा है और डिवाइस बनाने वाली कंपनी, हर ऐप्लिकेशन के लिए गेम मोड सेट करने का कोई तरीका नहीं देती है, तो adb के ज़रिए गेम मोड की स्थिति बदली जा सकती है:

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

नमूना एप्लिकेशन

Game Mode API के सैंपल में बताया गया है कि अपने ऐप्लिकेशन में करीब 25% बैटरी बचाने के लिए, एफ़पीएस और रेंडर रिज़ॉल्यूशन कैप को कैसे ऑप्टिमाइज़ किया जा सकता है.

अगला

गेम के अपडेट उपलब्ध न होने पर, उसकी परफ़ॉर्मेंस को बेहतर बनाने के लिए, गेम मोड इंटरवेंशन के बारे में पढ़ें.