يقدّم Android 7.0 Nougat مجموعة متنوعة من الميزات والإمكانات الجديدة للمستخدمين والمطوّرين. يسلّط هذا المستند الضوء على الميزات الجديدة للمطوّرين.
احرص على مراجعة تغييرات سلوك Android 7.0 للتعرّف على الجوانب التي قد تؤثر فيها تغييرات النظام الأساسي في تطبيقاتك.
لمعرفة المزيد من المعلومات عن ميزات المستهلك في Android 7.0، انتقِل إلى www.android.com.
دعم النوافذ المتعددة
نقدِّم في نظام التشغيل Android 7.0 ميزة جديدة لتعدد المهام مطلوبة كثيرًا في النظام الأساسي وهي دعم النوافذ المتعددة.
يمكن للمستخدمين الآن فتح تطبيقين على الشاشة في وقت واحد.
- على الهواتف والأجهزة اللوحية التي تعمل بنظام التشغيل Android 7.0، يمكن للمستخدمين تشغيل تطبيقَين جنبًا إلى جنب أو أحدهما فوق الآخر في وضع تقسيم الشاشة. يمكن للمستخدمين تغيير حجم التطبيقات عن طريق سحب الفاصل بينها.
- على أجهزة Android TV، يمكن للتطبيقات وضع "نافذة ضمن النافذة"، ما يسمح لها بمواصلة عرض المحتوى أثناء تصفّح المستخدم للتطبيقات الأخرى أو التفاعل معها.
![تطبيقات الأجهزة الجوّالة التي تعمل في وضع تقسيم الشاشة](https://developer.android.com/static/images/android-7.0/mw-portrait.png?authuser=5&hl=ar)
الشكل 1. التطبيقات التي تعمل في وضع تقسيم الشاشة
يمنحك دعم النوافذ المتعددة طرقًا جديدة لجذب المستخدمين، خاصة على الأجهزة اللوحية والأجهزة الأخرى ذات الشاشات الكبيرة. يمكنك أيضًا تفعيل ميزة السحب والإفلات في التطبيق للسماح للمستخدمين بسحب المحتوى بسهولة إلى تطبيقك أو منه، وهذه طريقة رائعة لتحسين تجربة المستخدم.
من السهل إضافة دعم نوافذ متعددة إلى تطبيقك وضبط كيفية تعامله مع العرض متعدد النوافذ. على سبيل المثال، يمكنك تحديد الحد الأدنى للأبعاد المسموح بها لنشاطك، مما يمنع المستخدمين من تغيير حجم النشاط الأقل من هذا الحجم. يمكنك أيضًا إيقاف ميزة "عرض النوافذ المتعددة" لتطبيقك، ما يضمن أنّ النظام لن يعرض تطبيقك إلا في وضع ملء الشاشة.
لمزيد من المعلومات، راجِع مستندات مطوّري برامج دعم النوافذ المتعددة.
تحسينات الإشعارات
تمت إعادة تصميم الإشعارات في نظام التشغيل Android 7.0 لجعلها أسهل وأسرع في الاستخدام. تشمل بعض التغييرات ما يلي:
- تعديلات على النماذج: نعمل على تعديل نماذج الإشعارات للتركيز على الصورة الرئيسية والصورة الرئيسية بشكل جديد. وسيتمكن المطوّرون من الاستفادة من النماذج الجديدة من خلال إجراء تعديلات بسيطة على الرموز البرمجية.
-
تخصيص نمط المراسلة: يمكنك تخصيص المزيد من تصنيفات واجهة المستخدم المرتبطة بالإشعارات باستخدام الفئة
MessagingStyle
. يمكنك ضبط الرسالة وعنوان المحادثة وطريقة عرض المحتوى. - الإشعارات المجمّعة: يمكن للنظام تجميع الرسائل معًا، حسب موضوع الرسالة، وعرض المجموعة. ويمكن للمستخدم اتخاذ إجراءات في مكانها المحدَّد، مثل "الرفض" أو "وضع في الأرشيف". إذا كنت قد نفّذت الإشعارات لـ Android Wear، فستكون على دراية بهذا النموذج.
- الرد المباشر: بالنسبة إلى تطبيقات التواصل في الوقت الفعلي، يتيح نظام Android الردود المضمّنة حتى يتمكّن المستخدمون من الردّ بسرعة على الرسائل القصيرة أو الرسائل النصية مباشرةً ضمن واجهة الإشعارات.
- طرق العرض المخصّصة: تتيح لك واجهتا برمجة تطبيقات جديدتان إمكانية الاستفادة من تصميمات النظام، مثل عناوين الإشعارات وإجراءاتها، عند استخدام طرق عرض مخصّصة في الإشعارات.
![جهاز جوّال يعرض إشعارات رسائل مجمّعة](https://developer.android.com/static/images/android-7.0/notifications-1.png?authuser=5&hl=ar)
![جهاز جوّال يعرض إشعارًا برسالة واحدة](https://developer.android.com/static/images/android-7.0/notifications-3.png?authuser=5&hl=ar)
![جهاز جوّال يعرض ردًّا على رسالة مضمَّنة في واجهة الإشعارات](https://developer.android.com/static/images/android-7.0/notifications-2.png?authuser=5&hl=ar)
الشكل 2. الإشعارات المجمّعة والرد المباشر.
للاطّلاع على كيفية تطبيق الميزات الجديدة، يمكنك مراجعة دليل الإشعارات.
تجميع JIT/AOT الإرشادي الملف الشخصي
في نظام التشغيل Android 7.0، تمت إضافة برنامج التحويل البرمجي لـ Just in Time (JIT) مع تحليل الرموز البرمجية إلى ART، مما يتيح له تحسين أداء تطبيقات Android باستمرار أثناء تشغيلها. يُكمّل المحول البرمجي لـ JIT برنامج التحويل البرمجي الحالي لـ Ahead of Time (AOT) من ART، ويساعد في تحسين أداء وقت التشغيل وتوفير مساحة التخزين وتسريع تحديثات التطبيقات وتحديثات النظام.
يسمح التجميع الموجَّه إلى الملف الشخصي لـ ART بإدارة تجميع AOT/JIT لكل تطبيق وفقًا للاستخدام الفعلي، وكذلك الشروط على الجهاز. على سبيل المثال، يحتفظ ART بملف شخصي للأساليب السريعة في كل تطبيق ويمكنه تجميع هذه الطرق وتخزينها مؤقتًا للحصول على أفضل أداء. يترك أجزاءً أخرى من التطبيق غير مجمعة حتى يتم استخدامها بالفعل.
إلى جانب تحسين الأداء في الأجزاء الرئيسية من التطبيق، تساعد ميزة التجميع المُوجَّه للملفات الشخصية في تقليل المساحة الإجمالية لذاكرة الوصول العشوائي للتطبيق، بما في ذلك البرامج الثنائية المرتبطة بها. وهذه الميزة مهمة بشكل خاص على الأجهزة ذات الذاكرة المنخفضة.
تدير تقنية ART ميزة التجميع الموجّه إلى الملف الشخصي بطريقة تقلّل من التأثير في بطارية الجهاز. لا يتم التجميع المسبق فقط عندما يكون الجهاز في وضع عدم النشاط وشحنه، ما يوفر الوقت والبطارية من خلال القيام بهذا العمل مسبقًا.
المسار السريع لتثبيت التطبيق
من أهمّ الفوائد الملموسة لبرنامج تجميع JIT من ART هي سرعة عمليات تثبيت التطبيقات وتحديثات النظام. حتى التطبيقات الكبيرة التي تتطلب عدة دقائق لتحسين وتثبيت Android 6.0 يمكن تثبيتها الآن خلال ثوانٍ فقط. تتميز تحديثات النظام أيضًا بسرعة أكبر، نظرًا لعدم الحاجة إلى إجراء خطوات تحسين إضافية.
قيلولة أثناء التنقل...
قدّم Android 6.0 ميزة Doze، وهي وضع نظام يوفّر طاقة البطارية عن طريق تأجيل أنشطة وحدة المعالجة المركزية (CPU) والشبكة الخاصة بالتطبيقات عندما يكون الجهاز في وضع عدم نشاط، مثلاً عند الجلوس على طاولة أو في درج.
في Android 7.0، تستفيد ميزة القيلولة من توفير شحن البطارية أثناء التنقّل وهذا يعني أنه يمكن للمستخدمين توفير طاقة البطارية حتى عند حمل أجهزتهم في جيوبهم.
![صورة توضيحية لكيفية تطبيق ميزة "قيلولة" على المستوى الأول من قيود نشاط النظام لتحسين عمر البطارية](https://developer.android.com/static/images/android-7.0/doze-diagram-1.png?authuser=5&hl=ar)
الشكل 3. تفرض ميزة "القيلولة" الآن قيودًا على تحسين عمر البطارية حتى عندما لا يكون الجهاز ثابتًا.
بعد فترة قصيرة من إطفاء الشاشة عندما يكون الجهاز مشغَّلاً، تعمل ميزة "القيلولة" على تقييد الوصول إلى الشبكة وتأجيل المهام والمزامنة. خلال فترات الصيانة الوجيزة، يتم السماح للتطبيقات بالوصول إلى الشبكة ويتم تنفيذ أي من المهام أو عمليات المزامنة المؤجَّلة. يؤدي تشغيل الشاشة أو توصيل الجهاز إلى إخراج الجهاز من Doze.
عندما يكون الجهاز ثابتًا مرة أخرى مع إطفاء الشاشة وتفعيل البطارية لفترة من الوقت، يطبّق تطبيق Doze القيود الكاملة على وحدة المعالجة المركزية (CPU) والشبكة على أجهزة PowerManager.WakeLock
وAlarmManager
المنبّهات وعمليات البحث عن نظام تحديد المواقع العالمي (GPS)/شبكة Wi-Fi.
إن أفضل الممارسات لتكييف التطبيق مع القيلولة هي نفسها سواء كان الجهاز يتحرك أم لا، لذا إذا حدّثت التطبيق بالفعل للتعامل مع القيلولة، فأنت جاهز تمامًا. إذا لم يكن كذلك، فابدأ بتكييف تطبيقك مع Doze الآن.
مشروع سفليت: تحسينات الخلفية
يُعد مشروع Svelte جهدًا مستمرًا للحد من استخدام ذاكرة الوصول العشوائي من قبل النظام والتطبيقات عبر مجموعة من أجهزة Android في المنظومة المتكاملة. في نظام Android 7.0، يركز Project Svelte على تحسين طريقة تشغيل التطبيقات في الخلفية.
إنّ عمليات المعالجة في الخلفية هي جزء أساسي في معظم التطبيقات. عند التعامل بشكل صحيح، يمكن أن يجعل ذلك تجربة المستخدم رائعة - فورية وسريعة ومع مراعاة السياق. عند عدم التعامل بشكل صحيح، يمكن أن تستهلك المعالجة في الخلفية ذاكرة الوصول العشوائي (RAM) (والبطارية) بدون مبرر، ما تؤثر في أداء النظام في التطبيقات الأخرى.
منذ نظام Android 5.0، أصبح JobScheduler
الطريقة المفضلة لأداء العمل في الخلفية بطريقة مفيدة للمستخدمين. يمكن للتطبيقات جدولة المهام مع السماح للنظام بالتحسين استنادًا إلى
ظروف الذاكرة والطاقة والاتصال. توفر أداة JobScheduler التحكم والبساطة،
ونريد أن تستخدمها جميع التطبيقات.
يتوفّر خيار آخر مناسب وهو
GCMNetworkManager
، وهو جزء من "خدمات Google Play"
الذي يوفّر جدولة مهام مماثلة مع التوافق مع إصدارات
Android القديمة.
وسنواصل توسيع نطاق عمل الإصدارين JobScheduler
وGCMNetworkManager
من أجل تلبية المزيد من حالات الاستخدام، مثلًا في الإصدار Android 7.0، يمكنك الآن جدولة العمل في الخلفية استنادًا إلى التغييرات التي تطرأ على "موفّري المحتوى". وفي الوقت نفسه، بدأنا إيقاف بعض الأنماط القديمة التي يمكن أن تحدّ من أداء النظام،
خاصةً على الأجهزة ذات الذاكرة المنخفضة.
في نظام التشغيل Android 7.0، سنزيل ثلاثة عمليات بث ضمنية شائعة الاستخدام، وهي CONNECTIVITY_ACTION
وACTION_NEW_PICTURE
وACTION_NEW_VIDEO
، لأنّ هذه العمليات يمكن أن تؤدي إلى تنشيط العمليات
في الخلفية لتطبيقات متعددة في الوقت نفسه، ما يتسبب في إرهاق الذاكرة والبطارية. وإذا
كان تطبيقك يتلقّى هذه الواجهات، يمكنك استخدام الإصدار Android 7.0
بدلاً من ذلك لنقل البيانات إلى JobScheduler
وواجهات برمجة التطبيقات ذات الصلة.
يمكنك إلقاء نظرة على مستندات عمليات التحسين الأساسية لمزيد من التفاصيل.
SurfaceView
يوفّر نظام التشغيل Android 7.0 الحركة المتزامنة ضمن الفئة SurfaceView
، ما يوفّر أداءً أفضل للبطارية
مقارنةً بـ TextureView
في بعض الحالات. عند عرض فيديو أو محتوى ثلاثي الأبعاد، تستهلك التطبيقات التي تتضمّن موضع التمرير والفيديوهات المتحركة طاقة أقل من خلال
SurfaceView
مقارنةً بها في TextureView
.
SurfaceView
تركيبًا أكثر فعالية من حيث استهلاك البطارية على الشاشة، لأنه يتم تركيبها في أجهزة مخصّصة، بشكل منفصل عن محتوى نافذة التطبيق. ونتيجةً لذلك، يتم إنشاء عدد أقل من
النُسخ المتوسطة مقارنةً بالنسخ TextureView
.
يتم الآن تعديل موضع المحتوى في عنصر SurfaceView
بالتزامن
مع تضمين محتوى التطبيق. نتيجةً لهذا التغيير، إنّ الترجمات أو المقاييس البسيطة للفيديو الذي يتم تشغيله في SurfaceView
لم تعُد تنتج أشرطة سوداء إلى جانب العرض أثناء تحركه.
بدءًا من نظام التشغيل Android 7.0، ننصحك بشدة بتوفير الطاقة عن طريق استخدام
SurfaceView
بدلاً من TextureView
.
توفير البيانات
![ميزة "توفير البيانات" في الإعدادات](https://developer.android.com/static/images/android-7.0/datasaver.png?authuser=5&hl=ar)
الشكل 4. يمكنك تفعيل ميزة "توفير البيانات" في الإعدادات.
على مدار عمر الجهاز الجوّال، تتجاوز تكلفة خطة بيانات شبكة الجوّال عادةً تكلفة الجهاز نفسه. بالنسبة للعديد من المستخدمين، تعد البيانات الخلوية موردًا مكلفًا يريدون الحفاظ عليه.
يقدّم Android 7.0 وضع "توفير البيانات"، وهو خدمة نظام جديدة تساعد في تقليل استخدام التطبيقات لبيانات شبكة الجوّال، سواء كان ذلك أثناء التجوال أو عند اقتراب نهاية دورة الفوترة أو عند استخدام حزمة بيانات صغيرة مُسبَقة الدفع. تتيح إضافة توفير البيانات للمستخدمين التحكم في كيفية استخدام التطبيقات لبيانات شبكة الجوّال وتسمح للمطوّرين بتوفير خدمة أكثر كفاءة عندما تكون ميزة "توفير البيانات" مفعَّلة.
عندما يفعّل المستخدم ميزة "توفير البيانات" في الإعدادات ويكون الجهاز على شبكة تفرض تكلفة استخدام، يحظر النظام استخدام بيانات الخلفية ويرسل إشارات إلى التطبيقات لاستخدام بيانات أقل في المقدّمة كلما أمكن ذلك، مثلاً من خلال الحدّ من معدّل نقل البيانات للبث وتقليل جودة الصورة وتأجيل التخزين المسبق المتفائل وما إلى ذلك. يمكن للمستخدمين السماح لتطبيقات معيّنة بالسماح باستخدام البيانات الخاضعة للقياس في الخلفية حتى عند تفعيل ميزة "توفير البيانات".
في الإصدار Android 7.0، يتم توسيع نطاق ConnectivityManager
من أجل توفير طريقة تتيح للتطبيقات استرداد الإعدادات المفضّلة لميزة "توفير البيانات" لدى المستخدم ومراقبة التغييرات في الإعدادات المفضّلة. يجب أن تتحقق جميع التطبيقات مما إذا كان المستخدم قد فعّل ميزة
"توفير البيانات" وأن تبذل جهدًا للحدّ من استخدام بيانات المقدّمة والخلفية.
واجهة برمجة تطبيقات Vulkan
يدمج Android 7.0 في النظام الأساسي VulkanTM، وهي واجهة برمجة تطبيقات جديدة للعرض الثلاثي الأبعاد. وعلى غرار OpenGLTM ES، فإنّ Vulkan هو معيار مفتوح للرسومات الثلاثية الأبعاد والعرض الذي تديره مجموعة Huronos Group.
تم تصميم Vulkan من الألف إلى الياء لتقليل الأعباء المتزايدة على وحدة المعالجة المركزية في برنامج التشغيل، والسماح لتطبيقك بالتحكم في تشغيل وحدة معالجة الرسومات بشكل مباشر. يتيح Vulkan أيضًا موازاة أفضل من خلال السماح لسلاسل متعدّدة بتنفيذ مهام، مثل إنشاء المخزن المؤقت للأوامر في وقت واحد.
أدوات ومكتبات التطوير Vulkan مضمَّنة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android 7.0. وتشمل:
- الرؤوس
- طبقات التحقّق (مكتبات تصحيح الأخطاء)
- برنامج التحويل البرمجي لأداة SPIR-V
- مكتبة تجميع أدوات تظليل وقت تشغيل SPIR-V
لا يتوفّر Vulkan إلا للتطبيقات على الأجهزة المزوّدة بمكونات Vulkan، مثل Nexus 5X وNexus 6P وNexus Player. ونعمل عن كثب مع شركائنا لتوفير Vulkan في المزيد من الأجهزة في أقرب وقت ممكن.
لمزيد من المعلومات، يُرجى الاطّلاع على وثائق واجهة برمجة التطبيقات.
واجهة برمجة تطبيقات Tile في الإعدادات السريعة
![مربّعات الإعدادات السريعة في مركز الإشعارات](https://developer.android.com/static/images/android-7.0/quicksettings.png?authuser=5&hl=ar)
الشكل 5. مربّعات الإعدادات السريعة في مركز الإشعارات
"الإعدادات السريعة" هي طريقة شائعة وبسيطة لكشف الإعدادات والإجراءات الرئيسية، مباشرةً من مركز الإشعارات. في Android 7.0، تم توسيع نطاق الإعدادات السريعة لجعلها أكثر فائدة وملاءمة.
أضفنا المزيد من المساحة لمربّعات الإعدادات السريعة الإضافية، والتي يمكن للمستخدمين الوصول إليها عبر منطقة عرض مقسّمة على صفحات عن طريق التمرير سريعًا لليمين أو اليسار. منحنا أيضًا المستخدمين إمكانية التحكم في نوع أقسام "الإعدادات السريعة" التي تظهر ومكان عرضها، حيث يمكن للمستخدمين إضافة المربّعات أو نقلها فقط عن طريق سحبها وإفلاتها.
بالنسبة إلى المطوّرين، يضيف نظام التشغيل Android 7.0 أيضًا واجهة برمجة تطبيقات جديدة تتيح لك تحديد مربّعات الإعدادات السريعة الخاصة بك لمنح المستخدمين إمكانية الوصول بسهولة إلى عناصر التحكّم والإجراءات الأساسية في تطبيقك.
يتم حجز مربّعات الإعدادات السريعة لعناصر التحكّم أو الإجراءات المطلوبة بشكل عاجل أو التي يتم استخدامها بشكل متكرّر، ولا يجب استخدامها كاختصارات لتشغيل التطبيق.
بعد تحديد المربّعات، يمكنك عرضها للمستخدمين الذين يمكنهم إضافتها إلى "الإعدادات السريعة" فقط عن طريق السحب والإفلات.
للحصول على معلومات عن إنشاء مربّع تطبيق، راجِع المستندات المرجعية
الخاصة بـ Tile
.
حظر الأرقام
يدعم Android 7.0 الآن حظر الأرقام في النظام الأساسي ويوفر واجهة برمجة تطبيقات لإطار العمل للسماح لمقدمي الخدمة بالاحتفاظ بقائمة أرقام محظورة. يمكن لتطبيق الرسائل القصيرة SMS التلقائي وتطبيق الهاتف التلقائي وتطبيقات مشغّل شبكة الجوّال القراءة من قائمة الأرقام المحظورة والكتابة فيها. لا يمكن للتطبيقات الأخرى الوصول إلى القائمة.
ومن خلال جعل ميزة حظر الأرقام ميزة عادية في النظام الأساسي، يوفّر Android طريقة متسقة للتطبيقات لإتاحة حظر الأرقام على مجموعة واسعة من الأجهزة. من بين المزايا الأخرى التي يمكن للتطبيقات الاستفادة منها:
- يتم أيضًا حظر الأرقام المحظورة في المكالمات في الرسائل النصية
- قد تستمر الأرقام المحظورة في جميع عمليات إعادة الضبط والأجهزة من خلال ميزة "الاحتفاظ بنسخة احتياطية والاستعادة".
- يمكن لعدة تطبيقات استخدام قائمة الأرقام المحظورة نفسها.
بالإضافة إلى ذلك، تعني عملية دمج تطبيقات مشغّل شبكة الجوّال من خلال Android أنّه بإمكان مشغِّلي شبكات الجوّال قراءة قائمة الأرقام المحظورة على الجهاز وتنفيذ إجراءات حظر من جانب الخدمة للمستخدم من أجل منع المكالمات والرسائل غير المرغوب فيها من الوصول إلى المستخدم من خلال أي وسيلة، مثل نقطة نهاية بروتوكول الصوت على الإنترنت أو هواتف إعادة التوجيه.
لمزيد من المعلومات، اطّلِع على المستندات المرجعية الخاصة بـ
BlockedNumberContract
.
فحص المكالمات
يسمح Android 7.0 لتطبيق الهاتف التلقائي بفحص المكالمات الواردة. ويُجري تطبيق الهاتف ذلك من خلال تنفيذ علامة CallScreeningService
الجديدة التي تتيح لتطبيق الهاتف تنفيذ عدد من الإجراءات استنادًا إلى Call.Details
لمكالمة واردة، مثل:
- رفض المكالمة الواردة
- عدم السماح للمكالمة بسجلّ المكالمات
- عدم عرض إشعار للمستخدم بالمكالمة
لمزيد من المعلومات، اطّلِع على المستندات المرجعية الخاصة بـ
CallScreeningService
.
دعم لغات متعددة، المزيد من اللغات
يتيح Android 7.0 الآن للمستخدمين تحديد لغات متعددة في الإعدادات، لدعم حالات الاستخدام الثنائية اللغة بشكل أفضل. ويمكن للتطبيقات استخدام واجهة برمجة تطبيقات جديدة لتحديد اللغات التي يختارها المستخدم، ثم توفير تجارب مستخدم أكثر تعقيدًا للمستخدمين متعددي اللغات - مثل عرض نتائج البحث بلغات متعددة وعدم عرض ترجمة صفحات الويب بلغة يعرفونها المستخدم.
إلى جانب دعم اللغات المتعددة، يوسّع Android 7.0 أيضًا نطاق اللغات المتاحة للمستخدمين. وتوفّر هذه الخدمة أكثر من 25 صيغة مختلفة لكل من هذه اللغات شائعة الاستخدام، مثل الإنجليزية والإسبانية والفرنسية والعربية. كما أنها تضيف دعمًا جزئيًّا لأكثر من 100 لغة جديدة.
يمكن للتطبيقات الحصول على قائمة اللغات التي ضبطها المستخدم عن طريق الاتصال على
LocaleList.GetDefault()
. لإتاحة عدد أكبر من اللغات، يغيّر Android 7.0 الطريقة التي يتعامل بها مع الموارد. احرص على اختبار تطبيقاتك والتأكّد من أنّها تعمل
كما هو متوقع باستخدام منطق حلّ الموارد الجديد.
لمعرفة المزيد من المعلومات عن السلوك الجديد لمعالجة الموارد وأفضل الممارسات التي يجب اتّباعها، يُرجى مراجعة الدعم المتعدد اللغات.
رموز تعبيرية جديدة
يقدّم الإصدار Android 7.0 ميزات إضافية مرتبطة بالرموز التعبيرية، بما فيها الرموز التعبيرية لدرجة لون البشرة وإمكانية استخدام أدوات اختيار التباين. إذا كان تطبيقك يتيح استخدام الرموز التعبيرية، يُرجى اتّباع الإرشادات أدناه للاستفادة من هذه الميزات المرتبطة بالرموز التعبيرية.
-
عليك التأكّد من أنّ الجهاز يحتوي على رمز تعبيري قبل إدراجه.
للتحقّق من الرموز التعبيرية المتوفّرة في خط النظام، استخدِم طريقة
hasGlyph(String)
. - تأكَّد من توافق الرمز التعبيري مع أدوات اختيار الصيغ. تتيح لك أدوات اختيار الصيغ تقديم رموز تعبيرية معيّنة باللون أو الأبيض والأسود. يجب أن تمثّل التطبيقات على الأجهزة الجوّالة الرموز التعبيرية بالألوان بدلاً من الأبيض والأسود. ومع ذلك، إذا كان تطبيقك يعرض رموزًا تعبيرية مضمّنة مع النص، يجب أن يستخدم التطبيق باللونَين الأبيض والأسود. لتحديد ما إذا كان الرمز التعبيري يتضمّن شكلاً أم لا، استخدِم أداة اختيار التباين. للحصول على قائمة كاملة بالحروف التي لها صيغ مختلفة، راجِع قسم تسلسلات الرموز التعبيرية في مستندات Unicode الخاصة بالصيغ.
-
تأكَّد من أنّ الرمز التعبيري يتوافق مع درجة لون البشرة. يتيح الإصدار Android 7.0 للمستخدمين تعديل درجة لون البشرة المعروضة للرموز التعبيرية حسب ما يفضّلونه. ويجب أن تقدّم تطبيقات لوحة المفاتيح
مؤشرات مرئية للرموز التعبيرية ذات درجات لون بشرة متعددة ويجب أن تسمح للمستخدمين
باختيار درجة لون البشرة التي يفضّلونها. لتحديد الرموز التعبيرية للنظام التي تحتوي على
عناصر تعديل درجة لون البشرة، استخدِم طريقة
hasGlyph(String)
. يمكنك تحديد الرموز التعبيرية التي تستخدم درجات لون البشرة من خلال قراءة مستندات Unicode.
واجهات برمجة تطبيقات ICU4J في نظام التشغيل Android
يوفّر Android 7.0 الآن مجموعة فرعية من واجهات برمجة تطبيقات ICU4J في إطار عمل Android ضمن حزمة android.icu
. عملية نقل البيانات سهلة، وتتضمّن في معظمها
التغيير من مساحة الاسم com.java.icu
إلى
android.icu
. إذا كنت تستخدم حزمة ICU4J في
تطبيقاتك، يمكن أن يؤدي التبديل إلى واجهات برمجة تطبيقات android.icu
المتوفرة في إطار عمل
Android إلى توفير مبالغ كبيرة في حجم حزمة APK.
لمزيد من المعلومات حول واجهات برمجة تطبيقات Android ICU4J، يُرجى الاطّلاع على دعم ICU4J.
WebView
استخدام Chrome وWebView معًا
بدءًا من الإصدار 51 من Chrome على نظام التشغيل Android 7.0 والإصدارات الأحدث، يتم استخدام حزمة APK من Chrome على جهازك لتوفير مكوّنات WebView لنظام Android وعرضها. تساعد هذه الطريقة في تحسين استخدام الذاكرة على الجهاز نفسه وتقليل معدّل نقل البيانات المطلوب لتحديث محتوى WebView باستمرار (لأنّه لن يتم تحديث حزمة APK المستقلة في WebView طالما أنّ متصفّح Chrome لا يزال مفعّلاً).
يمكنك اختيار موفّر WebView من خلال تفعيل "خيارات المطوّرين" واختيار تنفيذ WebView. يمكنك استخدام أي إصدار متوافق من Chrome (إصدار تجريبي أو إصدار تجريبي أو ثابت) تم تثبيته على جهازك أو حزمة APK المستقلة من Webview ليكون بمثابة تنفيذ WebView.
عمليات متعددة
بدءًا من الإصدار 51 من Chrome في الإصدار 7.0 من نظام التشغيل Android، سيشغِّل WebView محتوى الويب في عملية منفصلة ضمن وضع الحماية عند تفعيل خيار "مكوّن WebView متعدد العمليات".
نبحث عن ملاحظات بشأن أداء التوافق ووقت التشغيل في N قبل تفعيل WebView متعدد العمليات في إصدار مستقبلي من Android. في هذا الإصدار، من المتوقّع حدوث تراجع في مدة بدء التشغيل وإجمالي استخدام الذاكرة وأداء عرض البرامج.
إذا عثرت على مشاكل غير متوقّعة في الوضع المتعدّد العمليات، نودّ معرفة عنها. يُرجى التواصل مع فريق WebView على أداة تتبُّع أخطاء Chromium.
تشغيل JavaScript قبل تحميل الصفحة
بدءًا من التطبيقات التي تستهدف الإصدار 7.0 من نظام التشغيل Android، ستتم إعادة ضبط سياق JavaScript عند تحميل صفحة جديدة. في الوقت الحالي، يتم نقل السياق للصفحة الأولى التي يتم تحميلها في مثيل WebView جديد.
وعلى المطوّرين الذين يتطلّعون إلى إدخال JavaScript في WebView تنفيذ النص البرمجي بعد بدء تحميل الصفحة.
رصد الموقع الجغرافي على المصادر غير الآمنة
بدءًا من التطبيقات التي تستهدف الإصدار 7.0 من نظام التشغيل Android، لن يتم السماح بواجهة برمجة التطبيقات للموقع الجغرافي إلا على المصادر الآمنة (عبر HTTPS). تم تصميم هذه السياسة لحماية المعلومات الخاصة للمستخدمين عند استخدامهم لاتصال غير آمن.
الاختبار باستخدام الإصدار التجريبي من WebView
يتم تحديث WebView بانتظام، لذا ننصحك باختبار التوافق مع تطبيقك بشكل متكرر باستخدام قناة WebView التجريبية. لبدء اختبار إصدارات WebView التجريبية على نظام التشغيل Android 7.0، عليك تنزيل إصدار مطوّري البرامج من Chrome أو الإصدار التجريبي من Chrome وتثبيتهما، واختياره ليكون تنفيذ WebView ضمن خيارات المطوّرين كما هو موضّح أعلاه. يُرجى الإبلاغ عن المشاكل من خلال أداة تتبُّع أخطاء Chromium حتى نتمكّن من حلّها قبل إطلاق إصدار جديد من WebView.
واجهة برمجة التطبيقات OpenGLTM ES 3.2
يضيف Android 7.0 واجهات إطار العمل ويتوافق مع النظام الأساسي OpenGL ES 3.2، بما في ذلك:
- جميع الإضافات من
حزمة إضافات Android (AEP) باستثناء
EXT_texture_sRGB_decode
- مخازن الإطارات العائمة ذات النقاط العائمة لاستخدام النطاق العالي الديناميكية والتظليل المؤجل.
- يجمع BaseVertex طلبات البيانات من أجل تفعيل ميزة تجميع البيانات وبثها بشكل أفضل.
- تحكُّم قوي في الوصول إلى المخزن المؤقت لتقليل استخدام WebGL
تتوفر واجهة برمجة التطبيقات الخاصة بإطار عمل OpenGL ES 3.2 على نظام Android 7.0 مع فئة GLES32
. عند استخدام OpenGL ES 3.2، احرص على توضيح المتطلّبات في ملف البيان باستخدام العلامة <uses-feature>
والسمة android:glEsVersion
.
للحصول على معلومات حول استخدام OpenGL ES، بما في ذلك طريقة التحقّق من إصدار OpenGL ES المتوافق مع الجهاز في وقت التشغيل، يمكنك الاطّلاع على دليل OpenGL ES API.
تسجيل Android TV
يتيح الإصدار Android 7.0 تسجيل المحتوى وتشغيله من خدمات إدخال Android TV عبر واجهات برمجة تطبيقات التسجيل الجديدة. فضلاً عن واجهات برمجة التطبيقات الحالية لتحويل الوقت، يمكن لخدمات الإدخال التلفزيونية التحكم في بيانات القناة التي يمكن تسجيلها، وكيفية حفظ الجلسات المسجّلة، وإدارة تفاعل المستخدم مع المحتوى المسجّل.
لمزيد من المعلومات، يمكنك الاطّلاع على واجهات برمجة تطبيقات تسجيل Android TV.
Android for Work
يضيف Android for Work العديد من الميزات وواجهات برمجة التطبيقات الجديدة للأجهزة التي تعمل بنظام Android 7.0. في ما يلي بعض الميزات المهمة، وللحصول على قائمة كاملة بالميزات، يُرجى الاطّلاع على قائمة ميزات Android Enterprise.
اختبار أمان الملف الشخصي للعمل
ويمكن لمالكي الملفات الشخصية الذين يستهدفون حزمة N SDK تحديد تحدي أمان منفصل للتطبيقات التي يتم تشغيلها في الملف الشخصي للعمل. يظهر اختبار التحقق من العمل عندما يحاول مستخدم فتح أي تطبيقات عمل. يؤدي إكمال اختبار التحقُّق من الأمان بنجاح إلى فتح قفل الملف الشخصي للعمل وفك تشفيره إذا لزم الأمر. بالنسبة إلى مالكي الملفات الشخصية، سيطلب
ACTION_SET_NEW_PASSWORD
من المستخدم إعداد اختبار
عمل، بينما يطلب ACTION_SET_NEW_PARENT_PROFILE_PASSWORD
من المستخدم ضبط قفل الجهاز.
يمكن لمالكي الملفات الشخصية ضبط سياسات رموز مرور مختلفة لتحدي العمل
(مثل المدة اللازمة لرقم التعريف الشخصي أو ما إذا كان يمكن استخدام بصمة الإصبع
لفتح قفل الملف الشخصي) باستخدام setPasswordQuality()
وsetPasswordMinimumLength()
والطرق ذات الصلة. ويمكن لمالك الملف الشخصي أيضًا ضبط قفل الجهاز باستخدام مثيل DevicePolicyManager
الذي تعرضه طريقة getParentProfileInstance()
الجديدة.
بالإضافة إلى ذلك، يمكن لمالكي الملفات الشخصية تخصيص شاشة بيانات الاعتماد لتحدي العمل باستخدام طريقتَي setOrganizationColor()
وsetOrganizationName()
الجديدتَين.
إيقاف العمل
على جهاز يحتوي على ملف شخصي للعمل، يمكن للمستخدمين إيقاف/تفعيل وضع العمل. عند إيقاف وضع العمل، يتم إيقاف حساب المستخدم المُدار مؤقتًا، ما يؤدي إلى إيقاف تطبيقات الملف الشخصي للعمل ومزامنة الخلفية والإشعارات. وهذا يشمل تطبيق مالك الملف الشخصي. عند إيقاف وضع العمل، يعرض النظام رمز حالة دائمًا لتذكير المستخدم بأنه لا يمكنه تشغيل تطبيقات العمل. يشير المشغل إلى أنه لا يمكن الوصول إلى تطبيقات العمل والتطبيقات المصغّرة.
شبكة VPN قيد التشغيل دائمًا
يمكن لمالكي الأجهزة ومالكي الملفات الشخصية التأكّد من ربط تطبيقات العمل دائمًا من خلال شبكة افتراضية خاصة محدَّدة. ويبدأ النظام تشغيل شبكة VPN تلك تلقائيًا بعد تشغيل الجهاز.
طريقتان جديدتان من النوع DevicePolicyManager
هما
setAlwaysOnVpnPackage()
وgetAlwaysOnVpnPackage()
.
بما أنّه يمكن أن يتم فرض قيود على خدمات شبكة VPN من خلال النظام مباشرةً بدون أي تفاعل مع التطبيق، يجب أن تعالج برامج الشبكة الافتراضية الخاصة نقاط الدخول الجديدة لشبكة VPN التي يتم تشغيلها دائمًا. وكما حدث من قبل، تتم الإشارة إلى الخدمات للنظام من خلال فلتر أهداف يطابق إجراء android.net.VpnService
.
يمكن للمستخدمين أيضًا ضبط برامج "شبكة VPN" (VPN) دائمًا التي تنفّذ طرق VPNService
يدويًا من خلال
الإعدادات > المزيد > شبكة VPN. لا يتوفّر خيار تفعيل "شبكة VPN قيد التشغيل دائمًا"
من "الإعدادات" إلا إذا كان عميل شبكة VPN يستهدف المستوى 24 من واجهة برمجة التطبيقات.
توفير المتطلبات اللازمة
يمكن للتطبيق تخصيص مسار توفير المتطلبات اللازمة لمالك الملف الشخصي ومالك الجهاز،
باستخدام ألوان الشركة وشعاراتها.
يخصِّص DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR
لون التدفق. يخصِّص DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI
مسار العملية باستخدام شعار الشركة.
تحسينات لتسهيل الاستخدام
يوفّر Android 7.0 الآن "إعدادات الرؤية" مباشرةً على شاشة الترحيب لإعداد الجهاز الجديد. وهذا يسهِّل على المستخدمين اكتشاف ميزات إمكانية الوصول وتكوينها على أجهزتهم، بما في ذلك إيماءة التكبير وحجم الخط وحجم العرض وTalkBack.
مع إبراز ميزات تسهيل الاستخدام هذه في موضع أكثر بروزًا، من المرجح أن يجرب المستخدمون تطبيقك عندما تكون مفعّلة. احرص على اختبار تطبيقاتك في وقت مبكر مع تمكين هذه الإعدادات. يمكنك تفعيلها من "الإعدادات" > "تسهيل الاستخدام".
في نظام Android 7.0 أيضًا، يمكن لخدمات تسهيل الاستخدام الآن مساعدة المستخدمين الذين يعانون من إعاقات حركية على لمس الشاشة. تتيح واجهة برمجة التطبيقات الجديدة إنشاء خدمات باستخدام ميزات مثل تتبُّع الوجوه وتتبُّع العين ومسح النقاط وغير ذلك، لتلبية احتياجات هؤلاء المستخدمين.
لمزيد من المعلومات، اطّلِع على المستندات المرجعية الخاصة بـ
GestureDescription
.
التشغيل المباشر
يساعد التشغيل المباشر في تحسين أوقات بدء تشغيل الجهاز ويتيح للتطبيقات المسجّلة وظائف محدودة حتى بعد إعادة التشغيل غير المتوقعة. على سبيل المثال، في حال تمت إعادة تشغيل جهاز مشفّر أثناء نائم المستخدم، يمكن الآن للمنبّهات المسجّلة والرسائل والمكالمات الواردة مواصلة إرسال إشعارات إلى المستخدم كالمعتاد. ويعني ذلك أيضًا أنّ الخدمات المخصّصة لتسهيل الاستخدام يمكن أن تتوفّر أيضًا فورًا بعد إعادة التشغيل.
يستفيد التمهيد المباشر من التشفير المستند إلى الملفات في Android 7.0 لتمكين سياسات التشفير الدقيقة لكل من النظام وبيانات التطبيق. يستخدم النظام مخزنًا مشفرًا على الجهاز لبيانات نظام محدّدة وبيانات التطبيق المسجّلة بشكلٍ صريح. ويتم تلقائيًا استخدام مخزن بيانات اعتماد مشفّرة لجميع بيانات النظام وبيانات المستخدمين والتطبيقات وبيانات التطبيقات الأخرى.
عند بدء التشغيل، يبدأ النظام في وضع تقييد المحتوى مع إمكانية الوصول إلى البيانات المشفّرة للجهاز فقط، وبدون الوصول العام إلى التطبيقات أو البيانات.
إذا كانت لديك مكونات تريد تشغيلها في هذا الوضع، يمكنك تسجيلها
من خلال وضع علامة في البيان. بعد إعادة التشغيل، ينشط النظام
المكوّنات المسجَّلة من خلال بث هدف LOCKED_BOOT_COMPLETED
. يضمن النظام إتاحة بيانات التطبيقات المسجّلة والمشفّرة على الجهاز قبل فتح القفل. تصبح جميع البيانات الأخرى غير متاحة إلى أن يؤكّد المستخدم بيانات اعتماد شاشة القفل
لفك تشفيرها.
مصادقة المفتاح
يقدّم نظام التشغيل Android 7.0 ميزة مصادقة المفاتيح، وهي أداة أمان جديدة تساعدك في التأكّد من أنّ أزواج المفاتيح المخزّنة في ملف تخزين المفاتيح المستند إلى الأجهزة تحمي المعلومات الحساسة التي يستخدمها تطبيقك بشكل صحيح. تتيح لك هذه الأداة ثقة إضافية في أنّ تطبيقك يتفاعل مع المفاتيح المتوفّرة في أجهزة آمنة، حتى إذا كان الجهاز الذي يعمل عليه تطبيقك مزوّدًا بإذن الوصول إلى الجذر. يجب استخدام هذه الأداة عند استخدام مفاتيح من ملف تخزين المفاتيح المتوافق مع الأجهزة في تطبيقاتك، لا سيّما إذا كنت تستخدم المفاتيح للتحقّق من صحّة معلومات حسّاسة داخل تطبيقك.
تتيح لك مصادقة المفتاح التأكّد من إنشاء مفتاحَي RSA أو EC وتخزينهما في ملف تخزين مفاتيح مستنِد إلى الأجهزة على الجهاز ضمن بيئة التنفيذ الموثوقة (TEE) الخاصة بالجهاز. تسمح لك الأداة أيضًا باستخدام خدمة خارج الجهاز، مثل الخادم الخلفي لتطبيقك، لتحديد الاستخدامات وصلاحيتها بشكل كبير والتحقّق منها بشكل دقيق. توفّر هاتان الميزتان مستوى إضافيًا من الأمان يحميان زوج المفاتيح، حتى إذا تم تزويد الجهاز بإذن الوصول إلى الجذر أو اختراق أمان نظام Android الأساسي الذي يعمل على الجهاز.
ملاحظة: يتوافق عدد قليل فقط من الأجهزة التي تعمل بالإصدار 7.0 من نظام التشغيل Android
مع مصادقة المفتاح على مستوى الأجهزة. أمّا جميع الأجهزة الأخرى التي تعمل بالإصدار 7.0 من نظام التشغيل Android،
وتستخدم مصادقة المفتاح على مستوى البرامج بدلاً من ذلك. قبل إثبات ملكية سمات
المفاتيح المثبّتة على الأجهزة في بيئة على مستوى الإنتاج،
يجب أن
تأكَّد من أنّ الجهاز يتيح مصادقة المفتاح على مستوى الجهاز. لإجراء ذلك، عليك التأكّد من أنّ سلسلة شهادة المصادقة تحتوي على شهادة جذر موقَّعة من خلال مفتاح جذر التصديق من Google، ومن أنّ العنصر attestationSecurityLevel
ضِمن بنية بيانات وصف المفتاح قد تم ضبطه على مستوى أمان بيئة أمان TrustedEnvironment.
لمزيد من المعلومات، يُرجى الاطّلاع على مستند المصادقة الرئيسية الخاص بالمطوّر.
تهيئة أمان الشبكة
في نظام التشغيل Android 7.0، يمكن للتطبيقات تخصيص سلوك الاتصالات الآمنة (بروتوكول HTTPS وبروتوكول أمان طبقة النقل (TLS)) بأمان وبدون أي تعديل على الرموز وذلك من خلال استخدام الإعداد التعريفي Network Security Config بدلاً من استخدام واجهات برمجة التطبيقات الآلية التقليدية المعرّضة للخطأ (مثل X509TrustManager).
الميزات المتاحة:
- مراسي الثقة المخصّصة: يتيح لأحد التطبيقات تخصيص مراجع التصديق (CA) الموثوق بها لاتصالاته الآمنة. على سبيل المثال، إمكانية الوثوق في شهادات معيَّنة موقَّعة ذاتيًا أو مجموعة محدودة من مراجع التصديق العامة.
- عمليات الإلغاء لتصحيح الأخطاء فقط: يتيح لمطوِّر التطبيق تصحيح أخطاء الاتصالات الآمنة لتطبيقه بأمان بدون مخاطر إضافية على القاعدة المثبَّتة.
- إيقاف حركة مرور البيانات فيCleartext يتيح للتطبيق حماية نفسه من الاستخدام غير المقصود لحركة مرور بيانات واضحة.
- تثبيت الشهادة: هي ميزة متقدّمة تتيح للتطبيق تحديد مفاتيح الخادم الموثوق بها للاتصالات الآمنة.
لمزيد من المعلومات، اطلع على ضبط أمان الشبكة.
مرجع التصديق التلقائي الموثوق به
بشكل تلقائي، لا تثق التطبيقات التي تستهدف الإصدار 7.0 من نظام التشغيل Android إلا في الشهادات التي يوفّرها النظام ولا تثق بعد ذلك في مراجع التصديق التي يضيفها المستخدم. على التطبيقات التي تستهدف الإصدار 7.0 من نظام التشغيل Android (المستوى 24 من واجهة برمجة التطبيقات) والتي تريد الوثوق في مراجع التصديق التي يضيفها المستخدمون، استخدام ضبط أمان الشبكة لتحديد كيفية الوثوق في مراجع التصديق للمستخدم.
مخطّط توقيع حزمة APK - الإصدار 2
يوفّر Android 7.0 الإصدار 2 من مخطّط توقيع حزمة APK، وهو مخطّط جديد لتوقيع التطبيقات يوفّر مُدد تثبيت أسرع للتطبيقات وحماية أكبر من التعديلات غير المصرّح بها على ملفات APK. بشكل تلقائي، يوقِّع الإصدار 2.2 من "استوديو Android" ومكوِّن Android الإضافي لنظام Gradle 2.2 تطبيقك باستخدام كل من الإصدار 2 من مخطّط توقيع حزمة APK و نظام التوقيع التقليدي الذي يستخدم توقيع JAR.
ننصح بتطبيق الإصدار الثاني من مخطّط حزمة APK على تطبيقك، إلا أنّ هذا المخطَّط الجديد ليس إلزاميًا. إذا لم يتم إنشاء تطبيقك بشكل صحيح عند استخدام الإصدار 2 من مخطّط توقيع حزمة APK، يمكنك إيقاف المخطط الجديد. تؤدي عملية الإيقاف إلى توقيع تطبيق Android Studio 2.2 ومكوّن Android الإضافي لنظام Gradle 2.2 على تطبيقك باستخدام نظام التوقيع التقليدي فقط. للتسجيل باستخدام
المخطط التقليدي فقط، افتح ملف build.gradle
على مستوى الوحدة، ثم
أضِف السطر v2SigningEnabled false
إلى إعدادات توقيع
الإصدار:
android { ... defaultConfig { ... } signingConfigs { release { storeFile file("myreleasekey.keystore") storePassword "password" keyAlias "MyReleaseKey" keyPassword "password" v2SigningEnabled false } } }
تحذير: إذا وقّعت تطبيقك باستخدام الإصدار 2 من مخطّط توقيع حزمة APK
وأجريت تغييرات أخرى على التطبيق، سيتم إبطال توقيع التطبيق. لهذا السبب، يجب استخدام أدوات مثل zipalign
قبل توقيع تطبيقك باستخدام الإصدار 2 من مخطّط توقيع حزمة APK، وليس بعد توقيعه.
للحصول على مزيد من المعلومات، يمكنك الاطّلاع على مستندات "استوديو Android" التي توضّح كيفية توقيع تطبيق في "استوديو Android" وكيفية ضبط ملف التصميم لتوقيع التطبيقات باستخدام مكوّن Android الإضافي لتطبيق Gradle.
الوصول إلى الدليل النطاقي
في نظام التشغيل Android 7.0، يمكن للتطبيقات استخدام واجهات برمجة تطبيقات جديدة لطلب الوصول إلى أدلة محددة خاصة بمساحة التخزين الخارجية، بما في ذلك الأدلة المتوفرة على الوسائط القابلة للإزالة مثل بطاقات SD. تبسّط واجهات برمجة التطبيقات الجديدة بشكل كبير طريقة وصول تطبيقك إلى أدلة التخزين الخارجية العادية، مثل دليل Pictures
. ويمكن للتطبيقات
مثل تطبيقات الصور استخدام واجهات برمجة التطبيقات هذه بدلاً من استخدام
READ_EXTERNAL_STORAGE
، الذي يمنح إمكانية الوصول إلى جميع أدلة
مساحة التخزين، أو إلى "إطار عمل الوصول إلى مساحة التخزين"، ما يجعل المستخدم ينتقل إلى
الدليل.
بالإضافة إلى ذلك، تعمل واجهات برمجة التطبيقات الجديدة على تبسيط الخطوات التي يتّخذها المستخدم لمنح تطبيقك إذن الوصول إلى مساحة تخزين خارجية. عند استخدام واجهات برمجة التطبيقات الجديدة، يستخدم النظام واجهة مستخدم بسيطة بأذونات توضّح بوضوح الدليل الذي يطلب التطبيق الوصول إليه.
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات مطوّري برامج الوصول إلى الدليل المُفصَّل.
مساعد اختصارات لوحة المفاتيح
في نظام التشغيل Android 7.0، يمكن للمستخدم الضغط على Meta + / لتشغيل شاشة اختصارات لوحة المفاتيح التي تعرض جميع الاختصارات المتاحة من النظام والتطبيق محلّ التركيز. يسترد النظام هذه الاختصارات تلقائيًا من قائمة التطبيق إذا كانت الاختصارات موجودة. ويمكنك أيضًا توفير قوائم الاختصارات المحسّنة للشاشة. ويمكنك إجراء ذلك
من خلال إلغاء الطريقة onProvideKeyboardShortcuts()
.
ملاحظة: لا يتوفّر المفتاح Meta على جميع لوحات المفاتيح: ففي لوحة مفاتيح Macintosh، يكون المفتاح Command، وعلى لوحة مفاتيح Windows، وهو مفتاح Windows. وعلى هواتف Pixel C ولوحات المفاتيح في ChromeOS، يمثّل المفتاح مفتاح البحث.
لتفعيل "مساعد اختصارات لوحة المفاتيح" من أي مكان في تطبيقك، يُرجى الاتصال بـ requestShowKeyboardShortcuts()
من النشاط ذي الصلة.
واجهة برمجة تطبيقات المؤشر المخصّص
يقدّم الإصدار Android 7.0 واجهة برمجة تطبيقات المؤشر المخصصة التي تتيح لك تخصيص مظهر المؤشر ورؤيته وسلوكه. ويمكن الاستفادة من هذه الإمكانية بشكل خاص عند استخدام ماوس أو لوحة لمس للتفاعل مع كائنات واجهة المستخدم. يستخدم المؤشر الافتراضي رمزًا قياسيًا. تشمل واجهة برمجة التطبيقات هذه أيضًا وظائف متقدّمة، مثل تغيير مظهر رمز المؤشر استنادًا إلى حركات معيّنة للماوس أو لوحة اللمس.
لضبط رمز مؤشر، عليك إلغاء طريقة onResolvePointerIcon()
لفئة View
. وتستخدم هذه الطريقة الكائن PointerIcon
لرسم رمز يتوافق مع
حدث حركة محدّد.
واجهة برمجة تطبيقات الأداء المستدام
قد يتقلّب الأداء بشكل كبير بالنسبة إلى التطبيقات طويلة الأمد، لأنّ النظام يقيّد المحركات على الرقاقة عندما تصل مكوّنات الجهاز إلى الحدود القصوى لدرجة الحرارة. ويشكّل هذا الاختلاف هدفًا متحرّكًا لمطوّري التطبيقات الذين ينشئون تطبيقات عالية الأداء وطويلة الأمد.
لمعالجة هذه القيود، يتضمّن Android 7.0 دعمًا لوضع الأداء المستدام، ما يتيح للمصنّعين الأصليين للأجهزة تقديم تلميحات حول إمكانيات أداء الجهاز للتطبيقات طويلة الأمد. يمكن لمطوّري التطبيقات استخدام هذه التلميحات لتحسين التطبيقات من أجل الحصول على مستوى أداء ثابت يمكن توقُّعه على مدى فترات زمنية طويلة.
يمكن لمطوّري التطبيقات تجربة واجهة برمجة التطبيقات الجديدة هذه في نظام التشغيل Android 7.0 على أجهزة Nexus 6P فقط. ولاستخدام هذه الميزة،
عليك ضبط علامة نافذة "الأداء المستمر" للنافذة التي تريد تشغيلها في وضع الأداء المستدام. يمكنك ضبط هذه العلامة باستخدام طريقة Window.setSustainedPerformanceMode()
. ويقوم النظام تلقائيًا
بإيقاف هذا الوضع عندما لا تكون النافذة محل التركيز.
دعم الواقع الافتراضي
يضيف نظام التشغيل Android 7.0 دعمًا للنظام الأساسي وتحسينات لوضع الواقع الافتراضي الجديد للسماح للمطورين بإنشاء تجارب عالية الجودة للواقع الافتراضي (VR) على الجوّال للمستخدمين. وهناك عدد من تحسينات الأداء، بما في ذلك الوصول إلى وحدة معالجة مركزية أساسية حصرية لتطبيقات الواقع الافتراضي. يمكنك داخل تطبيقاتك الاستفادة من التتبُّع الذكي للرأس وإشعارات الاستيريو التي تعمل مع الواقع الافتراضي. الأهم من ذلك أنّ Android 7.0 يوفّر رسومات ذات وقت استجابة سريع جدًا. للحصول على معلومات كاملة حول إنشاء تطبيقات الواقع الافتراضي لنظام التشغيل Android 7.0، راجع حزمة SDK للواقع الافتراضي من Google لنظام التشغيل Android.
تحسينات خدمة الطباعة
في نظام التشغيل Android 7.0، يمكن لمطوّري خدمات الطباعة الآن عرض معلومات إضافية حول الطابعات ومهام الطباعة الفردية.
عند إدراج طابعات فردية، يمكن لخدمة الطباعة الآن ضبط الرموز لكل طابعة بطريقتين:
- يمكنك ضبط رمز من رقم تعريف مورد عن طريق الاتصال بـ
setIconResourceId()
. - يمكنك إظهار رمز من الشبكة من خلال استدعاء
setHasCustomPrinterIcon()
، وإعداد معاودة الاتصال عندما يتم طلب الرمز باستخدامonRequestCustomPrinterIcon()
.
بالإضافة إلى ذلك، يمكنك توفير نشاط لكل طابعة من أجل عرض معلومات إضافية
من خلال طلب الرقم setInfoIntent()
.
يمكنك الإشارة إلى مستوى تقدّم مهام الطباعة وحالتها في إشعار مهمة الطباعة من خلال استدعاء الرمزَين setProgress()
وsetStatus()
على التوالي.
واجهة برمجة تطبيقات مقاييس الإطار
تسمح واجهة برمجة التطبيقات Frame Metrics API للتطبيق بمراقبة أداء عرض واجهة المستخدم الخاصة بها. توفر واجهة برمجة التطبيقات هذه الإمكانية من خلال تقديم واجهة برمجة تطبيقات Pub/Sub للبث لنقل معلومات توقيت الإطار لنافذة التطبيق الحالية. وتساوي البيانات التي يتم عرضها تلك البيانات التي يعرضها adb shell
dumpsys gfxinfo framestats
، ولكنّها لا تقتصر على آخر 120 إطارًا.
يمكنك استخدام واجهة برمجة التطبيقات Frame Metrics API لقياس أداء واجهة المستخدم على مستوى التفاعل في مرحلة الإنتاج، بدون الحاجة إلى اتصال USB. تسمح واجهة برمجة التطبيقات هذه بجمع البيانات بدقة أعلى بكثير من adb shell dumpsys gfxinfo
. من الممكن تحقيق هذه الدقة العالية لأن النظام يمكنه جمع البيانات لتفاعلات معيّنة في التطبيق، ولا يحتاج النظام إلى الحصول على ملخص عام لأداء التطبيق بالكامل، أو مسح أي حالة عالمية. يمكنك استخدام هذه القدرة لجمع بيانات الأداء واكتشاف التراجع في أداء واجهة المستخدم لحالات الاستخدام الحقيقية داخل التطبيق.
لمراقبة نافذة، نفِّذ طريقة
OnFrameMetricsAvailableListener.onFrameMetricsAvailable()
رد الاتصال وسجِّلها في تلك النافذة.
توفّر واجهة برمجة التطبيقات عنصر FrameMetrics
يحتوي على بيانات التوقيت التي يحدّدها النظام الفرعي للعرض بشأن الإنجازات المختلفة في دورة حياة الإطار. المقاييس المسموح بها هي: UNKNOWN_DELAY_DURATION
وINPUT_HANDLING_DURATION
وANIMATION_DURATION
وLAYOUT_MEASURE_DURATION
وDRAW_DURATION
وSYNC_DURATION
وCOMMAND_ISSUE_DURATION
وSWAP_BUFFERS_DURATION
وTOTAL_DURATION
وFIRST_DRAW_FRAME
.
الملفات الافتراضية
في الإصدارات السابقة من Android، كان بإمكان تطبيقك استخدام "إطار عمل الوصول إلى مساحة التخزين" للسماح للمستخدمين باختيار الملفات من حسابات مساحات التخزين في السحابة الإلكترونية، مثل Google Drive. ولم تكن هناك طريقة لتمثيل الملفات التي لا تتضمّن تمثيلاً مباشرًا لرمز البايت، فكل ملف كان مطلوبًا لتوفير مصدر بيانات للإدخال.
يضيف نظام التشغيل Android 7.0 مفهوم الملفات الافتراضية إلى إطار عمل الوصول إلى مساحة التخزين. تسمح ميزة الملفات الافتراضية لـ DocumentsProvider
بعرض معرّفات الموارد المنتظمة (URI) الخاصة بالمستندات التي يمكن استخدامها لغرض ACTION_VIEW
حتى إذا لم تكن تتضمّن تمثيلاً مباشرًا لرمز بايت. يسمح لك الإصدار Android 7.0 أيضًا بتوفير تنسيقات بديلة لملفات المستخدمين، سواء كانت افتراضية أم غير ذلك.
لمزيد من المعلومات حول فتح الملفات الافتراضية، يُرجى الاطّلاع على المقالة فتح الملفات الافتراضية في دليل أطر عمل الوصول إلى مساحة التخزين.