دليل اختبار الإصدار 6.0 من نظام التشغيل Android

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

يشرح هذا الدليل مواصفات ميزات Android 6.0 في تطبيقك وكيفية اختبارها. ويجب منح الأولوية لاختبار هذه الميزات المحدّدة نظرًا إلى تأثيرها المحتمل الكبير في سلوك التطبيق:

أذونات الاختبار

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

يؤثّر هذا التغيير في جميع التطبيقات التي تعمل على النظام الأساسي الجديد، حتى في التطبيقات التي لا تستهدف الإصدار الجديد من النظام الأساسي. يوفّر النظام الأساسي سلوك توافق محدودًا مع التطبيقات القديمة، ولكن عليك البدء الآن في التخطيط لنقل تطبيقك إلى نموذج الأذونات الجديد، وذلك بهدف نشر إصدار محدَّث من تطبيقك عند الإطلاق الرسمي للنظام الأساسي.

نصائح بشأن الاختبار

يمكنك الاستعانة بنصائح الاختبار التالية لمساعدتك في التخطيط لاختبار تطبيقك وتنفيذه باستخدام سلوك الأذونات الجديد.

  • عليك تحديد الأذونات الحالية لتطبيقك ومسارات الرموز ذات الصلة.
  • اختبِر تدفقات المستخدم عبر الخدمات والبيانات المحمية بإذن.
  • نفِّذ اختبارًا باستخدام مجموعات مختلفة من الأذونات الممنوحة/الملغاة.
  • استخدِم أداة adb لإدارة الأذونات من سطر الأوامر:
    • إدراج الأذونات والحالة حسب المجموعة:
      adb shell pm list permissions -d -g
    • يمكنك منح إذن واحد أو أكثر أو إبطاله باستخدام البنية التالية:
      adb shell pm [grant|revoke] <permission.name> ...
  • حلِّل تطبيقك لمعرفة الخدمات التي تستخدم الأذونات.

استراتيجية الاختبار

يؤثر تغيير الأذونات في بنية تطبيقك وتصميمه، وفي تجربة المستخدم ومساراته التي تقدّمها للمستخدمين. عليك تقييم استخدام الأذونات الحالية لتطبيقك وبدء التخطيط للتدفقات الجديدة التي تريد توفيرها. يوفّر الإصدار الرسمي للمنصة سلوكًا متوافقًا، ولكن يجب التخطيط لتحديث تطبيقك وعدم الاعتماد على هذه السلوكيات.

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

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

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

اختبار القيلولة وتطبيقات وضع الاستعداد

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

اختبار تطبيقك باستخدام ميزة "القيلولة"

لاختبار القيلولة باستخدام تطبيقك:

  1. يمكنك ضبط جهاز أو جهاز افتراضي باستخدام صورة نظام Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات).
  2. اربط الجهاز بجهاز التطوير وثبِّت تطبيقك.
  3. شغِّل تطبيقك واتركه نشطًا.
  4. يمكنك محاكاة الجهاز في وضع "القيلولة" من خلال تنفيذ الأوامر التالية:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
    
  5. مراقبة سلوك تطبيقك عند إعادة تفعيل الجهاز. عليك التأكُّد من أنّه يتم استرداد البيانات بشكل سلس عند خروج الجهاز من ميزة "القيلولة".

اختبار التطبيقات باستخدام وضع الاستعداد

لاختبار وضع الاستعداد للتطبيقات باستخدام تطبيقك:

  1. يمكنك ضبط جهاز أو جهاز افتراضي باستخدام صورة نظام Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات).
  2. اربط الجهاز بجهاز التطوير وثبِّت تطبيقك.
  3. شغِّل تطبيقك واتركه نشطًا.
  4. لمحاكاة التطبيق في وضع الاستعداد، عليك تنفيذ الأوامر التالية:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
    
  5. يمكنك محاكاة تنشيط تطبيقك باستخدام الأمر التالي:
    $ adb shell am set-idle <packageName> false
  6. راقِب سلوك تطبيقك عند تنشيطه. عليك التأكُّد من عودة الكاميرا إلى وضع الاستعداد تمامًا. وعلى وجه الخصوص، عليك التحقّق مما إذا كانت الإشعارات ووظائف الخلفية في تطبيقك تستمر في العمل على النحو المتوقّع.

التحميل التلقائي للتطبيقات والمعرّفات الخاصة بالجهاز

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