يتطلّب برنامج "ألعاب Google Play على الكمبيوتر" إجراء تغييرات على لعبتك لضمان توافقها مع أجهزة الكمبيوتر وتحسينها، وذلك لضمان إمكانية تشغيلها على الكمبيوتر وتحسين تجربة المستخدم على هذه المنصة.
بالإضافة إلى ذلك، يتضمّن برنامج "ألعاب Google Play على الكمبيوتر" متطلبات بشأن الرسومات وإدخال البيانات على الجهاز واللعب على أجهزة متعددة. لمزيد من المعلومات، يُرجى الاطّلاع على دليل البدء.
عند إجراء تغييرات على التوافق مع الكمبيوتر وتحسين الأداء (بخلاف توفير توافق مع بنية x86-64)، يمكنك إعداد لعبتك لاكتشاف "ألعاب Google Play على الكمبيوتر" ثم إيقاف الميزات الخاصة بالنظام الأساسي أو تفعيلها. يتيح لك ذلك استخدام حزمة APK أو حزمة تطبيق نفسها لإصدارات Android على الأجهزة الجوّالة وأجهزة الكمبيوتر.
في ما يلي ملخّص للمتطلبات والاقتراحات الواردة في هذه الصفحة:
- تضمين واجهة التطبيق الثنائية (ABI) x86-64 (إجراء يُنصح به)
- رصد "ألعاب Google Play" في وقت التشغيل (يُنصح به)
- التعامل مع حدث onPause (إجراء مقترَح)
- تعديل عناصر واجهة المستخدم (مطلوبة)
- إيقاف مربّعات حوار أذونات تطبيقات Android (مطلوب)
- إيقاف ميزات وأذونات Android غير المتوافقة (مطلوب)
- استبدال WebViews بنوايا المتصفّح (يُنصح بذلك)
- إيقاف واجهات برمجة التطبيقات غير المتوافقة مع "خدمات Google Play" (إجراء مطلوب)
- تفعيل ميزة "التخزين الفرعي" (مطلوب)
- الانتقال إلى "إحصاءات Google 4" (إجراء يُنصح به)
تضمين بنية واجهة 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 الذي تستخدمه:
الإصدار 2018 من Unity والإصدارات الأقدم: انتقِل إلى إعدادات المشغّل > إعدادات أخرى > بنية الهدف، ثم ضَع علامة في مربّع الاختيار x86. بما أنّ الإصدار Unity 2018 لا يتوافق إلا مع إصدارات x86، لن تتمكّن من إنشاء إصدار x86-64. سيتطلّب هذا الإصدار استثناءً من فريق المراجعة. يُرجى التواصل مع جهة الاتصال المعنية في Google لطلب استثناء x86.
إصدار الدعم الطويل الأمد (LTS) من Unity 2019 والإصدارات الأحدث: انتقِل إلى إعدادات 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
المواقع الإلكترونية الخارجية وWebViews
يتم تحميل نية المتصفّح في متصفّح الويب الأصلي على الكمبيوتر بدلاً من تحميلها في بيئة "ألعاب 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
- البصر
- 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
- Instant Apps API
- Location API
- Google Maps SDK
- الأجهزة المجاورة
- بانوراما
- أماكن
- Google+
- SafetyNet (تم إيقافها نهائيًا، يُرجى ملء نموذج الاهتمام للموافقة على استخدام Play Integrity API القادمة)
- Google Tag Manager
- Wear OS
مُعطَّل
مطلوب في عملية الإصدار
يجب عدم استخدام هذه الوحدات على أجهزة الكمبيوتر لأنّها قد تتسبّب في حدوث سلوك غير متوقّع في برنامج "ألعاب Google Play على الكمبيوتر".
تفعيل ميزة التخزين الفرعي
مطلوب في عملية الإصدار
ينطبق هذا القسم إذا كانت لعبتك تقرأ البيانات من وحدة تخزين خارجية أو تكتب فيها. يجب فرض استخدام مساحة التخزين المحصورة النطاق كطريقة بديلة للقراءة والكتابة في مساحة التخزين. يؤدي ذلك إلى عدم الحاجة إلى طلب الأذونات الحسّاسة التالية من اللاعب:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
لمزيد من المعلومات حول مساحة التخزين المحصورة، يُرجى الاطّلاع على:
الإحصاءات
لا تعمل منتجات "إحصاءات Google" القديمة في برنامج "ألعاب Google Play على الكمبيوتر". إذا كان ذلك ينطبق على ألعابك، عليك نقلها إلى إحصاءات Google 4.
لن يؤثّر هذا التغيير في لعبتك إلا إذا كنت تستخدم حاليًا إحصاءات Google 360. إذا كنت تستخدم حزمة تطوير البرامج (SDK) من Firebase لتتبُّع أحداث الإحصاءات في لعبتك، وكان بإمكانك الاطّلاع على لعبتك كموقع في وحدة تحكّم "إحصاءات Google"، لن تحتاج إلى اتّخاذ أي إجراءات أخرى.