لمحة عن تنسيق "مجموعة حزمات تطبيق Android"

مجموعة حزمات تطبيق Android هي تنسيق نشر يتضمّن جميع الرموز البرمجية والموارد المجمَّعة لتطبيقك، ويؤجّل إنشاء حِزم APK وتوقيعها إلى Google Play.

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

لن تتطلب معظم مشاريع التطبيقات الكثير من الجهد لإنشاء حزم تطبيقات تتيح عرض حِزم APK محسَّنة. إذا كنت تنظّم رموز تطبيقك وموارده وفقًا للاتفاقيات المعتمَدة، يمكنك إنشاء "مجموعات حزمات تطبيق Android" موقَّعة باستخدام "استوديو Android" أو باستخدام سطر الأوامر، ثم تحميلها إلى Google Play، ما يتيح لك الاستفادة تلقائيًا من عرض حِزم APK محسَّنة.

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

يمكن لمطوّري الألعاب الذين ينشرون تطبيقاتهم باستخدام حزم التطبيقات استخدام ميزة "عرض المواد في Play"، وهي حلّ Google Play لعرض كميات كبيرة من مواد عرض الألعاب، ما يوفّر للمطوّرين طرق عرض مرنة وأداءً عاليًا.

شاهد الفيديو التالي للاطّلاع على نظرة عامة حول أسباب نشر تطبيقك باستخدام "مجموعات حزمات تطبيق Android".

قيود على حجم التنزيل المضغوط

يساعد النشر باستخدام "مجموعات حزمات تطبيق Android" المستخدمين في تثبيت تطبيقك بأصغر عمليات تنزيل ممكنة ويزيد من حجم التنزيل المضغوط. أي عندما ينزّل المستخدم تطبيقك، يجب ألا يتجاوز الحجم الإجمالي لحِزم APK المضغوطة المطلوبة لتثبيت تطبيقك (على سبيل المثال، حزمة APK الأساسية + حِزم APK للإعدادات) 4 غيغابايت. يجب أن تستوفي عمليات التنزيل اللاحقة أيضًا هذا القيد على حجم التنزيل المضغوط، مثل تنزيل وحدة ميزات (وحِزم APK للإعدادات الخاصة بها) عند الطلب. لا تساهم حِزم مواد العرض في هذا الحدّ الأقصى للحجم، ولكنّها تخضع لقيود أخرى على الحجم.

إذا وجد Play Console أنّ أيًا من عمليات التنزيل المحتملة لتطبيقك أو ميزاته عند الطلب يتجاوز الحدّ الأقصى للحجم، سيظهر لك خطأ.

ضَع في اعتبارك أنّ "مجموعات حزمات تطبيق Android" لا تتيح استخدام ملفات توسيع APK‏ (*.obb). لذا، إذا واجهت هذا الخطأ عند نشر حزمة تطبيقك، استخدِم أحد المَراجع التالية لتقليل أحجام تنزيل حِزم APK المضغوطة:

  • تأكَّد من تفعيل جميع حِزم APK للإعدادات من خلال ضبط enableSplit = true لكل نوع من حِزم APK للإعدادات. يضمن ذلك ألا ينزّل المستخدمون سوى الرموز البرمجية والموارد التي يحتاجون إليها لتشغيل تطبيقك على أجهزتهم.
  • تأكَّد من تقليل حجم تطبيقك من خلال إزالة الرموز البرمجية والموارد غير المستخدَمة.
  • اتّبِع أفضل الممارسات لتقليل حجم التطبيق بشكلٍ أكبر .
  • ننصحك بتحويل الميزات التي لا يستخدمها سوى بعض المستخدمين إلى وحدات ميزات يمكن لتطبيقك تنزيلها لاحقًا عند الطلب. ضَع في اعتبارك أنّ ذلك قد يتطلب إعادة تصميم بعض أجزاء تطبيقك، لذا تأكَّد من تجربة الاقتراحات الأخرى الموضّحة أولاً.

اعتبارات أخرى

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

  • تفشل عمليات التثبيت الجزئية للتطبيقات التي يتم تحميلها من مصادر خارجية، أي التطبيقات التي لا يتم تثبيتها باستخدام "متجر Google Play" وتفتقر إلى حزمة APK واحدة أو أكثر من حِزم APK المنقسمة المطلوبة، على جميع الأجهزة المعتمدة من Google والأجهزة التي تعمل بالإصدار 10 من Android (مستوى واجهة برمجة التطبيقات 29) أو إصدارات أحدث. عند تنزيل تطبيقك من خلال "متجر Google Play"، تضمن Google تثبيت جميع المكوّنات المطلوبة للتطبيق.
  • إذا كنت تستخدم أدوات تعدّل جداول الموارد بشكلٍ ديناميكي، قد تتصرف حِزم APK التي يتم إنشاؤها من حزم التطبيقات بشكلٍ غير متوقّع. لذا، ننصحك بإيقاف هذه الأدوات عند إنشاء حزمة تطبيق.

  • من الممكن ضبط خصائص في إعدادات تصميم وحدة ميزات تتعارض مع الخصائص من الوحدات الأساسية (أو الوحدات الأخرى). على سبيل المثال، يمكنك ضبط buildTypes.release.debuggable = true في الوحدة الأساسية وضبطها على false في وحدة ميزات. قد تؤدي هذه التعارضات إلى حدوث مشاكل في البنية ووقت التشغيل. ضَع في اعتبارك أنّ وحدات الميزات ترث تلقائيًا بعض إعدادات البنية من الوحدة الأساسية. لذا، تأكَّد من فهم الإعدادات التي يجب الاحتفاظ بها، والإعدادات التي يجب حذفها في إعدادات بنية وحدة الميزات .

مراجع إضافية

لمزيد من المعلومات حول "مجموعات حزمات تطبيق Android"، يُرجى الاطّلاع على المَراجع التالية.

منشورات المدوّنات

الفيديوهات