يضيف Android 14 ميزات جديدة لجعل متاجر التطبيقات التابعة لجهات خارجية تعمل بشكل أفضل

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

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

ومع ذلك ، لا يزال هذا يترك متاجر تطبيقات الطرف الثالث في وضع غير مؤاتٍ عندما يتعلق الأمر بالوظائف ، لأنهم لا يستطيعون بسهولة معرفة متى سيكون من الآمن إجراء تحديث تلقائي بالفعل. هذا ما تحاول Google حله في Android 14 بواجهة برمجة تطبيقات جديدة تمكن متاجر التطبيقات التابعة لجهات خارجية من إجراء “تحديثات لطيفة”.

تحديثات لطيفة

أضاف Android 14 واجهة برمجة تطبيقات جديدة تتيح لمتاجر تطبيقات الجهات الخارجية التحقق من استيفاء شروط معينة قبل المضي قدمًا في تحديث التطبيق تلقائيًا. يمكن استخدام “من قبل متاجر التطبيقات لتقديم تحديثات تلقائية دون تعطيل تجربة المستخدم (يشار إليها باسم التحديث اللطيف) – على سبيل المثال ، قد يوقف متجر التطبيقات التحديثات عندما يجد [sic] خارج التطبيق المراد تحديثه يتفاعل مع المستخدم “.

تتيح واجهة برمجة التطبيقات الجديدة هذه لمتاجر تطبيقات الجهات الخارجية التحقق مما إذا كان التطبيق الذي يستعدون للتحديث به خدمة مقدمة نشطة (isRequireAppNotForeground) ، أو أنه يتفاعل مع المستخدم بطريقة ما (isRequireAppNotInteracting) ، أو موجود على الشاشة (isRequireAppNotTopVisible). يمكن لمتاجر تطبيقات الجهات الخارجية أيضًا التحقق مما إذا كان الجهاز في وضع التوقف (isRequireDeviceIdle) أو في مكالمة هاتفية (isRequireNotInCall).

بينما تسمح واجهة برمجة التطبيقات بتحديد الشروط التي يجب التحقق منها ، توصي الوثائق باستخدام القيود المحددة مسبقًا لأن “النظام يعرف أفضل طريقة للقيام بذلك.” هذا أمر منطقي نظرًا لأن Google لديها متسع من الوقت لتطوير أفضل السبل للتعامل مع التحديثات التلقائية في متجر التطبيقات الخاص بها. يعد استخدام الإعداد المسبق مفيدًا أيضًا ، كما هو مذكور في الوثائق ، حيث يمكن تحسين دقة وكفاءة التحديثات اللطيفة في الإصدارات المستقبلية إذا أضافت Google المزيد من القيود على واجهة برمجة التطبيقات.

يمكن التحقق بالفعل من كل شرط تتيحه PackageInstaller.InstallConstaints API التحقق من خلال واجهات برمجة التطبيقات الحالية ، ولكن جعل النظام يتعامل مع هذه الفحوصات أسهل بكثير وأقل تدخلاً. على سبيل المثال ، متاجر التطبيقات التابعة لجهات خارجية التي ترغب في التحقق مما إذا كان يتم استخدام التطبيق الذي يقومون بتحديثه بشكل نشط من قبل المستخدم ، سيتعين عليها حاليًا استخدام واجهة برمجة تطبيقات مثل UsageStats أو AccessibilityService ، وكلاهما أذونات حساسة. إذا استخدموا واجهة برمجة تطبيقات Android 14 الجديدة ، فلن يحتاجوا إلى هذه الأذونات للقيام بعملهم.

تحديث الملكية

إن تمكين “التحديثات اللطيفة” ليس هو التحسين الوحيد في Android 14 لمتاجر التطبيقات التابعة لجهات خارجية. هناك أيضًا آلية جديدة لـ “ملكية التحديث” تتيح لمتاجر التطبيقات التابعة لجهات خارجية أن تصبح المصدر الحصري للتحديثات التلقائية المستقبلية للتطبيق الذي قاموا بتثبيته لأول مرة. هذا يعني أنك إذا كنت تستخدم متجر تطبيقات تابعًا لجهة خارجية لأن التطبيقات المتاحة من خلاله يتم فحصها من قبل المجتمع ، على سبيل المثال ، فلن يتم دفع تحديث غير مدقق متاح من خلال متاجر التطبيقات الأخرى إلى جهازك تلقائيًا.

في الوقت الحالي ، عندما تقوم بتثبيت تطبيق من خلال متجر تطبيقات تابع لجهة خارجية ، فلا يوجد ما يمنع متجر تطبيقات الطرف الأول من تحديث هذا التطبيق. في حين أن واجهة برمجة التطبيقات للتحديثات غير المراقبة لنظام التشغيل Android 12 لا تسمح إلا بتخزين تطبيقات الجهات الخارجية بصمت لتحديث التطبيقات التي قاموا بتثبيتها لأول مرة ، فإن متاجر تطبيقات الطرف الأول لا تتأثر لأنها تمتلك الإذن المميز.

يمكن لمتاجر تطبيقات الجهات الخارجية على Android 14 استخدام الطريقة الجديدة ، مع ذلك ، لإخبار النظام بأنهم يدعون ملكية التحديث على التطبيق الذي هم على وشك تثبيته. بمجرد تمكين فرض ملكية التحديث لأحد التطبيقات ، تحتاج جميع متاجر التطبيقات الأخرى – حتى تلك التي لديها إذن INSTALL_PACKAGES – إلى إجراء من المستخدم لتحديث التطبيق. لا يمكن تمكين ملكية التحديث إلا أثناء التثبيت الأولي لأحد التطبيقات ، لذلك لن يتمكن متجر تطبيقات آخر من تولي التحديثات ما لم يتم إلغاء تثبيت التطبيق المعني وإعادة تثبيته من هذا المتجر. يمكن لمتاجر التطبيقات التحقق مما إذا تم تمكين ملكية التحديث لأحد التطبيقات ، وإذا كان الأمر كذلك ، ما هو التطبيق صاحب التحديث ، من خلال واجهة برمجة التطبيقات الجديدة.

يجب أن تمتلك متاجر التطبيقات التابعة لجهات خارجية الإذن الجديد لاستخدام واجهة برمجة تطبيقات فرض ملكية التحديث ، ولكن نظرًا لأن هذا الإذن له مستوى حماية “عادي” ، فسيتم منحه من قبل النظام في وقت التثبيت. ومع ذلك ، يبقى أن نرى ما إذا كان Google Play سيراجع استخدام هذا الإذن / واجهة برمجة التطبيقات.

تثبيت الموافقة المسبقة

آخر إصدار جديد من Android 14 API أردت تسليط الضوء عليه هو. تسمح واجهة برمجة التطبيقات هذه لمخازن تطبيقات الجهات الخارجية بطلب موافقة المستخدم قبل أن يلتزموا بجلسة تثبيت. أتصور أن هذا سيكون مفيدًا لمتاجر تطبيقات الجهات الخارجية التي تريد عن قصد مطالبة المستخدم قبل تحديث التطبيق في الخلفية.

على سبيل المثال ، تخيل أن متجر تطبيقات يركز على الأمان يريد السماح لمستخدمه بمعرفة متى يضيف تحديث التطبيق أذونات جديدة ؛ بدلاً من تحديث هذا التطبيق تلقائيًا ، وبالتالي منح هذا الإذن تلقائيًا إذا كان مستوى الحماية الخاص به “عاديًا” ، يمكن لمتجر التطبيقات مطالبة المستخدم قبل إجراء التحديث. حاليًا ، إذا لم يكن المستخدم موجودًا أثناء التحديث التلقائي ، فسيتعين على متجر التطبيقات التابع لجهة خارجية تتبع جلسة التثبيت ومطالبتهم لاحقًا. يبسط API هذه العملية.

سيقدم Android 14 الكثير من الميزات وواجهات برمجة التطبيقات الجديدة عندما يتم إصدارها للجمهور في وقت لاحق من هذا العام. على الرغم من أن واجهات برمجة التطبيقات الجديدة هذه ليست مخفية مثل بعض التغييرات الأخرى التي رصدناها ، فلا يوجد ضمان بأن تكون واجهات برمجة التطبيقات هذه متاحة للمطورين في الإصدار الثابت. هذا لأن تجميد واجهة برمجة التطبيقات لن يحدث حتى يصل Android 14 إلى “استقرار النظام الأساسي” مع الإصدار التجريبي 3 في يونيو 2023 ، ونحن فقط على DP1 في الوقت الحالي. سنراقب إصدارات Android 14 DP و Beta المستقبلية لمعرفة ما إذا كانت واجهات برمجة التطبيقات هذه ثابتة أو إذا تمت إضافة أي واجهات برمجة تطبيقات جديدة ذات صلة بمتاجر تطبيقات الجهات الخارجية.