نظرة عامة على الميزات وواجهات برمجة التطبيقات

يقدّم Android 14 ميزات وواجهات برمجة تطبيقات رائعة للمطوّرين. لمعرفة المزيد عن ميزات تطبيقاتك وبدء استخدام واجهات برمجة التطبيقات ذات الصلة،

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

التوافق مع أسواق عالمية

إعدادات اللغة المخصّصة حسب التطبيقات

يشمل نظام Android 14 ميزات كل لغة التي تم تقديمها في Android 13 (المستوى 33 لواجهة برمجة التطبيقات) مع هذه الإمكانات الإضافية:

  • إنشاء localeConfig لتطبيق تلقائيًا: بدءًا من إصدار Android Studio Giraffe Canary 7 والإصدار 8.1.0-alpha07 من Android، يمكنك ضبط تطبيقك للتوافق مع الإعدادات المفضّلة للغة حسب التطبيق تلقائيًا. استنادًا إلى موارد مشروعك، ينشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android ملف LocaleConfig ويضيف مرجعًا إليه في ملف البيان النهائي، وبذلك لن يكون عليك إنشاء الملف أو تعديله يدويًا. يستخدم AGP الموارد في مجلدات res لوحدات تطبيقك وأيّ تبعيات لوحدات المكتبة لتحديد اللغات التي يجب تضمينها في ملف LocaleConfig.

  • تعديلات ديناميكية لتطبيق localeConfig: استخدِم طريقتَي setOverrideLocaleConfig() وgetOverrideLocaleConfig() في LocaleManager لتعديل قائمة اللغات المتوافقة في تطبيقك ديناميكيًا في إعدادات نظام الجهاز. يمكنك الاستفادة من هذه المرونة لتخصيص قائمة اللغات المتاحة لكل منطقة، أو إجراء تجارب أ/ب، أو تقديم قائمة معدّلة باللغات إذا كان تطبيقك يستخدم عمليات الدفع من جهة الخادم للأقلمة.

  • مستوى ظهور لغة التطبيق لأدوات تحرير أسلوب الإدخال (IMEs): يمكن لأدوات تحرير أسلوب الإدخال استخدام طريقة getApplicationLocales() للتحقق من لغة التطبيق الحالي ومطابقة لغة أداة IME لتلك اللغة.

واجهة برمجة تطبيقات التدفّق النحوي

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

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

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

الإعدادات المفضّلة للمنطقة

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

توفّر قوائم إعدادات Android الجديدة لهذه الإعدادات المفضّلة للمستخدمين مكانًا يسهل العثور عليه ويكون مركزيًا لتغيير الإعدادات المفضّلة للتطبيقات. هذه والتفضيلات أيضًا من خلال النسخ الاحتياطي والاستعادة. هناك العديد من واجهات برمجة التطبيقات الأهداف - مثل getTemperatureUnit أو getFirstDayOfWeek— منح تطبيقك إذن الوصول للقراءة إلى إعدادات المستخدم المفضّلة، حتى يتمكّن التطبيق من تعديل إعداداته تعرض المعلومات. يمكنك أيضًا تسجيل خيار "BroadcastReceiver" مفعَّل ACTION_LOCALE_CHANGED لمعالجة تغييرات إعدادات اللغة عند تغيير الإعدادات المفضّلة للمنطقة.

للعثور على هذه الإعدادات، افتح تطبيق "الإعدادات" وانتقِل إلى النظام > اللغات والإدخال > الإعدادات المفضّلة على مستوى المنطقة.

شاشة الإعدادات المفضّلة على مستوى المنطقة في إعدادات نظام Android
خيارات درجة الحرارة للإعدادات المفضّلة على مستوى المنطقة في إعدادات نظام Android

تسهيل الاستخدام

تكبير الخط غير الخطي إلى 200%

بدءًا من الإصدار Android 14، يتيح النظام زيادة حجم الخط بنسبة تصل إلى %200، ما يوفّر ضعاف البصر مع خيارات إمكانية الوصول الإضافية التي تتوافق مع إرشادات إتاحة المحتوى (WCAG):

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

اختبار تطبيقك باستخدام ميزة الضبط غير الخطّي لحجم الخط

تفعيل الحد الأقصى لحجم الخط في إعدادات تسهيل الاستخدام على الجهاز لاختبار تطبيقك.

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

لتفعيل حجم الخط بنسبة %200، اتّبِع الخطوات التالية:

  1. افتح تطبيق الإعدادات وانتقل إلى إمكانية الوصول > حجم العرض النص.
  2. بالنسبة إلى خيار حجم الخط، انقر على رمز علامة الجمع (+) إلى أن يتم ضبط الحدّ الأقصى للخط. تم تمكين إعداد الحجم، كما هو موضح في الصورة المصاحبة لهذا .

استخدام وحدات البكسل المعدَّلة (sp) لتحديد أحجام النصوص

احرص دائمًا على تحديد أحجام النص بوحدات sp. فعندما تطبيقك يستخدم وحدات وحدات بكسل قابلة للتوسّع، ويمكن لنظام Android تطبيق حجم النص المفضَّل للمستخدم وتوسيع نطاقه بشكل مناسب.

لا تستخدِم وحدات sp للمساحة الفارغة أو حدِّد ارتفاعات العرض بافتراض وجود مساحة فارغة ضمنية: مع تغيير حجم الخط غير الخطي، قد لا تكون سمات sp متناسبة، لذا قد لا يساوي 4sp + 20sp 24sp.

تحويل وحدات البكسل المقاسة (sp)

استخدِم TypedValue.applyDimension() للتحويل من وحدات sp إلى وحدات البكسل، واستخدِم TypedValue.deriveDimension() لتحويل وحدات البكسل إلى وحدات sp. تطبِّق هذه الطرق منحنى التوسيع غير الخطي المناسب تلقائيًا.

تجنُّب معادلات الترميز الثابت باستخدام Configuration.fontScale أو DisplayMetrics.scaledDensity نظرًا لأن تكبير الخط غير خطي، فلن يكون الحقل scaledDensity دقيقًا. يجب استخدام الحقل fontScale لأغراض إعلامية فقط لأنّه لم يعُد يتم تصغير الخطوط باستخدام قيمة متّجهية واحدة.

استخدام وحدات sp مع lineHeight

تعريف android:lineHeight دائمًا باستخدام وحدات sp بدلاً من ذلك من dp، وبالتالي يتغير ارتفاع السطر مع النص. بخلاف ذلك، إذا كان النص بوحدة sp ولكن lineHeight بوحدة dp أو px، لن يتم تغيير حجمه وسيبدو مزدحمًا. تصحح ميزة TextView lineHeight تلقائيًا حتى يتم يتم الحفاظ على النسب، ولكن فقط إذا كانت كل من textSize وlineHeight محددة بوحدات sp.

الكاميرا والوسائط

دقة HDR فائقة للصور

صورة توضيحية لجودة الصور بنطاق عادي ديناميكية (SDR) مقارنةً بنطاق عالي الديناميكية (HDR).

يتيح نظام التشغيل Android 14 إمكانية التقاط صور بنطاق عالي الديناميكية (HDR) تحتفظ بمزيد من المعلومات الواردة من أداة الاستشعار عند التقاط صورة، والتي تتيح لك بث محتوى نابض بالحياة ألوان وتباين أكبر. يستخدم نظام Android تنسيق Ultra HDR، وهو متوافق تمامًا مع صور JPEG القديمة، ما يسمح للتطبيقات بالعمل مع صور HDR بسلاسة وعرضها بنطاق ديناميكي عادي (SDR) عند الحاجة.

ويتم عرض هذه الصور في واجهة المستخدم بنطاق ديناميكي عالي تلقائيًا من خلال إطار العمل عندما يختار تطبيقك استخدام واجهة مستخدم بنطاق ديناميكي عالي لنشاطه، إما من خلال أحد إدخالات ملف البيان أو أثناء التشغيل من خلال استدعاء Window.setColorMode(). يمكنك أيضًا التقاط صورة بتنسيق Ultra مضغوطة صور ثابتة بتقنية HDR على الأجهزة المتوافقة من خلال استرداد المزيد من الألوان من أداة الاستشعار، يمكن أن يكون التعديل في مرحلة ما بعد الإنتاج أكثر مرونة. تشير رسالة الأشكال البيانية يمكن استخدام Gainmap المرتبط بصور HDR الفائقة لعرض باستخدام OpenGL أو Vulkan.

ميزات التكبير أو التصغير والتركيز وعرض المشاركات والمزيد في إضافات الكاميرا

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

  • إنّ التقدير الديناميكي لوقت استجابة المعالجة لا يزال يوفّر دقة أكبر، ويوفّر تقديرات أكثر دقة لوقت الاستجابة استنادًا إلى المشهد الحالي والظروف البيئية. يمكنك استدعاء CameraExtensionSession.getRealtimeStillCaptureLatency() للحصول على عنصر StillCaptureLatency يتضمن طريقتَين لتقدير وقت الاستجابة. تعرض الطريقة getCaptureLatency() وقت الاستجابة المقدّر بين onCaptureStarted وonCaptureProcessStarted()، وتعرض طريقة getProcessingLatency() وقت الاستجابة المقدَّر بين onCaptureProcessStarted() والإطار النهائي الذي تمت معالجته والمتاح.
  • إتاحة الحصول على عمليات معاودة الاتصال بشأن مستوى التقدّم حتى تتمكّن التطبيقات من عرض مستوى التقدّم الحالي في عمليات المعالجة التي لا تزال قيد المعالجة والتي لا تزال تُعرض لفترة طويلة يمكنك التحقّق مما إذا كانت هذه الميزة متاحة مع CameraExtensionCharacteristics.isCaptureProcessProgressAvailable، وفي حال توفّرها، يمكنك تنفيذ معاودة الاتصال onCaptureProcessProgressed() التي يتم تمرير مستوى التقدّم (من 0 إلى 100) كمعلّمة.
  • البيانات الوصفية الخاصة بالإضافة، مثل CaptureRequest.EXTENSION_STRENGTH لطلب مقدار تأثير الإضافة، مثل مقدار تمويه الخلفية باستخدام EXTENSION_BOKEH

  • ميزة Postview لالتقاط الصور الثابتة في إضافات الكاميرا، والتي توفِّر صورة أقل معالجة بسرعة أكبر مقارنةً بالصورة النهائية في حال زيادة وقت استجابة المعالجة، يمكن تقديم صورة ما بعد المشاهدة كعنصر نائب لتحسين تجربة المستخدم وإيقافها لاحقًا للصورة النهائية. يمكنك التحقق مما إذا كانت هذه الميزة متوفرة في CameraExtensionCharacteristics.isPostviewAvailable. يمكنك بعد ذلك تمرير OutputConfiguration إلى ExtensionSessionConfiguration.setPostviewOutputConfiguration.

  • دعم SurfaceView، مما يسمح بمسار عرض معاينة أكثر تحسينًا وكفاءة.

  • إتاحة النقر للتركيز والتكبير/التصغير أثناء استخدام الإضافات

تكبير/تصغير ضمن المستشعر

عندما يحتوي REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE في CameraCharacteristics على SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW، يمكن لتطبيقك استخدام إمكانات أداة الاستشعار المتقدمة لمنح بث RAW تم اقتصاصه نفس وحدات البكسل في مجال الرؤية الكامل باستخدام CaptureRequest مع هدف RAW تم ضبط حالة استخدام البث عليه على CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW. من خلال تنفيذ عناصر التحكّم في إلغاء الطلب، تتيح الكاميرا المعدَّلة للمستخدمين التحكّم في التكبير أو التصغير حتى قبل أن تصبح عناصر التحكّم الأخرى في الكاميرا جاهزة.

فقدان الصوت عبر USB

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

أدوات وإنتاجية المطوّرين

مدير بيانات الاعتماد

Android 14 adds Credential Manager as a platform API, with additional support back to Android 4.4 (API level 19) devices through a Jetpack Library using Google Play services. Credential Manager aims to make sign-in easier for users with APIs that retrieve and store credentials with user-configured credential providers. Credential Manager supports multiple sign-in methods, including username and password, passkeys, and federated sign-in solutions (such as Sign-in with Google) in a single API.

Passkeys provide many advantages. For example, passkeys are built on industry standards, can work across different operating systems and browser ecosystems, and can be used with both websites and apps.

For more information, see the Credential Manager and passkeys documentation and the blogpost about Credential Manager and passkeys.

Health Connect

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

على الأجهزة التي تعمل بإصدارات Android أقدم من 14، يتم تطبيق Health Connect. متاحًا للتنزيل كتطبيق على متجر Google Play. البدء بـ Android 14، يشكّل Health Connect جزءًا من النظام الأساسي ويتلقّى آخر الأخبار من خلال Google تشغيل تحديثات النظام بدون الحاجة إلى تنزيل منفصل وبفضل ذلك، يمكن تحديث Health Connect بشكل متكرر، ويمكن لتطبيقاتك الاعتماد على توفّر Health Connect على الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث. يمكن للمستخدمين الوصول إلى Health Connect من خلال "الإعدادات" في أجهزتهم، مع دمج عناصر التحكّم في الخصوصية في إعدادات النظام.

يمكن للمستخدمين بدء استخدام Health Connect بدون تنزيل التطبيق على الأجهزة التي تعمل بنظام التشغيل Android 14 أو الإصدارات الأحدث.
يمكن للمستخدمين تحديد التطبيقات التي يمكنها الوصول إلى معلومات السلامة بيانات اللياقة البدنية من خلال إعدادات النظام.

يتضمّن تطبيق Health Connect العديد من الميزات الجديدة في Android 14، مثل التمارين. المسارات، ما يتيح للمستخدمين مشاركة مسار تمارينهم الذي يمكن الاطّلاع عليه على الخريطة. يُعرَّف المسار بأنه قائمة بالمواقع الجغرافية التي تم حفظها داخل نافذة والوقت ويتمكن تطبيقك من إدراج المسارات في جلسات التمرين وربطها لضمان تحكُّم المستخدمين بشكل كامل في هذه البيانات الحسّاسة، على المستخدمين السماح بمشاركة مسارات فردية مع التطبيقات الأخرى.

لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Health Connection ومنشور المدوّنة حول الميزات الجديدة في Android Health

تحديثات OpenJDK 17

يواصل Android 14 العمل على تحديث مكتبات Android الأساسية للتوافق مع الميزات الواردة في أحدث إصدارات OpenJDK LTS، بما في ذلك تحديثات المكتبة وإتاحة اللغة في Java 17 لمطوّري التطبيقات والأنظمة الأساسية.

يتم تضمين الميزات والتحسينات التالية:

  • تم تحديث حوالي 300 صف java.base لتصبح متوافقة مع Java 17.
  • القوالب النصية، التي تضيف القيم الحرفية للسلاسل المتعددة الأسطر إلى لغة برمجة Java.
  • مطابقة النمط لـ exampleof، والتي تسمح بالتعامل مع الكائن على أنه له نوع معين في instanceof بدون أي متغيّرات إضافية.
  • الفئات المحمية: تسمح لك بتقييد الفئات والواجهات التي يمكن توسيعها أو تنفيذها.

بفضل تحديثات نظام Google Play (Project Mainline)، تم تفعيل أكثر من 600 مليون جهاز لتلقّي آخر تحديثات وقت تشغيل Android (ART) التي تتضمّن هذه التغييرات. يشكّل ذلك جزءًا من التزامنا بمنح التطبيقات بيئة أكثر اتساقًا وأمانًا على جميع الأجهزة، فضلاً عن تقديم ميزات وإمكانات جديدة للمستخدمين بشكل مستقل عن إصدارات النظام الأساسي.

إنّ Java وOpenJDK هما علامتان تجاريتان أو علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.

تحسينات لمتاجر التطبيقات

يقدّم Android 14 العديد من واجهات برمجة تطبيقات PackageInstaller التي تسمح لمتاجر التطبيقات بتحسين تجربة المستخدم.

طلب الموافقة على التثبيت قبل التنزيل

قد يتطلب تثبيت أحد التطبيقات أو تحديثه موافقة المستخدم. على سبيل المثال، عندما يحاول مثبِّت يستخدم إذن REQUEST_INSTALL_PACKAGES تثبيت تطبيق جديد. في إصدارات Android السابقة، لا يمكن لمتاجر التطبيقات طلب موافقة المستخدم إلا بعد كتابة ملفات APK في جلسة التثبيت وتكون الجلسة الملزَمة.

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

المطالبة بالمسؤولية عن التحديثات المستقبلية

تسمح طريقة setRequestUpdateOwnership() للمثبت بالإشارة إلى النظام إلى أنه ينوي أن يكون مسؤولًا عن التحديثات المستقبلية للتطبيق الذي يثبّته. وتتيح هذه الميزة فرض تحديث الملكية، ما يعني أنّه يُسمح فقط لمالك التحديث بتثبيت التحديثات التلقائية للتطبيق. ويساعد تحديث فرض الملكية على ضمان تلقّي المستخدمين للتحديثات من متجر التطبيقات المتوقّع فقط.

يجب أن يحصل أي مثبّت آخر، بما في ذلك مَن يستفيد من إذن INSTALL_PACKAGES، على موافقة صريحة من المستخدم لتثبيت التحديث. إذا قرر المستخدم متابعة تحديث من مصدر آخر، ستفقد ملكية التحديث.

تحديث التطبيقات في أوقات أقل إزعاجًا

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

بدءًا من نظام التشغيل Android 14، تمنح واجهة برمجة التطبيقات InstallConstraints API للمثبّتي التطبيق طريقة لضمان إجراء تحديثات التطبيقات في الوقت المناسب. على سبيل المثال، يمكن لمتجر التطبيقات استدعاء طريقة commitSessionAfterInstallConstraintsAreMet() للتأكّد من إجراء تحديث فقط عندما لا يتفاعل المستخدم مع التطبيق المعنيّ.

تثبيت التقسيمات الاختيارية بسلاسة

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

في نظام التشغيل Android 14، تسمح طريقة setDontKillApp() لأداة التثبيت بالإشارة إلى أنّه يجب عدم إيقاف عمليات التشغيل في التطبيق عند تثبيت أقسام جديدة. يمكن لمتاجر التطبيقات استخدام هذه الميزة لتثبيت ميزات جديدة للتطبيق بسلاسة أثناء استخدام المستخدم للتطبيق.

حِزم البيانات الوصفية للتطبيق

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

رصد الحالات التي يلتقط فيها المستخدمون لقطات شاشة للجهاز

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

تجربة المستخدم

إجراءات مخصّصة في "قائمة مشاركة البيانات" وترتيب محسَّن

يُعدّل نظام التشغيل Android 14 جدول مشاركة النظام ليتيح إجراءات التطبيقات المخصّصة ونتائج معاينة أكثر فائدة للمستخدمين.

إضافة إجراءات مخصّصة

باستخدام Android 14، يمكن لتطبيقك إضافة إجراءات مخصصة إلى ورقة مشاركة النظام التي تستدعيها.

لقطة شاشة للإجراءات المخصّصة في قائمة المشاركة

تحسين ترتيب أهداف "المشاركة المباشرة"

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

صف "المشاركة المباشرة" في قائمة المشاركة، كما هو موضّح في 1

دعم الصور المتحركة المدمَجة والمخصَّصة لإظهار ميزة "الظهور التلقائي"

فيديو: رسوم متحركة توقّعية تظهر في الخلف

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

يتضمّن Android 14 تحسينات متعدّدة وإرشادات جديدة لميزة "الرجوع إلى الشاشة السابقة":

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

عمليات الإلغاء حسب الشركة المصنّعة للجهاز ذي الشاشة الكبيرة

تتيح عمليات إلغاء الإعدادات على مستوى التطبيق لصنّاع الأجهزة تغيير سلوك التطبيقات على الأجهزة ذات الشاشات الكبيرة. على سبيل المثال، عند إلغاء FORCE_RESIZE_APP، يتم توجيه النظام لتغيير حجم التطبيق ليلائم أبعاد العرض (وتجنُّب وضع توافق الحجم) حتى في حال ضبط resizeableActivity="false" في بيان التطبيق.

تهدف عمليات الإلغاء إلى تحسين تجربة المستخدم على الشاشات الكبيرة.

تتيح لك سمات البيان الجديدة إيقاف بعض عمليات إلغاء الشركة المصنّعة للجهاز لتطبيقك.

عمليات إلغاء مستخدم الشاشة الكبيرة لكل تطبيق

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

يتيح نظام Android 14 QPR1 للمستخدمين تطبيق عمليات الإلغاء لكل تطبيق من خلال قائمة إعدادات جديدة على الأجهزة ذات الشاشات الكبيرة.

مشاركة شاشة التطبيق

تتيح ميزة "مشاركة شاشة التطبيق" للمستخدمين مشاركة نافذة تطبيق بدلاً من شاشة الجهاز بأكملها أثناء تسجيل محتوى الشاشة.

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

تعمل ميزة "مشاركة شاشة التطبيقات" على تحسين الإنتاجية والخصوصية من خلال السماح للمستخدمين بتشغيل تطبيقات متعددة مع حصر مشاركة المحتوى بتطبيق واحد.

ميزة "الرد السريع" المستندة إلى نموذج لغوي كبير (LLM) في Gboard على هاتف Pixel 8 Pro

على أجهزة Pixel 8 Pro التي تم إطلاق ميزاتها في شهر كانون الأول (ديسمبر)، يمكن للمطوّرين تجربة ردود سريعة عالية الجودة في Gboard تستند إلى النماذج اللغوية الكبيرة (LLM) المتوفّرة على الجهاز والتي تعمل على Google Tensor.

هذه الميزة متاحة كمعاينة محدودة باللغة الإنجليزية الأمريكية في WhatsApp وLine وKakaoTalk. يتطلّب الأمر استخدام جهاز Pixel 8 Pro مع Gboard كلوحة مفاتيح.

لتجربتها، يجب أولاً تفعيلها من خلال الإعدادات > خيارات المطوّرين > إعدادات AiCore > تفعيل Aicore Persistent.

بعد ذلك، افتح محادثة في تطبيق متوافق لعرض ميزة "الرد السريع" المستندة إلى النموذج اللغوي الكبير (LLM) في شريط الاقتراحات على Gboard استجابةً للرسائل الواردة.

يستخدم تطبيق Gboard النماذج اللغوية الكبيرة على الجهاز لتوفير ردود سريعة عالية الجودة.

الرسومات

المسارات القابلة للاستعلام والدمج

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

لإنشاء Path، يمكنك استدعاء طرق مثل moveTo() وlineTo() و cubicTo() لإضافة مقاطع المسار. ولكن لم تكن هناك طريقة فاطلب من هذا المسار ماهية المقاطع، لذا يجب عليك الاحتفاظ بهذه المعلومات في وقت الإنشاء.

بدءًا من الإصدار 14 من نظام Android، يمكنك طلب البحث عن المسارات لمعرفة محتوى تلك المسارات. أولاً، يجب الحصول على كائن PathIterator باستخدام واجهة برمجة التطبيقات Path.getPathIterator:

Kotlin

val path = Path().apply {
    moveTo(1.0f, 1.0f)
    lineTo(2.0f, 2.0f)
    close()
}
val pathIterator = path.pathIterator

Java

Path path = new Path();
path.moveTo(1.0F, 1.0F);
path.lineTo(2.0F, 2.0F);
path.close();
PathIterator pathIterator = path.getPathIterator();

بعد ذلك، يمكنك طلب PathIterator لتكرار الشرائح. واحد تلو الآخر، لاسترداد جميع البيانات الضرورية لكل قطاع. هذا المثال تستخدم كائنات PathIterator.Segment التي تعمل على تجميع البيانات من أجلك:

Kotlin

for (segment in pathIterator) {
    println("segment: ${segment.verb}, ${segment.points}")
}

Java

while (pathIterator.hasNext()) {
    PathIterator.Segment segment = pathIterator.next();
    Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints());
}

لدى PathIterator أيضًا إصدار غير مخصّص من next() يمكنك تمريره. في مورد احتياطي للاحتفاظ ببيانات النقطة.

إحدى حالات الاستخدام المهمة للاستعلام عن بيانات Path هي الاستيفاء. بالنسبة على سبيل المثال، قد تحتاج إلى تحريك (أو تحويل) بين مسارين مختلفين. إلى لتبسيط حالة الاستخدام هذه، يتضمّن Android 14 interpolate() في Path. وبافتراض أن المسارين لهما البنية الداخلية نفسها، تنشئ الطريقة interpolate() Path جديدًا مع تلك النتيجة المضمَّنة. يعرض هذا المثال مسارًا يكون شكله منتصف الطريق (استكمال خطي لـ .5) بين path وotherPath:

Kotlin

val interpolatedResult = Path()
if (path.isInterpolatable(otherPath)) {
    path.interpolate(otherPath, .5f, interpolatedResult)
}

Java

Path interpolatedResult = new Path();
if (path.isInterpolatable(otherPath)) {
    path.interpolate(otherPath, 0.5F, interpolatedResult);
}

تتيح مكتبة Graphics-path في Jetpack واجهات برمجة تطبيقات مشابهة لما يلي: في الإصدارات السابقة من Android كذلك.

شبكات مخصّصة مع أدوات تظليل الأجزاء برأسي وأجزاء

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

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

عارض المخزن المؤقت للأجهزة للوحة الرسم

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