أوفت Google بوعدها بتحسين متاجر تطبيقات الطرف الثالث على Android من خلال السماح لها بتثبيت التطبيقات في الخلفية على Android 12.
مرة أخرى في أواخر سبتمبر من العام الماضي، جوجل أعلن أنه سيتم "إجراء تغييرات في أندرويد 12...لتسهيل على الأشخاص استخدام متاجر التطبيقات الأخرى على أجهزتهم مع الحرص على عدم المساس بإجراءات السلامة التي يطبقها Android" ردًا على تصاعد الضغط من Epic Games والجهات التنظيمية الحكومية. ومع ذلك، لم تحدد جوجل بالضبط ما هي التغييرات التي كانوا سيجريونها على Android، كما أنهم لم يشاركوا أي معلومات محددة حول هذا التغيير على مؤتمر جوجل آي/أو 2021. في جوجل مشاركة مدونة رسمية عند الإعلان عن Android 12، أكدت الشركة أنها "تفي بوعدها بإنشاء تطبيقات تابعة لجهات خارجية المتاجر أسهل في الاستخدام على نظام التشغيل Android 12." وبفضل وثائق المطورين، أصبح لدينا أخيرًا فكرة حول التغييرات التي يتم إجراؤها صنع.
قامت Google بتحديث PackageInstaller لنظام Android. فئة SessionParams بطريقة جديدة تسمى setRequireUserAction. تشير هذه الطريقة إلى ما إذا كان يجب إجراء المستخدم قبل السماح بتثبيت التطبيق أم لا. يتم تعيينه افتراضيًا على "صحيح" لأي تطبيق يحتوي على
REQUEST_INSTALL_PACKAGES الإذن، وهو مطلوب لأي تطبيق قبل أن يتمكن من بدء جلسة تثبيت لتحميل تطبيق خارج Google Play أو أي متجر تطبيقات مثبت مسبقًا على الجهاز.ومع ذلك، إجراء المستخدم متعود تكون مطلوبة لتثبيت/تحديث التطبيق إذا الجميع من الشروط التالية:
- يختار المثبت السلوك الجديد.
- يستهدف التطبيق الذي يتم تثبيته مستوى واجهة برمجة التطبيقات (API) 29 (Android 10) أو أعلى. (تلاحظ Google أن متطلبات مستوى واجهة برمجة التطبيقات المستهدفة سوف تتقدم في إصدارات Android المستقبلية، وهي سياسة تتوافق مع سياسة جوجل بلاي على متطلبات هدف واجهة برمجة التطبيقات.)
- يقوم المثبت إما بتحديث نفسه أو تثبيت تحديث لتطبيق تم تثبيته لأول مرة.
- يعلن المثبت
UPDATE_PACKAGES_WITHOUT_USER_ACTION
إذن.
وبالتالي، عندما يحاول متجر التطبيقات بدء جلسة تثبيت ويستخدم واجهة برمجة التطبيقات الجديدة هذه، فمن الممكن أن يحدث التحديث دون أن يضطر المستخدم إلى قبول التحديث يدويًا. سيؤدي هذا إلى جعل تحديث التطبيقات على دفعات أسرع بكثير ويجعل التجربة أكثر توافقًا مع متجر Google Play.