يمنحك الإصدار 6.0 من نظام التشغيل Android فرصة للتأكّد من توافق تطبيقاتك مع الإصدار التالي من المنصة. يتضمن هذا الإصدار عددًا من تغييرات واجهات برمجة التطبيقات والسلوكيات التي يمكن أن تؤثّر في تطبيقك، كما هو موضّح في نظرة عامة على واجهة برمجة التطبيقات وتغييرات السلوك. عند اختبار تطبيقك باستخدام هذا الإصدار، هناك بعض التغييرات المحدّدة في النظام التي يجب التركيز عليها لضمان حصول المستخدمين على تجربة جيدة.
يوضّح هذا الدليل ميزات Android 6.0 التي يجب اختبارها وكيفية اختبارها باستخدام تطبيقك. يجب إعطاء الأولوية لاختبار هذه الميزات المحدّدة، نظرًا لتأثيرها المحتمل الكبير في سلوك تطبيقك:
- الأذونات
- وضع "الاستراحة" و"وضع الاستعداد للتطبيقات"
- ميزة "الاحتفاظ بنسخة احتياطية تلقائيًا" ومعرّفات الأجهزة
أذونات الاختبار
يغيّر نموذج الأذونات الجديد طريقة تخصيص الأذونات لتطبيقك من قِبل المستخدم. بدلاً من منح جميع الأذونات أثناء عملية التثبيت، يجب أن يطلب تطبيقك من المستخدم أذونات فردية أثناء التشغيل. يمنح هذا السلوك المستخدمين إمكانية التحكّم بدقة أكبر في أنشطة كل تطبيق، بالإضافة إلى سياق أفضل لفهم سبب طلب التطبيق إذنًا معيّنًا. يمكن للمستخدمين منح الأذونات الممنوحة لأحد التطبيقات أو إبطالها بشكل فردي في أي وقت. من المرجّح أن يكون لميزة الإصدار هذه تأثير في سلوك تطبيقك، وقد تمنع بعض ميزات التطبيق من العمل، أو قد تعمل بحالة سيئة.
يؤثر هذا التغيير في جميع التطبيقات التي تعمل على النظام الأساسي الجديد، حتى تلك التي لا تستهدف الإصدار الجديد من النظام الأساسي. توفّر المنصة سلوك توافق محدودًا للتطبيقات القديمة، ولكن عليك البدء في التخطيط لنقل بيانات تطبيقك إلى نموذج الأذونات الجديد الآن، بهدف نشر إصدار معدَّل من تطبيقك عند إطلاق المنصة رسميًا.
نصائح حول الاختبار
اتّبِع النصائح التالية بشأن الاختبار لمساعدتك في التخطيط لاختبار تطبيقك وتنفيذه استنادًا إلى سلوك الأذونات الجديد.
- تحديد الأذونات الحالية لتطبيقك ومسارات الرموز البرمجية ذات الصلة
- اختبِر مسارات المستخدمين على مستوى الخدمات والبيانات المحمية بالتصاريح.
- اختبِر مجموعات مختلفة من الأذونات الممنوحة/المسحوبة.
- استخدِم أداة
adb
لإدارة الأذونات من سطر الأوامر:- إدراج الأذونات والحالة حسب المجموعة:
adb shell pm list permissions -d -g
- يمكنك منح إذن واحد أو أكثر أو إبطاله باستخدام البنية التالية:
adb shell pm [grant|revoke] <permission.name> ...
- إدراج الأذونات والحالة حسب المجموعة:
- حلِّل تطبيقك بحثًا عن الخدمات التي تستخدم الأذونات.
اختبار الاستراتيجية
ويؤثر تغيير الأذونات في بنية تطبيقك وتصميمه، بالإضافة إلى تجربة المستخدم ومساراته التي تقدّمها للمستخدمين. عليك تقييم استخدام أذونات تطبيقك الحالية والبدء في التخطيط للعمليات الجديدة التي تريد تقديمها. يقدّم الإصدار الرسمي من النظام الأساسي سلوك التوافق، ولكن عليك التخطيط لتحديث تطبيقك وعدم الاعتماد على هذه السلوكيات.
حدِّد الأذونات التي يحتاج إليها تطبيقك ويستخدمها، ثم ابحث عن مسارات الرموز المختلفة التي تستخدم الخدمات المحمية بالأذونات. يمكنك إجراء ذلك من خلال اختبار الأداء على المنصة الجديدة وتحليل الرموز البرمجية. أثناء إجراء الاختبارات، يجب التركيز على تفعيل
أذونات التشغيل من خلال تغيير targetSdkVersion
للتطبيق إلى المستوى 23 من واجهة برمجة التطبيقات.
يمكنك إجراء اختبارات باستخدام مجموعات مختلفة من الأذونات التي تم إبطالها وإضافتها، وذلك لتسليط الضوء على مسارات المستخدمين التي تعتمد على الأذونات. إذا لم تكن التبعية واضحة أو منطقية، يجب إعادة هيكلة مسار التنفيذ هذا أو تقسيمه إلى أقسام لإزالة التبعية أو توضيح سبب الحاجة إلى الإذن.
لمزيد من المعلومات حول سلوك أذونات التشغيل والاختبار وأفضل الممارسات، يُرجى الاطّلاع على صفحة المطوِّر العمل باستخدام أذونات النظام.
اختبار وضع "القيلولة" و"وضع الاستعداد للتطبيقات"
تحدّ ميزات توفير الطاقة في وضعَي "الاستراحة" و"الاستعداد" للتطبيقات من مقدار المعالجة التي يمكن لتطبيقك إجراؤها في الخلفية عندما يكون الجهاز في حالة عدم النشاط أو عندما لا يكون تطبيقك في المقدّمة. وتشمل القيود التي قد يفرضها النظام على التطبيقات إمكانية الوصول المحدود إلى الشبكة أو عدم فرضها على الإطلاق، والمهام المعلَّقة في الخلفية، والإشعارات المعلّقة، وطلبات التنشيط التي يتم تجاهلها، والمنبّهات. لضمان أنّ تطبيقك يعمل بشكل صحيح مع تحسينات توفير الطاقة هذه، يجب اختبار تطبيقك من خلال محاكاة حالات انخفاض الطاقة هذه.
اختبار تطبيقك باستخدام وضع "الاستراحة"
لاختبار ميزة "الوضع الهادئ" مع تطبيقك:
- ضبط جهاز أو جهاز افتراضي يحمل صورة نظام Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات)
- وصِّل الجهاز بجهاز التطوير وثبِّت تطبيقك.
- شغِّل تطبيقك واتركه نشطًا.
- يمكنك محاكاة دخول الجهاز إلى وضع "الاستراحة الذكية" من خلال تنفيذ الأوامر التالية:
$ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step $ adb shell dumpsys deviceidle -h
- راقِب سلوك تطبيقك عند إعادة تفعيل الجهاز. تأكَّد من أنّه يُستعاد بسلاسة عندما يخرج الجهاز من وضع "الاستراحة الذكية".
اختبار التطبيقات باستخدام ميزة "وضع الاستعداد للتطبيقات"
لاختبار وضع "التطبيقات في وضع الاستعداد" مع تطبيقك:
- ضبط إعدادات جهاز أجهزة أو جهاز افتراضي باستخدام صورة نظام Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات)
- وصِّل الجهاز بجهاز التطوير وثبِّت تطبيقك.
- شغِّل تطبيقك واتركه نشطًا.
- يمكنك محاكاة دخول التطبيق إلى وضع الاستعداد من خلال تنفيذ الأوامر التالية:
$ adb shell am broadcast -a android.os.action.DISCHARGING $ adb shell am set-idle <packageName> true
- يمكنك محاكاة تنشيط تطبيقك باستخدام الأمر التالي:
$ adb shell am set-idle <packageName> false
- راقِب سلوك تطبيقك عند تنشيط عملياته. تأكَّد من استعادة الجهاز للعمل بشكلٍ طبيعي من وضع الاستعداد. وعلى وجه الخصوص، عليك التحقّق مما إذا كانت إشعارات التطبيق ومهام المعالجة في الخلفية لا تزال تعمل على النحو المتوقّع.
التحميل التلقائي للتطبيقات والمعرّفات الخاصة بالجهاز
إذا كان تطبيقك يُخزِّن أي معرّفات خاصة بالجهاز، مثل الرقم التعريفي لتسجيل رسائل Google Cloud، في مساحة التخزين الداخلية، احرص على اتّباع أفضل الممارسات لاستبعاد موقع التخزين من ميزة "الاحتفاظ بنسخة احتياطية تلقائيًا"، كما هو موضّح في مقالة الاحتفاظ بنسخة احتياطية من بيانات المستخدِم باستخدام ميزة "الاحتفاظ بنسخة احتياطية تلقائيًا".