تسمح لك Game Mode API بتحسين لعبتك للحصول على أفضل أداء أو أطول عمر للبطارية عندما يختار المستخدم وضع الألعاب المقابل.
بدلاً من ذلك، يمكنك إرسال طلبات لإجراء تعديلات على وضع الألعاب لتحسين أداء الألعاب التي لم يعُد المطوّرون يقدّمون لها تحديثات.
تتوفّر Game Mode API والتعديلات على:
- أجهزة Android 12 معيّنة
- الأجهزة التي تعمل بنظام التشغيل Android 13 أو إصدار أحدث
يمكن لكل لعبة تنفيذ سلوك Game Mode API أو اقتراح إعدادات تعديلات وضع الألعاب على المصنّعين الأصليين للأجهزة أو إيقاف تعديلات وضع الألعاب.
الإعداد
لاستخدام Game Mode API في لعبتك، اتّبِع الخطوات التالية:
في الملف
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
}
| وضع الألعاب المتوافق | الوصف |
|---|---|
| غير متاحة | لا تُعلن اللعبة عن دعمها لواجهة برمجة تطبيقات وضع الألعاب ولا تتيح تعديلات وضع الألعاب. |
| عادية | لم يختار المستخدم وضع ألعاب أو اختار الوضع العادي. |
| الأداء | يوفّر هذا الوضع أقل عدد من اللقطات في الثانية مع تقليل عمر البطارية والدقة. |
| البطارية | يوفّر هذا الوضع أطول عمر ممكن للبطارية مع تقليل الدقة أو عدد اللقطات في الثانية. |
أضِف رمزًا للاستعلام عن حالة وضع الألعاب في الدالة
onResume:
أفضل الممارسات
إذا كانت لعبتك تتيح حاليًا عدة إعدادات مستهدَفة للدقة وعدد اللقطات في الثانية، عليك تحديد الإعدادات المناسبة لوضعَي "الأداء" و"توفير شحن البطارية":
لتحقيق الحد الأقصى لعدد اللقطات في الثانية على الجهاز باستمرار: يمكنك تقليل الدقة قليلاً لتحقيق عدد أعلى من اللقطات في الثانية.
لتحسين عمر البطارية: يمكنك اختيار معدّل أقل لتجديد الشاشة (مثل 30 هرتز أو 60 هرتز) واستخدام ميزة "تحديد وتيرة اللقطات" لاستهداف المعدّل المخفّض.
بالنسبة إلى الألعاب عالية الدقة، مثل ألعاب إطلاق النار من منظور الشخص الأول وألعاب ساحة المعركة على الإنترنت متعددة اللاعبين (MOBA) وألعاب تقمّص الأدوار (RPG)، عليك التركيز على تحقيق عدد عالٍ وثابت من اللقطات في الثانية لزيادة انغماس المستخدم.
بالنسبة إلى الألعاب عالية الدقة والألعاب العادية، عليك إتاحة وضع "توفير شحن البطارية" لإطالة وقت اللعب من خلال تقليل الحد الأقصى لعدد اللقطات في الثانية.
الإعلان عن دعم أوضاع الألعاب
للإعلان عن دعم أوضاع الألعاب وتجاوز أي تعديلات على وضع الألعاب من قِبل المصنّعين الأصليين للأجهزة، عليك أولاً إضافة إعدادات وضع الألعاب إلى العنصر
<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) أو التطبيقات المشابهة التي يقدّمها المصنّعون الأصليون للأجهزة. بدلاً من ذلك، يمكنك استخدام أمر shell لوضع الألعاب أثناء التطوير.
إذا كنت تستخدم "لوحة بيانات الألعاب" ولم يظهر رمز التحسين عند تشغيل لعبتك، قد تحتاج إلى تحميل تطبيقك إلى Google Play Console وتثبيته من خلال "متجر Play". للحصول على معلومات حول اختبار التطبيقات في "متجر Play"، راجِع مقالة مشاركة حِزم التطبيقات وحِزم APK مع الفريق الداخلي.
الشكل 1. لوحة بيانات الألعاب معروضة فوق اللعبة قيد التشغيل على جهاز Pixel.
في الشكل 1، يمكن تغيير وضع الألعاب للعبة قيد التشغيل من أداة "التحسين". كما هو موضّح في الأداة، يتم تشغيل اللعبة حاليًا في وضع
PERFORMANCE.
أثناء التطوير، إذا كنت تستخدم جهازًا لا يتضمّن "لوحة بيانات الألعاب" ولا يقدّم المصنّع أي طريقة لضبط وضع الألعاب لكل تطبيق، يمكنك تغيير حالة وضع الألعاب من خلال adb:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>تطبيق نموذجي
يُبرز نموذج Game Mode API كيفية تحسين الحد الأقصى لعدد اللقطات في الثانية ودقة العرض لتوفير% 25 تقريبًا من الطاقة في تطبيقاتك.
التالي
ننصحك بقراءة مقالة تعديلات وضع الألعاب لتحسين أداء اللعبة عندما لا يكون من الممكن تقديم تحديثات لها.