نظرة عامة على نظام التشغيل Android Automotive

واجهة مستخدم نظام التشغيل Android Automotive
الشكل 1: نظام التشغيل Android Automotive

‫نظام التشغيل Android Automotive هو إصدار من نظام التشغيل Android تم تحسينه للاستخدام داخل السيارة، وهو يعتمد على نظام Android الأساسي. تعمل السيارات المزوّدة بتجربة Google المتكاملة بنظام التشغيل Android Automotive، وتتضمّن تطبيقات Google وخدماتها، بما في ذلك Google Play وGemini و"مساعد Google" و"خرائط Google".

مزيد من المعلومات حول أجهزة نظام التشغيل Android Automotive

لمزيد من المعلومات حول الحد الأدنى من مواصفات الأجهزة لأجهزة نظام التشغيل Android Automotive، يُرجى الاطّلاع على قسم متطلبات Automotive في مستند تعريف معايير التوافق مع Android (CDD) لإصدارات Android التي يتوافق معها تطبيقك.

الأجزاء المقطوعة من الشاشة

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

الصوت

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

التعرّف على برامج نظام التشغيل Android Automotive

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

واجهة مستخدِم النظام

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

على عكس عوامل الشكل الأخرى، لا يشترط توفُّر زر رجوع مادي أو برمجي في أجهزة Android Automotive OS ‎. عندما لا يتم تشغيل الأنشطة التي ينفّذها تطبيقك في وضع التوافق، يجب أن تتضمّن هذه الأنشطة عناصر واجهة مستخدم تتيح التنقّل داخل التطبيق لاستيفاء إرشادات الجودة AN-1.

تنسيق شريط النظام

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

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

يمكنك الاطّلاع على استخدام هوامش النوافذ وفتحات الشاشة للحصول على إرشادات مفصّلة.

الوضع المجسم

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

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

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

النشاط الذي يحظر عرض نشاط آخر فوق تطبيق لم يتم وضع علامة عليه كمتوافق مع ميزة "التركيز".
الشكل 2: تطبيق يتم حظره بسبب قيود تجربة المستخدم

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

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

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

تخفيف الإلهاء

بشكلٍ تلقائي، لا يمكن تشغيل الأنشطة عندما تكون قيود تجربة المستخدم نشطة للحدّ من تشتيت انتباه السائق. للإشارة إلى النظام بأنّ أحد الأنشطة يجب أن يستمر في العمل أثناء تحرّك المركبة، يمكن إضافة العنصر <meta-data> التالي ضمن العنصر <activity> ذي الصلة.

<activity ...>
  <meta-data android:name="distractionOptimized" android:value="true">
</activity>

عند تطوير تطبيقات لنظام التشغيل Android Automotive، يجب ألا تظهر هذه البيانات الوصفية في ملف البيان إلا عند تعريف عنصر <activity> في ملف البيان الخاص CarAppActivity بتطبيق تم إنشاؤه باستخدام "مكتبة تطبيقات السيارات". يجب عدم وضع علامة "محسّن لعدم المقاطعة" على أي أنشطة أخرى، وإذا تم ذلك، سيتم رفض تطبيقك عند إرساله إلى "متجر Google Play".

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

لا تتوفّر أدوات تسهيل الاستخدام على &quot;نظام التشغيل Android Automotive&quot; بشكل موسّع كما هو الحال على أشكال الأجهزة الأخرى. لا تتوفّر خدمات TalkBack والوصول عبر مفتاح تحكّم والوصول الصوتي على أجهزة نظام التشغيل Android Automotive.

تتوفّر إعدادات الترجمة والشرح على الأجهزة التي تعمل بنظام التشغيل Android Automotive. يمكنك الاطّلاع على اعتماد إعدادات الترجمة والشرح في النظام لمعرفة تفاصيل الدمج.

اختيار الشبكة

يتوافق نظام التشغيل Android Automotive مع ميزة "اختيار الشبكة لكل تطبيق" (PANS)، التي تتيح لمصنّعي المعدات الأصلية توجيه حركة بيانات شبكة الجوّال إلى شبكات مختلفة لكل تطبيق على حدة.

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

ميزات النظام

يمكنك رصد ما إذا كانت ميزة معيّنة متاحة باستخدام PackageManager::hasSystemFeature وتعديل سلوك تطبيقك وفقًا لذلك.

ميزات الأجهزة

وكما هو الحال مع الأجهزة الأخرى غير الجوّالة، قد تختلف ميزات الأجهزة المتوفّرة في السيارات عن تلك المتوفّرة على الأجهزة الجوّالة.

اتجاه الشاشة

مثل أجهزة التلفزيون، السيارات هي أجهزة ذات اتجاه ثابت. وعلى عكس أجهزة التلفزيون، يمكن استخدامها في الوضعين العمودي والأفقي. لضمان إمكانية توزيع التطبيقات المصمَّمة لنظام التشغيل Android Automotive على جميع المركبات، يجب أن تضمن التطبيقات عدم وجود أي متطلبات صريحة أو ضمنية للميزات android.hardware.screen.landscape أو android.hardware.screen.portrait.

موقع الشبكة

لا تتضمّن العديد من أجهزة نظام التشغيل Android Automotive حزمة الاتصالات الهاتفية المستخدَمة لتوفير الموقع الجغرافي للشبكة، وبالتالي لا تعرض ميزة النظام android.hardware.location.network. على الرغم من أنّ الموقع الجغرافي المستند إلى الشبكة قد لا يكون متاحًا، سيظل بإمكانك الوصول إلى الموقع الجغرافي التقريبي. يمكنك الاطّلاع على الموقع الجغرافي التقريبي على نظام التشغيل Android Automotive.

ميزات البرامج

قد لا تتوفّر بعض ميزات البرامج الشائعة في أشكال الأجهزة الأخرى على الأجهزة التي تعمل بنظام التشغيل Android Automotive. على سبيل المثال، لا تتوفّر الميزات التالية في العديد من المركبات التي تعمل بنظام التشغيل Android Automotive:

استيفاء متطلبات ميزات Google Play

لكي يتم توزيع التطبيقات المخصّصة لنظام التشغيل Android Automotive على السيارات من خلال Google Play، يجب أن تتضمّن هذه التطبيقات العنصر <uses-feature> في ملف AndroidManifest.xml الخاص بالميزة android.hardware.type.automotive:

<manifest ...>
  ...
  <!--
    See Choose a track for Android Automotive OS
    for details on how to choose which value to use for the android:required attribute.
  -->
  <uses-feature
      android:name="android.hardware.type.automotive"
      android:required="[true|false]">
  ...
</manifest>

بالإضافة إلى ذلك، إذا كان تطبيقك يتضمّن أي بيان ميزة صريح مع android:required="true" أو متطلبات ميزة ضمنية لأي من الميزات التالية، عليك تعديلها أو إزالتها حتى لا تمنع متطلبات ميزات تطبيقك توزيعه على المركبات المتوافقة:

بالنسبة إلى الميزات التي تم الإعلان عنها صراحةً باستخدام android:required="true"، يمكنك إجراء أحد الإجراءات التالية:

  • احذف العنصر <uses-feature> إذا لم تكن الميزة مطلوبة بشكل ضمني.
  • عليك الإشارة إلى الميزة بوضوح باستخدام android:required="false".

بالنسبة إلى الميزات المطلوبة ضِمنيًا، يمكنك اتّخاذ أحد الإجراءات التالية:

  • عليك الإشارة إلى الميزة بوضوح باستخدام android:required="false".
  • عليك إزالة أو تعديل قيم ملف البيان التي تفرض شرطًا ضمنيًا على الميزة.

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

الأسئلة الشائعة

ما هي المركبات المزوّدة بتجربة Google المتكاملة؟

يمكنك الاطّلاع على موقع السيارات المزوّدة بتجربة Google المتكاملة للحصول على قائمة بالمصنّعين الأصليين للمركبات الذين لديهم طُرز مزوّدة بتجربة Google المتكاملة. يمكنك الحصول على مواصفات الأجهزة وتفاصيل الأجهزة الأخرى باستخدام &quot;قائمة الأجهزة&quot; في Play Console.