لمحة عن مجموعة حزمات تطبيق Android
ما هي "مجموعة حزمات تطبيق Android" (AAB)؟
تم إطلاق "مجموعة حزمات تطبيق Android" (AAB) في العام 2018، وهي تنسيق نشر لنظام التشغيل Android متوافق مع Google Play ومتاجر التطبيقات الأخرى، ومن خلال أدوات تصميم مثل "استوديو Android" وBazel وBuck وCocos Creator وGrdle وUnity وUnreal.
ما الفرق بين حِزم AAB وحِزم APK؟
تُستخدم حِزم التطبيقات للنشر فقط ولا يمكن تثبيتها على أجهزة Android. حزمة Android (APK) هي تنسيق متوافق مع تطبيقات Android قابل للتثبيت والتنفيذ. يجب أن يعالج الموزّع حِزم التطبيقات في حِزم APK حتى يتم تثبيتها على الأجهزة.
هل تنسيق AAB هو تنسيق خاص لا يمكن استخدامه إلا على Google Play؟
لا، ليس جمعية AAB ملكية خاصة. تكون حِزمة التطبيق مفتوحة المصدر، لذا يمكن لأي متجر تطبيقات أن تدعمها. يتم دعم الحِزم بواسطة Google Play وبعض متاجر التطبيقات الأخرى.
هل يمنعني إنشاء عمليات AAB من النشر إلى متاجر التطبيقات الأخرى؟
لا، لن يتم منعك من النشر إلى متاجر التطبيقات الأخرى. عند إنشاء تطبيقك، يمكنك إنشاء حِزم AAB وحِزم APK في الوقت نفسه استنادًا إلى تنسيق النشر المطلوب لكل متجر تطبيقات.
ما مقدار الجهد المطلوب لاستخدام AAB؟
بالنسبة إلى معظم التطبيقات، يتساوى إنشاء تنسيق AAB مع جهود إنشاء حزمة APK لأنّه يتضمّن ببساطة اختيار تنسيق AAB بدلاً من حزمة APK في وقت الإصدار. بالنسبة لبعض التطبيقات، قد تكون هناك بعض التغييرات اللازمة للحصول على المزايا الكاملة لتطبيقات AAB.
هل هناك أيّ مطوّرين يستخدمون تطبيقات AAB؟
نعم. يستخدم أكثر من مليون تطبيق ولعبة حِزم التطبيقات لنشر إصداراتها على Google Play، بما فيها معظم التطبيقات الرائجة التي تمثّل مليارات عمليات التثبيت النشطة. فإذا كنت تستخدم Google Play لتثبيت التطبيقات، يتمّ نشر العديد من تطبيقات جهازك كحِزم تطبيقات.
هل يمنع AAB المستخدمين من "التثبيت من مصدر غير معروف"؟
لا، لا تمنع أنظمة AAB المستخدمين من تثبيت حِزم APK من أي مصدر. بما أنّ تنسيق AAB هو مجرد تنسيق نشر، فإنّه لا يغيّر طريقة عمل نظام Android الأساسي.
إذا كان المطوّر يستخدم حِزم AAB لتوفير حِزم APK محسّنة، هل يعني ذلك أنّه من الممكن أن يواجه المستخدمون الذين يتشاركون حِزم APK هذه مشاكل؟
لطالما كانت هناك حالات نادرة على Android لا يمكن فيها لحِزم APK النقل مباشرةً من جهاز إلى آخر، بغض النظر عمّا إذا كان التطبيق منشورًا عبر حِزم APK أو تطبيقات AAB. وعلى وجه التحديد، عند تحسين حِزم APK لأحد الأجهزة (مثلاً، لبنية شريحة معيّنة)، قد يواجه نقل حِزم APK هذه مباشرةً إلى جهاز آخر مشاكل إذا لم يتطابق الجهاز المستهدف مع خصائص الجهاز الأصلي. في هذه الحالات، يجب تثبيت حزمة APK أو مجموعة من حِزم APK المناسبة للجهاز المستهدَف.
هل يمكنني النشر في متاجر تطبيقات متعدّدة؟
نعم، يمكنك نشر تطبيقك في العديد من متاجر التطبيقات، سواء كنت تستخدم واجهات AAB أم لا. يمكنك نشر هذه التطبيقات على Google Play ومتاجر التطبيقات الأخرى التي تتوافق مع هذه التطبيقات في الوقت نفسه الذي يتم فيه نشر حِزم APK على متاجر التطبيقات أو المواقع الإلكترونية الأخرى غير المتوافقة مع هذه التطبيقات.
هل يسري شرط AAB على التطبيقات الخاصة المنشورة على "Google Play للأعمال"؟
لا، يمكن نشر التطبيقات الخاصة المنشورة على "Google Play للأعمال" بتنسيق APK أو بتنسيق AAB. عند إنشاء تطبيق خاص جديد، يمكنك اختيار تغيير مفتاح توقيع التطبيق وإيقاف ميزة "توقيع التطبيق" من Play إذا كنت تريد نشر حِزمة APK خاصة وموقَّعة ذاتيًا.
لمحة عن ميزة "توقيع التطبيق" من Play
ما هي ميزة "توقيع التطبيق" من Play؟
يجب توقيع كل ملف APK على نظام التشغيل Android بطريقة مشفَّرة باستخدام مفتاح توقيع التطبيق حتى يكون قابلاً للتثبيت. يستخدم نظام Android الأساسي المفتاح لضمان تطابق جميع تحديثات التطبيق مع التطبيق المثبَّت على الجهاز، بحيث يأتي كل تحديث للتطبيق من صاحب المفتاح نفسه بعد إجراء التثبيت الأولي. وهذا يحد من خطر تحديثات التطبيقات الضارة. تم إطلاق ميزة "توقيع التطبيق" من Play في عام 2017، وهي خدمة لإدارة مفاتيح التشفير في Google Play لحماية مفاتيح توقيع التطبيقات لمطوِّري Google Play وإدارتها في التطبيقات الموزَّعة على Play. بالإضافة إلى ذلك، تُنفِّذ ميزة "توقيع التطبيق" من Play عملية التوقيع على حِزم APK التي ينشئها Play من حِزم AAB المحمَّلة. تكون ميزة "توقيع التطبيق" من Play مطلوبة للتطبيقات الجديدة لكي تتمكّن من استخدام واجهات AAB.
لماذا أطلقت Google ميزة "توقيع التطبيق" من Play؟
على مدى سنوات، كانت مفاتيح توقيع التطبيق تمثّل تحديًا لمطوّري Play. يعني فقدان المفتاح أنّه لن يعود بإمكانك تقديم تحديثات التطبيق للمستخدمين، وتعرض المفتاح للمستخدمين لخطر التحديثات الضارة. من الشائع في توزيع البرامج لقنوات التوزيع تخزين وإدارة مفاتيح البرامج التي توزعها لأنها تخفف من هذه المخاطر. تم إطلاق ميزة "توقيع التطبيق" من Play في عام 2017 للحدّ من خطر فقدان مفاتيح التوزيع في Play، لإتاحة حماية مستخدمي Play بعد اختراق رئيسي، وإعطاء فائدة للمطوّرين من استثمارات Google المستمرة في الأمان.
كيف تضمن Google أمان ميزة "توقيع التطبيق" من Play؟
تحمي Google مفاتيح المطورين في نفس البنية الأساسية الآمنة والرائدة في المجال والمستخدمة لحماية مفاتيح Google الخاصة. يتم تخزين المفاتيح بشكل مشفَّر على خوادم مؤمّنة لإدارة مفاتيح التشفير ومخصّصة لها قوائم للتحكم في الوصول (ACL) صارمة، ومسارات تدقيق واضحة يمكن التلاعب بها وتشمل جميع العمليات. يمكنك الاطّلاع على تفاصيل عمليات أمان السحابة الإلكترونية من Google وأفضل الممارسات على الإنترنت.
هل يمكنني اختيار مفتاح توقيع التطبيق الذي يستخدمه Play لتطبيقي؟
نعم، عند إنشاء تطبيق جديد، يمكنك إما أن تطلب من Google إنشاء مفتاح توقيع تطبيق وتخزينه نيابةً عنك، أو يمكنك اختيار مفتاح توقيع تطبيقك الخاص وتحميل نسخة منه.
أريد استخدام مفتاح توقيع التطبيق نفسه في Play ومتاجر التطبيقات الأخرى. هل لا يزال ذلك ممكنًا؟
إذا قرّرت استخدام مفتاح التوقيع نفسه في العديد من متاجر التطبيقات بعد الاطّلاع على آلية عمل تحديثات التطبيق، لا يزال بإمكانك إجراء ذلك. تذكّر أنّ ذلك سيسمح لكل متجر تطبيقات بإجراء تحديثات لتطبيقك من متاجر متعددة. يتوفّر لك خياران:
- يمكنك إنشاء مفتاح محليًا وتحميل نسخة منه إلى Play. وبهذه الطريقة، يمكنك استخدام نفس المفتاح الذي يستخدمه Google Play عند إنشاء تطبيقك لمتاجر التطبيقات الأخرى.
- يمكنك استخدام مفتاح من إنشاء Google لميزة "توقيع التطبيق" من Play، ثم تنزيل حِزم APK للتوزيع من Play Console موقَّعة باستخدام المفتاح الذي أنشأته Google واستخدام حِزم APK هذه للتوزيع في متاجر التطبيقات أو المواقع الإلكترونية الأخرى.
هل يمكنني استخدام ميزة "توقيع التطبيق" من Play لتطبيق تم إنشاؤه قبل آب (أغسطس) 2021 بدون تقديم نسخة من مفتاح توقيع التطبيق؟
نعم، تتيح ميزة "توقيع التطبيق" من Play خيار "ترقية رئيسية" للتطبيقات التي تم إنشاؤها قبل آب (أغسطس) 2021. يسمح هذا الإجراء للتطبيق ببدء استخدام ميزة "توقيع التطبيق" من Play مع مفتاح توقيع تطبيق جديد. لاستخدام هذا الخيار، بعد إجراء الترقية، سيُطلب منك تحميل عنصرين في كل إصدار: حِزمة تطبيق وحِزمة APK قديمة تم توقيعها باستخدام مفتاح توقيع التطبيق القديم. سيستخدم Play حِزم APK لإنشاء حِزم APK موقَّعة باستخدام المفتاح الذي تمت ترقيته لعمليات التثبيت الجديدة وتحديثاتها. وفي الوقت نفسه، سيستخدم Play ملفات APK القديمة للحصول على تحديثات التطبيقات للمستخدمين الذين سبق لهم تثبيت تطبيقك. وبمرور الوقت، سيتم نقل عمليات التثبيت القديمة إلى المفتاح الذي تمت ترقيته (على سبيل المثال، عند انتقال المستخدمين إلى جهاز جوّال جديد).
هل هناك طريقة لاستخدام مفتاح توقيع التطبيق نفسه للتطبيقات التي تم إنشاؤها قبل آب (أغسطس) 2021 والتطبيقات التي تم إنشاؤها بعد آب (أغسطس) 2021؟
لا ننصح عادةً باستخدام مفتاح توقيع التطبيق نفسه لتطبيقات متعددة، لأنّ استخدام مفتاح فريد لكل تطبيق هو أكثر أمانًا. ومع ذلك، يمكن استخدام مفتاح توقيع التطبيق نفسه لعدة تطبيقات. ويمكنك إما تحميل نسخة من المفتاح الحالي لتوقيع التطبيق عند إعداد ميزة "توقيع التطبيق" من Play. في حال عدم الرغبة في مشاركة مفتاح توقيع التطبيق الحالي، يمكنك استخدام خيار "ترقية المفتاح" القادم لتطبيقك قبل آب (أغسطس) 2021 لبدء استخدام ميزة "توقيع التطبيق" من Play. وبهذه الطريقة، سيتمكّن تطبيقك المستخدَم قبل آب (أغسطس) 2021 والتطبيق الذي تم نشره قبل آب (أغسطس) 2021 من استخدام المفتاح الجديد نفسه.
هل يمكنني تغيير مفتاح توقيع التطبيق الذي تستخدمه ميزة "توقيع التطبيق" من Play؟
نعم، يمكن للتطبيقات تغيير مفتاحها من خلال طلب ترقية المفتاح في Play Console.
كيف يمكنني التحقّق من أنّ Google Play لم يُجرِ تغييرات غير متوقعة على رمزي؟
يمكنك في أي وقت تنزيل العناصر وفحصها من Google Play ومن مستكشِف حِزم التطبيقات في Play Console. بالإضافة إلى ذلك، ستوفّر واجهة برمجة التطبيقات Play Developer API قريبًا إمكانية التحقّق من حِزم APK قبل تطبيقها على قناة إصدار. يمكنك أيضًا استخدام ميزة اختيارية تُسمّى شفافية الرموز لحِزم التطبيقات. من خلال شفافية الرموز، يمكنك أنت والمستخدمين النهائيين الاحتفاظ بمتجر تطبيقات مثل Google Play لاحتساب الرمز الذي يعرضه.
ما هي آلية عمل شفافية الرموز في حِزم التطبيقات؟
"شفافية الرموز" هي ميزة اختيارية تتيح لك الاحتفاظ بمتجر التطبيقات الذي يوزّع تطبيقك على الرمز الذي يقدِّمه. لاستخدام ميزة شفافية الرموز، يمكنك في وقت الإصدار إنشاء ملف شفافية الرمز البرمجي في تطبيقك يمثّل الرمز (خصوصًا ملف يحتوي على أجزاء من الرمز البرمجي لتطبيقك). يمكنك توقيعه باستخدام مفتاح شفافية التعليمات البرمجية الخاص الذي تمتلكه أنت فقط. ليس عليك مطلقًا تقديم مفتاح شفافية الرمز إلى Google بعد ذلك، يمكنك على الجهاز فحص APK المثبَّت والتأكّد من أنّ ملف الشفافية الذي وقّعته لا يزال يتطابق مع رمز APK. وهذا يضمن لك أنّه حتى لو تمت إعادة توقيع حزمة APK نفسها أثناء التوزيع، فإنّه لم يتم تعديل الرمز الذي تم التحقّق منه من خلال شفافية الرمز. إذا كان هناك عدم تطابق، فهذا دليل على أنه تم تغيير التعليمة البرمجية أثناء التوزيع. لا تحل شفافية التعليمات البرمجية محل توقيعات APK وهي ليست جزءًا من نظام Android الأساسي.
نشر تطبيقات وألعاب كبيرة الحجم على Google Play
ما هي الحدود القصوى المسموح بها لحجم التطبيقات على Google Play عند استخدام واجهات AAB؟
الحد الأقصى لحجم التنزيل المضغوط للوحدة الأساسية التي تم إنشاؤها من AAB هو 200 ميغابايت. وهذا يعني أنّه سينشئ Google Play أولاً الوحدة الأساسية، ثم سينشئ أي وحدات ميزات إضافية أو حِزم مواد عرض من تنسيق AAB. بعد ذلك، يتحقّق Google Play من أنّ الحدّ الأقصى لإجمالي حجم عمليات التنزيل المضغوطة الذي يتلقّاه أي جهاز فردي لا يزيد عن 4 غيغابايت.
هل يتيح Google Play استخدام ملفات البيانات الموسّعة (بيانات OBB) لتطبيقات AAB؟
لا، لا يتيح Google Play استخدام ملفات البيانات الموسّعة الخاصة بتنسيقات AAB. ملفات البيانات الموسّعة (OBB) هي حلّ قديم خاص بـ Google Play لنشر التطبيقات والألعاب الكبيرة الحجم باستخدام حِزم APK. هناك بدائل من Google والجهات الخارجية لأنظمة AAB بحجم أكبر من 200 ميغابايت.
كيف يمكنني نشر تطبيق أو لعبة بحجم أكبر من 200 ميغابايت على Google Play؟
يمكن للتطبيقات والألعاب الكبيرة التي تستخدم عمليات AAB إما استخدام "خدمات الإرسال من Play" مثل "عرض المواد في Play" أو "عرض الميزات في Play" لتتجاوز الحدّ الأقصى للحجم البالغ 200 ميغابايت، أو يمكنها استخدام شبكات تابعة لجهات خارجية لعرض المحتوى.
ما هي المزايا التي تقدّمها ميزة "عرض المواد في Play" مقارنةً بملفات البيانات الموسّعة (بيانات OBB)؟
على Google Play، كانت حِزم APK تتطلّب ملفات بيانات موسّعة منفصلة (OBB) لعرض موارد إضافية للمستخدمين. ومع ذلك، نظرًا لعدم توقيع OBB وتخزينها في وحدة التخزين الخارجية للتطبيق، فإنها ليست آمنة للغاية. باستخدام "عرض المواد في Play" (PAD)، يمكن للألعاب التي يزيد حجمها عن 200 ميغابايت استبدال OBB من خلال نشر اللعبة بأكملها كحِزمة تطبيق واحدة على "متجر Play". بالإضافة إلى توفير عملية نشر أكثر سلاسة وأوضاع تسليم مرنة، يعني PAD أنّ التحديثات تتطلب مساحة تخزين أقل على الجهاز. ونتيجةً لذلك، يمكن أن يؤدي إلى زيادة معدلات التثبيت. وأخيرًا، مع دعم ASTC الآن على %80 تقريبًا من الأجهزة، تتيح لك ميزة استهداف تنسيق ضغط البنية من PAD تقديم ASTC على الأجهزة المتوافقة. ويمكنك استهداف أكبر مجموعة من الأجهزة مع الاستفادة الفعّالة من الأجهزة المتاحة وتخزين الأجهزة.
ميزات العرض في Google Play المتاحة من خلال AAB
ما هي أمثلة الميزات الجديدة التي يقدّمها Play للمطوّرين الذين يستخدمون AAB؟
تعمل متاجر التطبيقات مثل Google Play على معالجة حِزم AAB في حِزم APK قابلة للتثبيت. فتحمّلك مسؤولية حِزم APK يتيح إمكانية تقديم ميزات وخدمات جديدة تعود بالفائدة على المطورين والمستخدمين. يقدّم Play حاليًا خدمات يستخدمها المطوّرون ويقدّرونها على نطاق واسع، ومن الأمثلة على ذلك عرض الميزات في Play وعرض المواد في Play.
ما هو عرض الميزات في Play؟
تتمثل إحدى ميزات حِزم التطبيقات في أنّها تسمح بفصل التطبيق إلى وحدات متعددة تُعرف باسم "وحدات الميزات". يمكن بعد ذلك تسليم هذه الوحدات بشكل ديناميكي للمستخدمين والأجهزة في أوقات مختلفة (على عكس الماضي عندما كان يجب تسليم كل شيء كملف واحد عند التثبيت). تمنحك ميزة "عرض الميزات في Play" إمكانية تخصيص وحدات الميزات التي يتم عرضها لأي جهاز ومتى، وذلك من خلال أوضاع العرض "وقت التثبيت" و"المشروطة" و"عند الطلب". يتيح لك ذلك تقليل حجم التطبيق وتحقيق المزيد من عمليات التثبيت وتخصيص تجربة استخدام التطبيق على سبيل المثال، يمكنك تقديم ميزة نادرًا ما يتم استخدامها مثل دعم العملاء عند الطلب للمستخدمين الذين يحتاجون إليها بدلاً من عرضها وقت التثبيت، ما يقلّل من حجم التثبيت الأوّلي لجميع المستخدمين. أو يمكنك تقديم تجربة استخدام كاملة للتطبيق على الأجهزة المتطورة مع تقديم تجربة تطبيق أصغر حجمًا مع ميزات اختيارية عند الطلب للأجهزة المبتدئة والتي لها قيود على البيانات ومساحة التخزين في الجهاز.
ما هو "عرض المواد في Play"؟
من خلال ميزة "عرض المواد في Play"، يمكن لمطوّري الألعاب تحسين تجربة المستخدم وتقليل وقت انتظار المستخدمين من خلال تقديم مواد عرض كبيرة بشكل ديناميكي في الوقت الأمثل. يمكن للألعاب التي تستخدم ميزة "عرض المواد في Play" أن تستفيد أيضًا من استهداف تنسيقات ضغط البنية، بحيث يحصل المستخدمون على الأصول المناسبة لأجهزتهم فقط، بدون إهدار مساحة أو معدل نقل بيانات.
هل تتوفّر ميزات التسليم في Play هذه في متاجر التطبيقات الأخرى؟
لا، يتضمّن "عرض الميزات في Play" و"عرض المواد في Play" التطبيقات والألعاب التي تتفاعل مباشرةً مع "متجر Google Play". هذه الخدمات الاختيارية هي أمثلة على Play التي تميّز نفسها كمتجر تطبيقات وتقدّم قيمة إضافية وفائدة للمطوّرين والمستخدمين في Play. أما متاجر التطبيقات الأخرى التي تستخدم حِزم التطبيقات وحِزم APK، فتقدّم خدماتها للمطوّرين في متجر التطبيقات.