اعتبارات النشر

تتضمّن معظم هواتف Android شرائح ARM. ومع ذلك، تستخدم العديد من أجهزة ChromeOS شرائح x86. ولا يهمّ هذا الاختلاف التطبيقات المكتوبة بلغة Kotlin أو Java. ومع ذلك، بالنسبة إلى التطبيقات المكتوبة بلغة Android NDK، بما في ذلك التطبيقات التي تم إنشاؤها باستخدام محركات الألعاب، يمكن أن تكون مجموعة الشرائح في الجهاز مصدر قلق مهم.

من المفترض أن يتم إطلاق جميع التطبيقات التي تتضمّن رمز Android NDK مع جميع واجهات التطبيق الثنائية (ABI) الأربعة الرئيسية في Android: ‏armeabi-v7a (arm32) وarm64-v8a (arm64) وx86 (x86_32) وx86_64.

ويوفّر ذلك أفضل أداء وأقل استهلاك للبطارية لكل جهاز. على سبيل المثال، قد يحتوي ملف build.gradle المستند إلى cmake على ما يلي:

externalNativeBuild {
  cmake {
    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
  }
}

حجم حزمة APK

يؤدي كل واجهة ABI في حزمة APK شاملة إلى زيادة حجمها. ويمكن أن يؤثّر ذلك في استخدام المستخدمين للمساحة على القرص وحجم تنزيل التطبيق، وقد يتجاوز حدود الحجم المسموح بها على "متجر Play". وأفضل طريقة لتجنُّب ذلك هي استخدام حِزم Android App Bundle. تتيح لك حِزم التطبيقات تجميع جميع واجهات التطبيق الثنائية الأربع بسهولة من داخل "استوديو Android"، ولكنّها لا تزيد من حجم التنزيل للمستخدمين. كما تسهّل الاستفادة من ميزة العرض الديناميكي، ما يتيح للمستخدمين تنزيل محتوى الألعاب الكبير الحجم عند الطلب فقط. إذا لم تكن حِزم التطبيقات خيارًا متاحًا لك، يمكنك استخدام حِزم APK المتعددة القديمة للحصول على سلوك مشابه.

‫32 بت مقابل 64 بت

يجب أن توفّر جميع تطبيقات Android إصدارًا متوافقًا مع نظام 64 بت. إنّ الإصدار 32 بت اختياري لكل من أجهزة ARM وx86. لمزيد من المعلومات، يمكنك الاطّلاع على مستندات Android المتوافقة مع 64 بت.

مع أنّ توفير إصدارات 64 بت فقط يقلّل من عدد أهداف الإصدار المطلوبة ومساحة الاختبار، إلا أنّه يحدّ أيضًا من أنواع الأجهزة التي يمكنها تشغيل لعبتك. على سبيل المثال، بسبب القيود الأخرى على الأجهزة، لا يمكن تشغيل تطبيقات Android إلا بالإصدار 32 بت على العديد من أجهزة Chromebook القديمة، على الرغم من أنّها تتضمّن وحدات معالجة مركزية 64 بت. لضمان إمكانية تشغيل تطبيقك على هذه الأجهزة، يجب توفير دعم كل من الإصدارين 32 بت و64 بت.

ملاحظة: يجب أن تتضمّن جميع التطبيقات الجديدة والمحدَّثة إصدارًا بنظام 64 بت. توقّف "متجر Play" عن توفير تطبيقات 32 بت للأجهزة التي يمكنها التعامل مع نظام 64 بت. تتوفّر العديد من أجهزة Chromebook بإصدار 64 بت، وننصحك بتحديث تطبيقك في أقرب وقت ممكن لتضمين إصدار 64 بت لضمان استمرار توفّره لمستخدمي تطبيقك على ChromeOS.

ترجمة ARM

تحاول أجهزة Chromebook التي تعمل ببنية x86 ترجمة رمز ARM كلما أمكن ذلك. ومع ذلك، يؤدي الترجمة إلى إبطاء الأداء وزيادة استهلاك البطارية. حتى الألعاب البسيطة يجب أن توفّر إصدارات متوافقة مع معالجات x86 لتقديم أفضل تجربة للمستخدم. إذا لم تتمكّن من توفير إصدارات x86، يُرجى العِلم أنّه لا يمكن لبعض أجهزة Chromebook التي تعمل ببنية x86 ترجمة رمز arm64. في هذه الحالة، يجب تضمين كل من arm32 وarm64 ABI في إصداراتك.

مع أنّ ترجمة arm32 متاحة على جميع أجهزة Chromebook المتوافقة مع Android، لا يمكن لبعض أجهزة Chromebook ترجمة رمز arm64. وهذا يعني أنّه إذا كانت لعبتك تتضمّن فقط أهداف إنشاء arm64، لن تكون متاحة لعدد كبير من أجهزة ChromeOS. إذا لم تتمكّن من شحن ملفات x86 الثنائية، عليك تضمين كل من arm32 وarm64 ABI في إصداراتك.

                                                                               
واجهات ABI المضمّنةالتوافق مع ChromeOS

arm64

سيئة

arm32/arm64

حسنًا (مع الترجمة)

arm32/arm64/x86_32/x86_64

الأفضل