التوافق مع الكمبيوتر الشخصي وتحسينه لبرنامج "ألعاب Google Play على الكمبيوتر"

يتطلّب تطبيق ألعاب Google Play على الكمبيوتر إجراء تغييرات على لعبتك في ما يتعلّق بالتوافق والتحسين على مستوى التوافق مع الكمبيوتر. تضمن هذه التغييرات إمكانية تشغيل لعبتك على جهاز كمبيوتر وتحسين تجربة المستخدم للمنصة.

علاوة على ذلك، يتضمّن برنامج "ألعاب Google Play على الكمبيوتر" رسومات وإدخال بيانات على الجهاز ومتطلبات تشغيل على جميع الأجهزة. ولمزيد من المعلومات، اطّلِع على دليل البدء.

عند إجراء تغييرات على التوافق والتحسين على جهاز الكمبيوتر (غير متوافق مع الإصدارات x86-64)، يمكنك إعداد لعبتك لرصد برنامج "ألعاب Google Play على الكمبيوتر" ثم إيقاف الميزات الخاصة بالنظام الأساسي أو تفعيلها. يتيح لك ذلك استخدام حزمة APK أو حزمة التطبيق نفسها لإصدارات Android للأجهزة الجوّالة والكمبيوتر الشخصي.

في ما يلي ملخّص للمتطلبات والاقتراحات في هذه الصفحة:

تضمين بنية x86-64 ABI

سمة مطلوبة في عملية الإصدار

تتطلّب جميع المكتبات المضمّنة في لعبتك استخدام إصدارات متوافقة من x86 إلى 64 ABI لضمان أفضل أداء واستقرار على النظام الأساسي.

إذا لم يكن من الممكن من الناحية الفنية أن تشحن لعبتك نسخة 64 بت × 86 قابلة للتنفيذ، عليك التواصل مع فريق المراجعة للحصول على استثناء. لا يمكن أن تحصل لعبتك على الشهادة الكاملة باستثناء ما يحدث، ولكن يمكن وضعها في الكتالوج على أنها لعبة "قابلة للتشغيل".

مكتبة مجمّعة

لضمان الحصول على أكبر قدر من التوافق مع معالجات x86 و64، لا تستخدم مجموعة تعليمات Atom عند تجميع مكتباتك. على سبيل المثال، عند استخدام gcc، تجنَّب استخدام -march=atom واستخدِم -march=x86-64 بدلاً منه.

استهداف البنية في الانسجام

تفتقر بعض إصدارات Unity 2019 و2020 إلى دعم بنية x86-64 على Android. تأكَّد من استخدام Unity 2019.4.31f1 أو 2020.3.19f1 أو إصدار أحدث.

إذا كانت لعبتك تستخدم إصدارًا متوافقًا من محرك ألعاب Unity، يمكنك اتّباع الإجراءات التالية لتفعيل أهداف x86-64 Android:

  1. انتقِل إلى إعدادات المشغّل > إعدادات أخرى > الضبط > خلفية البرمجة النصية واختَر IL2CPP من القائمة المنسدلة لتفعيل الواجهة الخلفية لبرمجة IL2CPP.

  2. فعِّل أهداف Android بتنسيق x86-64 لإصدار Unity:

    • Unity 2018 والإصدارات الأقدم: انتقِل إلى إعدادات المشغّل > إعدادات أخرى > البنية المستهدفة، وضَع علامة في مربّع الاختيار x86. نظرًا لأن Unity 2018 يدعم أهداف x86 فقط، فلن تتمكن من إنشاء x86-64. سيتطلب هذا الإصدار استثناءً من فريق المراجعة. يُرجى التواصل مع جهة اتصال Google لطلب استثناء x86.

    • إصدار الدعم الطويل الأمد (LTS) لنظام التشغيل Unity 2019 والإصدارات الأحدث: انتقِل إلى إعدادات مشغّل التطبيقات > إعدادات أخرى > البُنى الأساسية المستهدَفة وفعِّل الخيار 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 إلى ترك انطباع سيئ لدى المستخدم.

تحديث واجهة المستخدم

بعض عناصر وإيماءات واجهة المستخدم غير مناسبة على أجهزة الكمبيوتر الشخصية ويجب تحديثها.

مطلوب:

  • استبدال إجراءات واجهة المستخدم التي تحتاج إلى إصبعين أو أكثر (إيماءات اللمس المتعدد). على سبيل المثال، يجب استبدال التصغير أو التكبير بإصبعين للتكبير أو التصغير وغيرها من إيماءات اللمس المتعدد بالماوس ولوحة المفاتيح المقابلة. للحصول على تفاصيل حول تغييرات إدخال الجهاز، يُرجى الاطّلاع على دعم الإدخال.

قيمة مُقترَحة:

  • ويجب أن يتضمّن النص المرئي للمستخدم كلمة "click" بدلاً من "click".
  • يجب أن تحتوي القوائم القابلة للتمرير على أشرطة تمرير.
  • يجب أن تحتوي المناطق التي يمكن للمستخدمين تحريكها إما على أشرطة تمرير أو طريقة أخرى لاجتياز المسافات الكبيرة بسرعة.
  • لا تعرض لوحة مفاتيح قابلة للنقر على الشاشة لإدخال النص.
  • يجب أن تكون جميع الإدخالات النصية داخل حدود حقل النص.
  • عند النقر على العناصر المرئية، يجب:
    • اقبل النقرة في أي مكان داخل الحدود المرئية للعنصر.
    • عدم قبول نقرة في المنطقة خارج العنصر المرئي
  • يجب أن تحتوي مربعات الحوار على زر إغلاق مرئي. لا تكتشف نقرة خارج حدود مربع الحوار.

إيقاف معظم مربعات حوار الأذونات

باستثناء إذن استخدام الميكروفون، لا يعرض برنامج "ألعاب 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 Play على الكمبيوتر"، ولكن لا يمكننا ضمان أداء وظائفها.

غير معتمد

هذه الوحدات غير متوافقة مع برنامج "ألعاب Google Play على الكمبيوتر"، ولكنها لا تسبب مشاكل في برنامج "ألعاب Google Play على الكمبيوتر" عند تعذُّر استخدامها:

مُعطَّل

سمة مطلوبة في عملية الإصدار

يجب عدم استخدام هذه الوحدات على أجهزة الكمبيوتر لأنها قد تتسبّب في حدوث سلوك غير متوقَّع في تطبيق "ألعاب Google Play على الكمبيوتر".

تفعيل مساحة التخزين ذات النطاق

سمة مطلوبة في عملية الإصدار

ينطبق هذا القسم إذا كانت لعبتك تستخدم مساحة تخزين خارجية للقراءة أو الكتابة. يلزم فرض مساحة التخزين على النطاق كوسيلة بديلة للقراءة والكتابة في مساحة التخزين. يؤدي هذا الإجراء إلى عدم الحاجة إلى طلب الحصول على الأذونات الحساسة التالية من المشغّل:

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

لمزيد من المعلومات عن مساحة التخزين المُفصَّلة، يُرجى الاطِّلاع على:

الإحصاءات

لا تعمل منتجات "إحصاءات Google" القديمة في برنامج "ألعاب Google Play على الكمبيوتر". إذا انطبق ذلك على ألعابك، عليك نقل بياناتها إلى "إحصاءات Google 4".

من المفترض أن يؤثّر هذا الإجراء في لعبتك فقط إذا كنت تستخدِم إحصاءات Google 360 في الوقت الحالي. إذا كنت تستخدم حزمة تطوير البرامج (SDK) لنظام Firebase لتتبُّع الأحداث الإحصائية في لعبتك، وكان بإمكانك الاطّلاع على لعبتك كموقع إلكتروني في وحدة تحكم إحصاءات Google، لن يكون عليك اتخاذ أي إجراء آخر.