يتطلّب تطبيق ألعاب Google Play على الكمبيوتر إجراء تغييرات على لعبتك في ما يتعلّق بالتوافق والتحسين على مستوى التوافق مع الكمبيوتر. تضمن هذه التغييرات إمكانية تشغيل لعبتك على جهاز كمبيوتر وتحسين تجربة المستخدم للمنصة.
علاوة على ذلك، يتضمّن برنامج "ألعاب Google Play على الكمبيوتر" رسومات وإدخال بيانات على الجهاز ومتطلبات تشغيل على جميع الأجهزة. ولمزيد من المعلومات، اطّلِع على دليل البدء.
عند إجراء تغييرات على التوافق والتحسين على جهاز الكمبيوتر (غير متوافق مع الإصدارات x86-64)، يمكنك إعداد لعبتك لرصد برنامج "ألعاب Google Play على الكمبيوتر" ثم إيقاف الميزات الخاصة بالنظام الأساسي أو تفعيلها. يتيح لك ذلك استخدام حزمة APK أو حزمة التطبيق نفسها لإصدارات Android للأجهزة الجوّالة والكمبيوتر الشخصي.
في ما يلي ملخّص للمتطلبات والاقتراحات في هذه الصفحة:
- مع تضمين x86-64 ABI (مطلوب)
- اكتشاف "ألعاب Google Play" في وقت التشغيل (يُنصح به)
- التعامل مع حدث onPause (إجراء يُنصح به)
- تحديث عناصر واجهة المستخدم (مطلوب)
- إيقاف مربّعات حوار أذونات تطبيقات Android (مطلوب)
- إيقاف ميزات وأذونات Android غير المتوافقة (مطلوب)
- استبدال مكوّنات WebView بأغراض المتصفّح (يُنصح به)
- إيقاف واجهات برمجة التطبيقات لخدمة Google Play غير المتوافقة (مطلوب)
- تفعيل مساحة التخزين ذات النطاق (مطلوب)
- نقل البيانات إلى "إحصاءات Google 4" (يُنصح به)
تضمين بنية 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:
انتقِل إلى إعدادات المشغّل > إعدادات أخرى > الضبط > خلفية البرمجة النصية واختَر IL2CPP من القائمة المنسدلة لتفعيل الواجهة الخلفية لبرمجة IL2CPP.
فعِّل أهداف 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 (لا يشمل ذلك نقل الحساب أو SmartLock أو التحقّق من خلال الرسائل القصيرة أو حساب مستوى تعقيد كلمة المرور)
- Cronet
- خدمات ألعاب Google Play
- المهام
- الرؤية
- Google Pay
دعم محدود
الوحدات التالية وظيفية جزئيًا. سنبذل ما في وسعنا لدعمها على برنامج "ألعاب Google Play على الكمبيوتر"، ولكن لا يمكننا ضمان أداء وظائفها.
- خدمة "المراسلة عبر السحابة الإلكترونية من Google" (تم إيقافها نهائيًا، ويمكنك استخدام "المراسلة عبر السحابة الإلكترونية من Firebase")
- مصادقة Firebase (مصادقة رقم الهاتف لا تعمل)
- المراسلة عبر السحابة الإلكترونية من Firebase
- المكتبات المشتركة على Firebase
- تعلُّم الآلة من Firebase
- الإعداد عن بُعد في Firebase
- إحصاءات Firebase
غير معتمد
هذه الوحدات غير متوافقة مع برنامج "ألعاب Google Play على الكمبيوتر"، ولكنها لا تسبب مشاكل في برنامج "ألعاب Google Play على الكمبيوتر" عند تعذُّر استخدامها:
- إحصاءات Google (من المهم إيقاف العمل بها، ويمكنك استخدام "إحصاءات Firebase")
- Google Cast
- Awareness API
- Drive (متوقّف نهائيًا، وستتم إزالته قريبًا)
- FIDO
- قاعدة بيانات Firebase في الوقت الفعلي
- متجر نار
- اختبار A/B من Firebase
- Google Fit
- Address API
- واجهة برمجة التطبيقات الفورية للتطبيقات
- Location API
- حزمة تطوير البرامج (SDK) في "خرائط Google"
- القريبة
- بانوراما
- أماكن
- Google+
- SafeNet (تم إيقاف العمل به، يُرجى ملء نموذج إبداء الاهتمام من أجل الموافقة على استخدام 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، لن يكون عليك اتخاذ أي إجراء آخر.