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

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

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

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

رموز تطبيقات مستوحاة من موضوع معين

مستخدم يختار استخدام رموز تطبيقات مستوحاة من موضوع معيّن
تفعيل رموز التطبيقات المستوحاة من موضوع معيّن على نظام التشغيل Android 13

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

لإتاحة هذه الميزة، يجب أن يوفّر تطبيقك رمزًا تكيّفيًا وآخر أحادي اللون، وأن يشير إلى رمز التطبيق الأحادي اللون من العنصر <adaptive-icon> في البيان. إذا فعّل المستخدم رموز التطبيق المستوحاة من موضوع معيّن (أي فعّل خيار الرموز المستوحاة من موضوع معيّن في إعدادات النظام)، وكان المشغّل يدعم هذه الميزة، سيستخدِم النظام تلوين الخلفية والمظهر اللذين اختارهما المستخدم لتحديد درجة اللون، التي سيتمّ تطبيقها بعد ذلك على رمز التطبيق الأحادي اللون.

لا تعرض الشاشة الرئيسية رمز التطبيق المستوحى من موضوع معيّن، بل تعرض بدلاً من ذلك رمز التطبيق التكيُّفي أو العادي - في أي من السيناريوهات التالية:

  • إذا لم يفعّل المستخدم رموز التطبيقات المستوحاة من موضوع معيّن
  • إذا كان تطبيقك لا يتضمّن رمز تطبيق أحادي اللون
  • إذا كان مشغّل التطبيقات لا يتوافق مع رموز التطبيقات المستوحاة من موضوع معيّن

لمعرفة مزيد من التفاصيل والتعليمات، يُرجى الاطّلاع على الرموز التكيُّفية.

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

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

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

  • إعدادات النظام: موقع مركزي يمكن للمستخدمين فيه اختيار لغة مفضَّلة لكل تطبيق.

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

  • واجهات برمجة التطبيقات الإضافية: تتيح واجهات برمجة التطبيقات العامة هذه، مثل طريقتَي setApplicationLocales() وgetApplicationLocales() في LocaleManager، السماح للتطبيقات بضبط لغة مختلفة عن لغة النظام في وقت التشغيل.

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

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

لن تتأثر التطبيقات التي لا تتيح اللغات المتعدّدة بهذه التغييرات.

دعم محسّن للنصوص واللغات

يتضمّن Android 13 العديد من الميزات التي تشمل تحسينات على النص واللغة لمساعدتك في تقديم تجربة أكثر تحسينًا، وهي موضّحة في الأقسام التالية:

الواصلة بشكل أسرع

الواصلة تجعل النص الملتف أسهل في القراءة وتساعد في جعل واجهة المستخدم أكثر تكيفًا. بدءًا من نظام التشغيل Android 13، يتم تحسين أداء الواصلة بنسبة تصل إلى 200% حتى تتمكّن من تفعيلها في TextView بدون أي تأثير تقريبًا في أداء العرض. لتفعيل الواصلة بشكل أسرع، استخدِم التردد fullFast أو normalFast في setHyphenationFrequency().

واجهات برمجة التطبيقات Text Conversion API

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

  1. أدخِل هيراغانا على أنّه اللفظ الصوتي لعبارة البحث (مثل مكان أو اسم تطبيق)
  2. استخدام لوحة المفاتيح لتحويل حروف هيراغانا إلى كانجي
  3. إعادة البحث باستخدام أحرف كانجي
  4. وأخيرًا احصل على نتائج البحث

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

تحسين ارتفاع الأسطر للنصوص البرمجية غير اللاتينية

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

ارتفاعات الأسطر التي تم اقتصاصها في Android 12 (الموضَّحة أعلاه) والتي تم تحديد مواضعها الآن بشكل أفضل ولم يتم اقتصاصها في Android 13 (أدناه).

تحسين التفاف النص باللغة اليابانية

بدءًا من نظام التشغيل Android 13، يمكن لـ TextViews التفاف النص بواسطة البونسيسو (أصغر وحدة من الكلمات التي تبدو طبيعية) أو عبارات بدلاً من كل حرف، لاستخدام التطبيقات اليابانية الأكثر دقة وقابلية للقراءة. يمكنك الاستفادة من هذا الالتفاف باستخدام android:lineBreakWordStyle="phrase" مع TextViews.

تم تفعيل التفاف النص باللغة اليابانية مع تفعيل نمط العبارة (أدناه) وبدون (أعلاه).

تعديلات مكتبة يونيكود

يضيف نظام التشغيل Android 13 أحدث التحسينات والإصلاحات والتغييرات المضمَّنة في Unicode ICU 70 وUnicode CLDR 40 وUnicode 14.0.

إليك بعض التغييرات البارزة:

  • الإنجليزية (كندا) en‑CA والإنجليزية (جمهورية الفلبين) en‑PH تستخدمان مراجع الترجمة باللغة الإنجليزية (الولايات المتحدة) en عند عدم توفّر موارد ترجمة بدلاً من الإنجليزية (المملكة المتحدة) en‑GB.
  • تم تقديم فئة الجمع many باللغة الإسبانية es، وit الإيطالية، والبرتغالية pt، والبرتغالية (البرتغال) pt‑PT. وعلى غرار اللغة الفرنسية التي تم تقديمها في CLDR v38، يُستخدم هذا الإجراء للأرقام الكبيرة.

الخطوط المتجهة للألوان

رمز تعبيري COLRv1 متّجه (لليسار) ورمز تعبيري صورة نقطية (لليمين)

بدءًا من نظام التشغيل Android 13، سيتضمّن النظام إمكانية عرض خطوط الإصدار 1 (COLRv1) وتعديل الرموز التعبيرية للنظام لتتوافق مع تنسيق COLRv1. COLRv1 هو تنسيق خط مضغوط للغاية يتم عرضه بسرعة ووضوح بأي حجم.

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

لمعرفة المزيد حول COLRv1، راجع الموارد التالية:

واجهة برمجة تطبيقات موضع الإعدادات السريعة

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

مربّع حوار يسأل المستخدم ما إذا كان يريد إضافة مربّع إلى &quot;الإعدادات السريعة&quot;

معاينة الحافظة

بدءًا من Android 13، يعرض النظام تأكيدًا مرئيًا عاديًا عند إضافة المحتوى إلى الحافظة. تؤدي عملية التأكيد الجديدة ما يلي:

  • لتأكيد نسخ المحتوى بنجاح.
  • توفّر معاينة للمحتوى المنسوخ.

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

نسخ/لصق التطبيق المصغّر
تظهر واجهة مستخدم جديدة عندما يدخل المحتوى إلى الحافظة.

إيماءة الرجوع التنبؤية

يقدّم نظام Android 13 إيماءة توقُّعية للظهر في أجهزة Android، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي. يتطلب دعم هذه الميزة تحديث تطبيقك.

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

Bluetooth LE Audio

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

MIDI 2.0

بدءًا من Android 13، يتوافق النظام مع معيار MIDI 2.0، بما في ذلك إمكانية توصيل أجهزة MIDI 2.0 عبر USB. ويقدِّم هذا المعيار ميزات مثل زيادة درجة الدقة لوحدات التحكم، ودعمًا أفضل للتجويد غير الغربي، وأداءً أكثر تعبيرًا باستخدام عناصر التحكّم في كل ملاحظة.

تحسينات في كفاءة شاشات البداية

يحسّن Android 13 كفاءة شاشات البداية المتحركة في واجهة برمجة تطبيقات Splash Screen

  • يستنتج النظام مدة تشغيل الصور المتحركة مباشرةً من AnimatedVectorDrawable. قبل استخدام نظام التشغيل Android 13، كان من الضروري ضبط windowSplashScreenAnimationDuration مباشرةً.

  • استخدِم السمة windowSplashScreenBehavior الجديدة للتحكّم بشكل أكبر في ما إذا كان تطبيقك يعرض دائمًا الرمز على شاشة البداية في Android 13 والإصدارات الأحدث.

للاطّلاع على المستندات التفصيلية، يُرجى الاطّلاع على شاشات البداية.

تحسينات ART

في نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يساعد ART في التبديل من الرموز البرمجية الأصلية وإليها بشكل أسرع بكثير، مع طلبات بيانات JNI الآن بشكل أسرع بمعدل يصل إلى 2.5 مرة. كما تم تعديل معالجة المراجع في وقت التشغيل لجعلها في الغالب لا تؤدي إلى الحظر، ما يؤدي إلى تقليل الاحتمالية. بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة التطبيقات Reference.refersTo() العامة لاسترداد العناصر التي لا يمكن الوصول إليها في وقت أقرب، وستلاحظ أنّ المترجم الفوري أصبح أسرع الآن بفضل عمليات البحث المحسّنة عن الفئات والطرق. تُجري أداة ART أيضًا عملية تحقُّق أكثر باستخدام رمز البايت أثناء التثبيت، مع تجنُّب تحمُّل تكاليف التحقّق في وقت التشغيل والحفاظ على سرعة أوقات بدء تشغيل التطبيق.

الخصوصية والأمان

تصدير آمن للمستلمين المسجَّلين استنادًا إلى السياق

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

تتوفّر إعدادات التصدير هذه على التطبيقات التي تنفّذ أحد الإجراءات التالية على الأقل:

  • يجب استخدام الفئة ContextCompat من الإصدار 1.9.0 أو الإصدارات الأحدث من مكتبة AndroidX Core.
  • استهدِف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث.

أداة اختيار الصور

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

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

إذن تشغيل جديد لأجهزة Wi-Fi المجاورة

يقدّم الإصدار Android 13 (المستوى 33 من واجهة برمجة التطبيقات) إذن تشغيل جديدًا في مجموعة أذونات NEARBY_DEVICES للتطبيقات التي تدير اتصالات الجهاز بنقاط وصول قريبة عبر شبكة Wi-Fi. يجب أن تذكر هذه التطبيقات الإذن الجديد، NEARBY_WIFI_DEVICES، عند طلب العديد من واجهات برمجة تطبيقات Wi-Fi المختلفة. بالإضافة إلى ذلك، ما دامت التطبيقات لا تحصل على الموقع الجغرافي من واجهات برمجة تطبيقات Wi-Fi، لن تحتاج إلى تقديم بيان عن إذن ACCESS_FINE_LOCATION عندما تستهدف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث.

مزيد من المعلومات حول إذن الوصول إلى أجهزة Wi-Fi القريبة

إذن جديد لاستخدام المنبّهات المحدَّدة الوقت

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

  • إذا كان تطبيقك عبارة عن منبّه أو تطبيق موقّت.
  • تطبيقك هو تطبيق في التقويم يعرض إشعارات للأحداث القادمة.

إذا كان تطبيقك يضبط المنبّهات المحدّدة الوقت ولكنه لا يستوفي أيًا من الحالةَين الموضّحة في القائمة السابقة، يمكنك مواصلة تقديم بيان عن إذن SCHEDULE_EXACT_ALARM بدلاً من ذلك، والاستعداد للموقف الذي يمنع فيه المستخدم الوصول إلى تطبيقك.

أذونات قابلة للرجوع إلى إصدار سابق من "مطوّر البرامج"

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

  • أزِل الأذونات غير المستخدَمة.
  • التزم بأفضل ممارسات الأذونات، مما يعزز ثقة المستخدمين. ننصحك بعرض مربّع حوار للمستخدمين يعرض الأذونات التي أبطلتها بشكل استباقي.

مخطّط توقيع حزمة APK - الإصدار 3.1

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

يستخدم مخطّط توقيع الإصدار 3.1 رقم تعريف كتلة غير معروف في الإصدار 12L أو أقل. وبالتالي، يطبّق النظام الأساسي السلوك التالي للموقِّع:

  • في الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، يتم استخدام الموقِّع الذي تم تدويره في الجزء 3.1.
  • تتجاهل الأجهزة التي تعمل بإصدارات قديمة من نظام التشغيل Android الموقِّع الذي تم تدويره، وتستخدم الموقِّع الأصلي بدلاً من ذلك في الجزء 3.0 من الجزء.

لا تتطلب التطبيقات التي لم تجري بعد تغيير مفتاح التوقيع أي إجراء إضافي. عندما تختار هذه التطبيقات التدوير، يطبق النظام مخطط توقيع الإصدار 3.1 تلقائيًا.

على التطبيقات التي تم تغييرها من قبل وتريد مواصلة استخدام مفتاح التوقيع الذي تم تدويره في مجموعة توقيع الإصدار 3.0 تعديل طلب apksigner الخاص بها، وذلك على النحو التالي:

apksigner sign --ks keystore.jks |
  --key key.pk8 --cert cert.x509.pem
  --rotation-min-sdk-version API_LEVEL
  [signer_options] app-name.apk

...حيث تكون قيمة API_LEVEL 32 أو أقل.

إعداد تقارير أفضل للأخطاء في Keystore وKeyMint

بالنسبة إلى التطبيقات التي تنشئ مفاتيح، يوفّر كل من Keystore وKeyMint الآن مؤشرات أخطاء أكثر تفصيلاً ودقة. أضفنا تدرجًا هرميًا لفئة الاستثناء ضمن java.security.ProviderException، مع استثناءات خاصة بنظام التشغيل Android تتضمّن رموز أخطاء Keystore/KeyMint، وما إذا كان الخطأ قابلاً لإعادة المحاولة. يمكنك أيضًا تعديل طرق إنشاء المفتاح واستخدامه (التوقيع والتشفير) لتطبيق الاستثناءات الجديدة. لا تقتصر عملية الإبلاغ عن الأخطاء المُحسَّنة على إنشاء المفاتيح، ومن المفترض أن تمنحك الآن ما تحتاجه لإعادة محاولة إنشاء المفاتيح.

تناسب الجهاز اللوحي والشاشة الكبيرة

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

لمزيد من المعلومات حول الميزات الجديدة والعناصر التي يجب اختبارها، راجع صفحة إتاحة الأجهزة اللوحية والشاشات الكبيرة.

الرسومات

أدوات تظليل قابلة للبرمجة

أداة ظل متحركة AGSL مقتبَسة من أداة GLSL Shader.

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

تحسينات على مصمم الرقصات

يقدّم نظام Android 13 طرقًا عامة لواجهة برمجة التطبيقات لكل من Choreographer وASurfaceControl التي تزوّد التطبيقات بالمزيد من المعلومات عن المخططات الزمنية المحتملة للإطارات وتضيف مزيدًا من السياق إلى SurfaceFlinger نبذة عن مراحل نشاط الإطار. كما في السابق، يمكن للتطبيقات نشر مكالمة لمعاودة الاتصال على "Choreographer" وتلقّي معلومات حول المخطط الزمني للإطار. في Android 13 (المستوى 33 من واجهة برمجة التطبيقات)، يعرض Choreographer عدة أوقات محتملة للعروض التقديمية والمواعيد النهائية للإطارات المقابلة لها. يمكن للتطبيقات اختيار وقت العرض وإشعار SurfaceFlinger بعد ذلك بالاختيار. بعد ذلك، لا يحاول SurfaceFlinger تطبيق المعاملات أو المخازن المؤقتة قبل وقت العرض التقديمي المطلوب.

إذا كان تطبيقك يستخدم طريقتَي تصميم الرقصات وSurfaceControl الجديدتَين، يمكنك عرض مراحل نشاط لقطات التطبيق في تتبُّع Perfetto.

الكاميرا

التقاط فيديو بنطاق عالي الديناميكية

بدءًا من نظام التشغيل Android 13، تتوافق واجهات برمجة تطبيقات Camera2 مع إمكانية التقاط الفيديوهات بنطاق عالي الديناميكية (HDR)، ما يتيح لك معاينة محتوى الفيديو بنطاق عالي الديناميكية وتسجيله باستخدام الكاميرا. مقارنةً بالنطاق الديناميكي العادي (SDR)، يوفّر النطاق العالي الديناميكية نطاقًا أوسع من الألوان ويزيد من النطاق الديناميكي لمكوِّن الإضاءة (بدءًا من 100 قرص مضغوط/متر مربّع الحالي إلى 1,000 قرص مضغوط/متر مربّع). يؤدي ذلك إلى الحصول على جودة فيديو تتطابق مع الواقع، بألوان أغنى وأقل سطوعًا وظلال أكثر قتامة.

لمعرفة المزيد من المعلومات حول ميزة التقاط فيديو بنطاق عالي الديناميكية، يمكنك الاطّلاع على مستندات التقاط فيديو بنطاق عالي الديناميكية.

الوسائط

الصوت المكاني

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

التوجيه الصوتي المسبق

لمساعدة تطبيقات الوسائط في تحديد كيفية توجيه الصوت، يقدِّم Android 13 واجهات برمجة تطبيقات مسار الصوت في الفئة AudioManager. تتيح لك getAudioDevicesForAttributes() واجهة برمجة التطبيقات استرداد قائمة بالأجهزة التي يمكن استخدامها لتشغيل الصوت المحدّد، وتساعدك واجهة برمجة التطبيقات getDirectProfilesForAttributes() في معرفة ما إذا كان من الممكن تشغيل البث الصوتي مباشرةً. استخدِم واجهات برمجة التطبيقات هذه لتحديد أفضل AudioFormat يمكن استخدامها للمقطع الصوتي.

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

الوصف الصوتي

يقدّم نظام Android 13 (المستوى 33 لواجهة برمجة التطبيقات) إعدادات مفضّلة جديدة لتسهيل الاستخدام على مستوى النظام، ما يتيح للمستخدمين تفعيل أوصاف الصوت في جميع التطبيقات. الوصف الصوتي هو عبارة عن مسار سرد إضافي يتكون من راوٍ يتحدث من خلال العرض التقديمي ويصف ما يحدث على الشاشة أثناء الوقفات الطبيعية في الصوت. يمكن للتطبيقات اتّباع الإعدادات المفضّلة التي يفضّلها المستخدم في مقاطع الوصف الصوتي من خلال إجراء طلب بحث عنها باستخدام isAudioDescriptionRequested()، كما هو موضّح في مقتطف الرمز التالي:

Kotlin


private lateinit var accessibilityManager: AccessibilityManager

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)

// Where your media player is initialized
if (accessibilityManager.isAudioDescriptionRequested) {
    // User has requested to enable audio descriptions
}

Java


private AccessibilityManager accessibilityManager;

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);

// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
    // User has requested to enable audio descriptions
}

يمكن للتطبيقات رصد التغيّر الذي يفضّله المستخدم من خلال إضافة مستمع إلى AccessbilityManager:

Kotlin

private val listener =
    AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
        // Preference changed; reflect its state in your media player
    }

override fun onStart() {
    super.onStart()

    accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}

override fun onStop() {
    super.onStop()

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}

Java

private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
    // Preference changed; reflect its state in your media player
};

@Override
protected void onStart() {
    super.onStart();

    accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}

@Override
protected void onStop() {
    super.onStop();

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}

الوظيفة الأساسية

تحديثات OpenJDK 11

يبدأ Android 13 عملية تحديث مكتبات Android الأساسية لتتوافق مع إصدار OpenJDK 11 LTS مع كل من تحديثات المكتبة ودعم اللغة في Java 11 لمطوّري التطبيقات والأنظمة الأساسية. إنّ التغييرات الأساسية في المكتبة التي تم طرحها في نظام التشغيل Android 13 ستكون متوفّرة أيضًا للأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android من خلال تحديث نظام Google Play لوحدة ART Mainline.

يتضمّن Android 13 التغييرات التالية على المكتبات الأساسية:

  • دعم الكلمة الرئيسية var للمتغيرات المحلية وكمعلَمات lambdas.
  • طرق جديدة في فئة السلسلة:

    • isBlank()
    • lines()
    • repeat()
    • strip()
    • stripLeading()
    • stripTrailing()
  • يدعم Collection.toArray(IntFunction) لتسهيل تعديل مجموعة مع مصفوفة.

  • الدعم لـ "ifPresentOrElse()" و"isEmpty()" و"orElseThrow()" و"stream()" في java.util صفوف Optional وOptionalDouble وOptionalInt و OptionalLong.

  • دعم موسع لـ SocketOptions، بما في ذلك إعادة استخدام المقابس.

  • وظائف NullReader وNullWriter وInputStream وOutputStream وtransferTo() Reader التي تنقل الأحرف المقروءة إلى Writer.

  • تمت إضافة وظائف لترميز عناوين URL وفك ترميزها باستخدام Charsets.

  • وظائف Charset لكل من FileReader وFileWriter وPrintStream وPrintWriter.

  • الدوال transferTo() وreadNBytes() وreadAllBytes() وwriteBytes() الجديدة لـ ByteArrayInput أو OutputStream وInput أو OutputStream.

  • إتاحة وقت التشغيل وبرامج التجميع في java.lang.invoke.VarHandle.

  • يتم تحديث java.util.concurrent إلى OpenJDK 11 API باستخدام VarHandle داخليًا.

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