يتطلّب برنامج ألعاب Google Play على الكمبيوتر إجراء تغييرات على لعبتك لتكون متوافقة مع أجهزة الكمبيوتر وتحسينها. تضمن هذه التغييرات إمكانية تشغيل لعبتك على جهاز كمبيوتر وتحسين تجربة المستخدم لتناسب هذه المنصة.
بالإضافة إلى ذلك، يتضمّن برنامج "ألعاب Google Play على الكمبيوتر" متطلبات بشأن الرسومات وإدخال البيانات على الجهاز واللعب على أجهزة متعددة. لمزيد من المعلومات، يُرجى الاطّلاع على دليل البدء.
عند إجراء تغييرات على التوافق مع الكمبيوتر وتحسين الأداء (بخلاف توفير توافق x86-64)، يمكنك إعداد لعبتك لاكتشاف "ألعاب Google Play على الكمبيوتر" ثم إيقاف الميزات الخاصة بالنظام الأساسي أو تفعيلها. يتيح لك ذلك استخدام حزمة APK أو حزمة تطبيق Android نفسها لإصدارات تطبيقك على أجهزة Android الجوّالة وأجهزة الكمبيوتر.
في ما يلي ملخّص للمتطلبات والاقتراحات الواردة في هذه الصفحة:
- تضمين واجهة التطبيق الثنائية x86-64 (مطلوبة)
- رصد برنامج "ألعاب Google Play" في وقت التشغيل (يُنصح به)
- التعامل مع حدث onPause (إجراء يُنصح به)
- تعديل عناصر واجهة المستخدم (مطلوب)
- إيقاف مربّعات حوار أذونات تطبيقات Android (مطلوب)
- إيقاف ميزات وأذونات Android غير المتوافقة (مطلوب)
- استبدال WebViews بنوايا المتصفّح (يُنصح بذلك)
- إيقاف واجهات برمجة التطبيقات غير المتوافقة مع "خدمات Google Play" (إجراء مطلوب)
- تفعيل ميزة "مساحة التخزين المحصورة" (مطلوب)
- الانتقال إلى "إحصاءات Google 4" (إجراء يُنصح به)
تضمين بنية واجهة x86-64 ABI
مطلوب بموجب عملية الإصدار
يجب أن تتضمّن جميع المكتبات المُدرَجة في لعبتك إصدارات متوافقة مع واجهة 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:
انتقِل إلى إعدادات اللاعب (Player Settings) > إعدادات أخرى (Other Settings) > الإعداد (Configuration) > نظام البرمجة النصية (Scripting Backend)، ثم اختَر IL2CPP من القائمة المنسدلة لتفعيل نظام البرمجة النصية IL2CPP.
فعِّل استهدافات Android x86-64 لإصدار Unity الذي تستخدمه:
الإصدار 2018 من Unity والإصدارات الأقدم: انتقِل إلى إعدادات المشغّل > إعدادات أخرى > بنية الهدف، ثم ضَع علامة في مربّع الاختيار x86. بما أنّ Unity 2018 لا يتيح سوى استهداف بنية x86، لن تتمكّن من إنشاء بنية x86-64. سيتطلّب هذا الإصدار استثناءً من فريق المراجعة. يُرجى التواصل مع جهة الاتصال المعنية في Google لطلب استثناء x86.
الإصدار 2019 من Unity Long Term Support (LTS) والإصدارات الأحدث: انتقِل إلى إعدادات Player > إعدادات أخرى > البِنى المستهدَفة وفعِّل 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.wifiandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.location
قد يتم إدراج بعض هذه الميزات على أنّها متوافقة عند تشغيل pm list features لأسباب تتعلّق بالتوافق، ولكن لم يتم تنفيذها بالكامل. لمزيد من المعلومات حول كيفية إزالة ميزة android.hardware.wifi، يُرجى الاطّلاع على مقالة مراقبة حالة الاتصال وقياس استهلاك البيانات. للاطّلاع على القائمة الكاملة بالميزات غير المتوافقة، يُرجى الرجوع إلى دليل توافق بيان التطبيق مع أجهزة Chromebook.
متطلبات اختبار الجودة
إنّ ميزات الأجهزة الشائعة الاستخدام هذه غير متوافقة مع أجهزة الكمبيوتر، لذا عليك إزالتها قبل إرسال التطبيق النهائي إلى Google Play Console:
android.hardware.audio.proandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.consumerirandroid.hardware.locationandroid.hardware.nfcandroid.hardware.sensor.lightandroid.hardware.sensor.accelerometerandroid.hardware.sensor.barometerandroid.hardware.sensor.compassandroid.hardware.sensor.gyroscopeandroid.hardware.sensor.proximityandroid.hardware.telephonyandroid.hardware.touchscreenandroid.hardware.usb.accessoryandroid.hardware.usb.hostandroid.hardware.wifiandroid.software.midi
الأذونات غير المتوافقة
إنّ الأذونات التالية الشائعة الاستخدام غير متاحة على أجهزة الكمبيوتر، لذا يجب أن توقف لعبتك هذه الأذونات عند تشغيلها على برنامج "ألعاب Google Play على الكمبيوتر":
android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_WIFI_STATEandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.FOREGROUND_SERVICEandroid.permission.GET_ACCOUNTSandroid.permission.INSTALL_PACKAGESandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_PHONE_STATEandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_CREDENTIALSandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.google.android.gms.permission.ACTIVITY_RECOGNITION
المواقع الإلكترونية الخارجية ومكوّنات WebView
يتم تحميل غرض المتصفّح في متصفّح الويب الأصلي على الكمبيوتر بدلاً من تحميله في بيئة "ألعاب Google Play على الكمبيوتر". وهي تجربة مثالية للاعبين في معظم الحالات.
لتسهيل عملية النقل، يتيح برنامج "ألعاب Google Play على الكمبيوتر" استخدام WebView. بما أنّ هذه الصفحة تفتح في بيئة "ألعاب Google Play على الكمبيوتر"، لن تتضمّن متصفّح سطح المكتب المعتاد. إذا كنت تستخدم WebView سابقًا لمشاركة بنود الخدمة أو سياسة الخصوصية أو أي محتوى مشابه آخر، عليك استخدام intent المتصفّح بدلاً من ذلك.
إيقاف واجهات برمجة التطبيقات غير المتوافقة مع "خدمات 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 ML
- الإعداد عن بُعد في Firebase
- إحصاءات Firebase
غير متوافق
لا تتوافق هذه الوحدات مع برنامج "ألعاب Google Play على الكمبيوتر"، ولكنّها لا تتسبّب في حدوث مشاكل في البرنامج عند تعذّر تشغيلها:
- إحصاءات Google (تم إيقافها نهائيًا، يُرجى استخدام "إحصاءات Firebase")
- Google Cast
- Awareness API
- Drive (غير متاح، ستتم إزالته قريبًا)
- FIDO
- قاعدة بيانات Firebase في الوقت الفعلي
- Firestore
- اختبار A/B من Firebase
- Google Fit
- واجهة برمجة التطبيقات Address API
- واجهة برمجة التطبيقات "التطبيقات الفورية"
- Location API
- حزمة تطوير البرامج (SDK) لخرائط Google
- الأجهزة المجاورة
- بانوراما
- الأماكن
- Google+
- SafetyNet (تم إيقافها نهائيًا، يُرجى ملء نموذج الاهتمام للموافقة على استخدام Play Integrity API القادمة)
- إدارة العلامات من Google
- Wear OS
مُعطَّل
مطلوب بموجب عملية الإصدار
يجب عدم استخدام هذه الوحدات على أجهزة الكمبيوتر لأنّها قد تتسبّب في حدوث سلوك غير متوقّع في برنامج "ألعاب Google Play على الكمبيوتر".
تفعيل ميزة "مساحة التخزين المحصورة"
مطلوب بموجب عملية الإصدار
ينطبق هذا القسم إذا كانت لعبتك تقرأ أو تكتب في وحدة التخزين الخارجية. يجب فرض استخدام مساحة التخزين المحصورة النطاق كطريقة بديلة للقراءة والكتابة في مساحة التخزين. يؤدي ذلك إلى عدم الحاجة إلى طلب الأذونات الحسّاسة التالية من اللاعب:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
لمزيد من المعلومات عن مساحة التخزين المحصورة النطاق، يُرجى الاطّلاع على:
الإحصاءات
لا تعمل منتجات "إحصاءات Google" القديمة في برنامج "ألعاب Google Play على الكمبيوتر". إذا كان ذلك ينطبق على ألعابك، عليك نقلها إلى إحصاءات Google 4.
لن يؤثّر ذلك في لعبتك إلا إذا كنت تستخدم حاليًا إحصاءات Google 360. إذا كنت تستخدم حزمة تطوير البرامج (SDK) من Firebase لتتبُّع أحداث الإحصاءات في لعبتك، ويمكنك الاطّلاع على لعبتك كموقع في وحدة تحكّم "إحصاءات Google"، لن تحتاج إلى اتّخاذ أي إجراءات أخرى.