يتطلّب برنامج ألعاب Google Play على الكمبيوتر إجراء تغييرات على لعبتك لتحسينها وجعلها متوافقة مع أجهزة الكمبيوتر. تضمن هذه التغييرات إمكانية تشغيل اللعبة على جهاز كمبيوتر وتحسين تجربة المستخدم على النظام الأساسي.
بالإضافة إلى ذلك، هناك متطلبات رسومات وعمليات إدخال على الجهاز و requirements لتشغيل الألعاب على أجهزة متعددة في "ألعاب Google Play على الكمبيوتر". لمزيد من المعلومات، يُرجى الاطّلاع على دليل البدء.
عند إجراء تغييرات على التوافق مع الكمبيوتر الشخصي وتحسين الأداء (باستثناء إتاحة الإصدار x86-64)، يمكنك إعداد لعبتك لرصد تطبيق "ألعاب Google Play على الكمبيوتر" ثم إيقاف ميزات محدّدة بالنظام الأساسي أو تفعيلها. يتيح لك ذلك استخدام حِزمة APK أو حِزمة التطبيق نفسهما لإصدارات Android للأجهزة الجوّالة وأجهزة الكمبيوتر الشخصي.
في ما يلي ملخّص للمتطلبات والاقتراحات الواردة في هذه الصفحة:
- تضمين واجهة برمجة التطبيقات x86-64 (مطلوبة)
- رصد "ألعاب Google Play" أثناء التشغيل (إجراء يُنصح به)
- معالجة الحدث onPause (إجراء مقترَح)
- تعديل عناصر واجهة المستخدم (إجراء مطلوب)
- إيقاف مربّعات حوار أذونات تطبيقات Android (إجراء مطلوب)
- إيقاف ميزات Android وأذوناته غير المتوافقة (إجراء مطلوب)
- استبدال WebViews بنيّات المتصفّح (إجراء يُنصح به)
- إيقاف واجهات برمجة تطبيقات "خدمات Google Play" غير المتوافقة (إجراء مطلوب)
- تفعيل ميزة "مساحة التخزين على مستوى التطبيق" (إجراء مطلوب)
- نقل البيانات إلى "إحصاءات Google 4" (إجراء يُنصح به)
تضمين بنية ABI لنظام x86-64
مطلوبة من خلال عملية الإصدار
تتطلّب جميع المكتبات المضمّنة في لعبتك إصدارات متوافقة مع واجهة برمجة التطبيقات x86-64 ABI لضمان تحقيق أفضل أداء وثبات على النظام الأساسي.
إذا كان من غير الممكن من الناحية الفنية شحن ملف تنفيذي بتنسيق x86 64 بت للعبة، عليك التواصل مع فريق المراجعة للحصول على استثناء. لا يمكن أن تحصل لعبتك على اعتماد كامل باستخدام استثناء، ولكن يمكن إدراجها في القائمة على أنّها لعبة "قابلة للتشغيل".
مجموعة في المكتبة
لضمان أكبر توافق مع معالج x86-64، لا تستخدِم مجموعة تعليمات atom
عند تجميع مكتباتك. على سبيل المثال، عند استخدام gcc
تجنَّب استخدام -march=atom
واستخدِم -march=x86-64
بدلاً منه.
البنية المستهدفة في Unity
لا تتوفّر بعض إصدارات Unity 2019 و2020 مع بنية x86-64 على Android. تأكَّد من استخدام الإصدار 2019.4.31f1 أو 2020.3.19f1 أو إصدار أحدث من Unity.
إذا كانت لعبتك تستخدم إصدارًا متوافقًا من محرّك ألعاب Unity، عليك تنفيذ الخطوات التالية لتفعيل استهدافات Android x86-64:
انتقِل إلى إعدادات اللاعب > الإعدادات الأخرى > الضبط > معالج كتابة النصوص الخلفي واختَر IL2CPP من القائمة المنسدلة لتفعيل معالج كتابة النصوص الخلفي IL2CPP.
فعِّل استهدافات Android x86-64 لإصدار Unity الذي تستخدمه:
Unity 2018 والإصدارات الأقدم: انتقِل إلى إعدادات اللاعب > الإعدادات الأخرى > البنية المستهدفة، وضَع علامة في مربّع الاختيار x86. بما أنّ Unity 2018 لا يتوافق إلا مع استهدافات x86، لن تتمكّن من إنشاء x86-64. سيتطلب هذا الإصدار الحصول على استثناء من فريق المراجعة. يُرجى التواصل مع جهة التواصل التي تتعامل معها في Google لطلب استثناء x86.
إصدار Unity 2019 Long Term Support (LTS) والإصدارات الأحدث: انتقِل إلى إعدادات اللاعب > الإعدادات الأخرى > التصاميم المعمارية المستهدَفة وفعِّل x86-64 (ChromeOS).
رصد تطبيق "ألعاب Google Play على الكمبيوتر"
يمكنك رصد نظام "ألعاب Google Play على الكمبيوتر" في وقت التشغيل، ما يتيح لك تفعيل الميزات الخاصة بالنظام الأساسي أو إيقافها في لعبتك.
تحقّق من ميزة النظام com.google.android.play.feature.HPE_EXPERIENCE
لتحديد ما إذا كانت لعبتك تعمل على منصة "ألعاب Google Play على الكمبيوتر":
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
#C
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
التعامل مع أحداث دورة حياة Android
من المهم معالجة حدث
onPause
(c++)
في بيئة "ألعاب Google Play على الكمبيوتر". تظهر لعبتك
عندما يشغّل اللاعب تراكب المحاكي، لذا فإنّ عدم الاستماع إلى حدث
onPause
قد يؤدي إلى تقديم تجربة سيئة للمستخدم.
تعديل واجهة المستخدم
بعض عناصر واجهة المستخدم والإيماءات غير مناسبة على الكمبيوتر الشخصي ويجب تعديلها.
مطلوب:
- استبدِل إجراءات واجهة المستخدم التي تتطلّب إصبعَين أو أكثر (إيماءات اللمس المتعدّد). على سبيل المثال، يجب استبدال ميزة التصغير/التكبير بإصبعَين وغيرها من إيماءات اللمس المتعدّد بإدخال الماوس ولوحة المفاتيح المقابل. لمعرفة تفاصيل عن التغييرات في ميزات إدخال البيانات على الأجهزة، يُرجى الاطّلاع على الأجهزة المتوافقة مع ميزات الإدخال.
قيمة مُقترَحة:
- يجب أن يظهر النص المرئي للمستخدمين على أنّه "انقر" بدلاً من "نقر".
- يجب أن تحتوي القوائم القابلة للتنقّل على أشرطة تمرير.
- يجب أن تحتوي المناطق التي يمكن للمستخدمين تمرير محتواها على أشرطة تمرير أو طريقة أخرى ل التنقّل لمسافات كبيرة بسرعة.
- لا تعرض لوحة مفاتيح قابلة للنقر على الشاشة لإدخال النص.
- يجب أن تكون جميع إدخالات النصوص ضمن حدود الحقل النصي.
- يجب أن تؤدي النقرات على العناصر المرئية إلى ما يلي:
- قبول النقر في أي مكان ضمن الحدود المرئية للعنصر
- عدم قبول نقرة في المنطقة خارج العنصر المرئي
- يجب أن تحتوي مربّعات الحوار على زر إغلاق مرئي. لا ترصد النقرات خارج حدود مربّع الحوار.
إيقاف معظم مربّعات حوار الأذونات
باستثناء أذونات الميكروفون والإشعارات، لا تعرض "ألعاب Google Play على الكمبيوتر" مربّعات حوار الأذونات، لذا يجب عدم محاولة عرضها أو طلب الأذونات أثناء التشغيل. إذا سبق أن عرضت مربّعات حوار طلب الأذونات، عليك تحديث لعبتك كي لا تعرضها بعد ذلك على أجهزة الكمبيوتر.
ميزات Android وأذوناته غير المتوافقة
مطلوبة من خلال عملية الإصدار
لا تتوفّر بعض ميزات الأجهزة الشائعة على الهواتف الجوّالة والأجهزة اللوحية على أجهزة الكمبيوتر. ويشمل ذلك ميزات الأجهزة، مثل الكاميرا أو الموقع الجغرافي للاعب. لا يمكن تنزيل أي لعبة تتطلّب ميزات غير متوفّرة وتثبيتها على الكمبيوتر الشخصي لللاعب. تُرفض تلقائيًا طلبات أي ميزات غير متوفّرة على جهاز الكمبيوتر.
يمكنك الاطّلاع على قائمة كاملة بالميزات المتاحة عن طريق كتابة:
adb shell pm list features
لجعل لعبتك متوافقة مع أجهزة الكمبيوتر، يجب إجراء التغييرات التالية:
يجب وضع علامة على الميزات كاختيارية في بيان تطبيقك من خلال إضافة
android:required="false"
إلى بيان<uses-feature>
. لا ينطبق ذلك إلا على الميزات التي سبق أن تم الإفصاح عنها في بيان تطبيقك.لا تحاول استخدام الميزات غير المتوفّرة أثناء التشغيل. إذا كنت تستخدم ملف APK نفسه في مسارَي الإصدار على الأجهزة الجوّالة والكمبيوتر الشخصي، عليك رصد بيئة الكمبيوتر الشخصي في وقت التشغيل وتجنُّب مسارات الرمز البرمجي ذات الصلة.
لا تطلب أذونات Android غير المتوافقة أثناء التشغيل. إذا كنت تستخدم APK نفسه في كل من قناة الإصدار المحدود للأجهزة الجوّالة وقناة الإصدار المحدود لأجهزة الكمبيوتر، عليك رصد بيئة الكمبيوتر أثناء وقت التشغيل وتجنُّب مسارات الرمز البرمجي ذات الصلة. لست بحاجة إلى تعديل البيان.
لمزيد من المعلومات حول توافق بيان التطبيق، يُرجى الاطّلاع على دليل توافق بيان تطبيق Chromebook.
متطلبات الاختبار الوظيفي
أزِل ميزات الأجهزة هذه قبل إرسال أول إصدار تجريبي إلى Google Play Console:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
قد يتم إدراج بعض هذه الميزات على أنّها متوافقة عند تشغيل
pm list features
لأسباب تتعلّق بالتوافق، ولكنّها لا يتم تنفيذها بالكامل. لمزيد من المعلومات حول كيفية إزالة ميزة android.hardware.wifi
، يُرجى الاطّلاع على مقالة مراقبة حالة الاتصال وقياس عمليات الاتصال. للحصول على
قائمة كاملة بالميزات غير المتوافقة، يُرجى الاطّلاع على دليل توافق بيان التطبيق
لأجهزة Chromebook.
متطلبات اختبار الجودة
لا تتوافق ميزات الأجهزة الشائعة هذه مع أجهزة الكمبيوتر الشخصي، لذا عليك إزالتها قبل إرسالها نهائيًا إلى Google Play Console:
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
الأذونات غير المتوافقة
لا تتوفّر الأذونات التالية الشائعة الاستخدام على أجهزة الكمبيوتر، لذا يجب أن تُوقِف لعبتك هذه الأذونات في برنامج "ألعاب Google Play على الكمبيوتر":
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_WIFI_STATE
android.permission.BLUETOOTH
android.permission.CAMERA
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.INSTALL_PACKAGES
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_CREDENTIALS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
المواقع الإلكترونية ومكوّنات WebView الخارجية
نية المتصفّح: يتم تحميلها في متصفّح الويب المضمّن في الكمبيوتر الشخصي بدلاً من المتصفّح في بيئة "ألعاب Google Play على الكمبيوتر". هذه تجربة مثالية للّاعبين في معظم الحالات.
لتسهيل عملية النقل، يتيح تطبيق "ألعاب Google Play على الكمبيوتر" استخدام
WebView. بما أنّه
يتم فتحه في بيئة "ألعاب Google Play على الكمبيوتر"، لن يتضمّن متصفح الكمبيوتر المكتبي المعتاد. إذا كنت تستخدم سابقًا WebView
لمشاركة بنود
الخدمة أو سياسة الخصوصية أو محتوى مشابه آخر، عليك بدلاً من ذلك
استدعاء نية متصفّح.
إيقاف واجهات برمجة تطبيقات "خدمات Google Play" غير المتوافقة
مطلوبة من خلال عملية الإصدار
توفّر "ألعاب Google Play على الكمبيوتر" إصدارًا من "خدمات Google Play" يحتوي على مجموعة فرعية فقط من واجهات برمجة تطبيقات "خدمات Google Play". عليك تأكيد أنّ تطبيقك لا يعتمد بشكل كبير على وحدات تم حذفها أو عدم توافقها مع أجهزة الكمبيوتر الشخصي. يُرجى العِلم أنّ بعض الوحدات قد تكون متاحة، ولكن لا تكون وظائفها متاحة في جميع الأوقات. على سبيل المثال، لن تعمل ميزة "المراسلة عبر السحابة الإلكترونية من Firebase" عند إغلاق تطبيق "ألعاب Google Play على الكمبيوتر".
الوحدات المتوافقة
تتوفّر هذه الوحدات حاليًا وتوافق معها "ألعاب Google Play على الكمبيوتر"، وهناك خطط لدعم ميزات إضافية:
- تسجيل الدخول باستخدام حساب Google (لا يشمل ذلك نقل الحساب وSmartLock والتحقّق من الهوية عبر الرسائل القصيرة وحساب اتّخاذ كلمة المرور معقدة)
- Cronet
- خدمات ألعاب Google Play
- المهام
- الرؤية
- Google Pay
دعم محدود
تعمل الوحدات التالية جزئيًا. وسنبذل قصارى جهدنا لدعم هذه الألعاب على تطبيق "ألعاب Google Play على الكمبيوتر"، ولكن لا يمكننا ضمان عملها.
- خدمة المراسلة عبر السحابة الإلكترونية من Google (متوقّفة نهائيًا، استخدِم "المراسلة عبر السحابة الإلكترونية من Firebase")
- Firebase Authentication (لا تعمل مصادقة رقم الهاتف)
- المراسلة عبر السحابة الإلكترونية من Firebase
- مكتبات Firebase الشائعة
- Firebase ML
- الإعداد عن بُعد في Firebase
- Firebase Analytics
غير متوافق
لا تتوفّر هذه الوحدات في برنامج "ألعاب Google Play على الكمبيوتر"، ولكنّها لا تتسبّب في مشاكل في برنامج "ألعاب Google Play على الكمبيوتر" عند تعذّر تشغيلها:
- إحصاءات Google (تم إيقافها نهائيًا، استخدِم "إحصاءات Firebase")
- Google Cast
- Awareness API
- Drive (ميزة غير متوفّرة، ستتم إزالتها قريبًا)
- FIDO
- قاعدة بيانات Firebase في الوقت الفعلي
- Firestore
- اختبار A/B من Firebase
- Google Fit
- Address API
- Instant Apps API
- Location API
- حزمة تطوير البرامج (SDK) لخدمة "خرائط Google"
- الأجهزة المجاورة
- بانوراما
- الأماكن
- Google+
- SafetyNet (تم إيقافها نهائيًا، يُرجى ملء نموذج إبداء الاهتمام للموافقة على استخدام واجهة برمجة التطبيقات Play Integrity API القادمة)
- إدارة العلامات من Google
- Wear OS
مُعطَّل
مطلوبة من خلال عملية الإصدار
يجب عدم استخدام هذه الوحدات على أجهزة الكمبيوتر لأنّها قد تؤدي إلى سلوك غير متوقّع في "ألعاب Google Play على الكمبيوتر".
تفعيل ميزة "مساحة التخزين على مستوى التطبيق"
مطلوبة من خلال عملية الإصدار
ينطبق هذا القسم إذا كانت لعبتك تقرأ البيانات من وحدة تخزين خارجية أو تكتب فيها. يجب فرض سعة التخزين على مستوى التطبيق كطريقة بديلة للقراءة والكتابة في سعة التخزين. ويؤدي ذلك إلى عدم الحاجة إلى طلب الإذن من اللاعب للحصول على هذين الإذنين المعنيّين بالخصوصية:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
لمزيد من المعلومات عن مساحة التخزين ذات النطاق المحدّد، يُرجى الاطّلاع على:
- كيفية تفعيل ميزة "مساحة التخزين على مستوى التطبيق"
- أفضل الممارسات المتعلقة بمعالجة الملفات غير المتعلقة بالوسائط
الإحصاءات
لا تعمل منتجات "إحصاءات Google" القديمة في "ألعاب Google Play على الكمبيوتر". إذا كان هذا ينطبق على ألعابك، عليك نقلها إلى إحصاءات Google 4.
من المفترض ألا يؤثر ذلك في لعبتك إلا إذا كنت تستخدِم حاليًا إحصاءات Google 360. إذا كنت تستخدِم حزمة تطوير البرامج (SDK) لمنصّة Firebase لتسجيل أحداث الإحصاءات في لعبتك وكان بإمكانك الاطّلاع على لعبتك كمَعلمة في وحدة تحكّم "إحصاءات Google"، ليس عليك اتخاذ أي إجراء إضافي.