نظام التشغيل Android Automotive هو إصدار من Android تم تحسينه للاستخدام داخل السيارة، وهو يوسّع نطاق نظام Android الأساسي. تعمل السيارات "مع تجربة Google المتكاملة" بنظام التشغيل Android Automotive وتتضمّن تطبيقات وخدمات Google، بما في ذلك Google Play وGemini و"مساعد Google" و"خرائط Google".
التعرّف على أجهزة نظام التشغيل Android Automotive
لمزيد من المعلومات حول الحد الأدنى من مواصفات الأجهزة التي تعمل بنظام التشغيل Android Automotive ، يُرجى الاطّلاع على قسم متطلبات Automotive في مستند تعريف معايير التوافق (CDD) لنظام التشغيل Android لإصدارات Android التي يتوافق معها تطبيقك.
صور مقطوعة للشاشة
كما هو الحال مع أشكال أجهزة Android الأخرى، تتيح الأجهزة التي تعمل بنظام التشغيل Android Automotive عرض الصور المقطوعة للشاشة على الشاشات غير المستطيلة. ومع ذلك، يمكن أن يختلف حجم وشكل الصور المقطوعة في السيارات عن تلك الموجودة في أشكال الأجهزة الأخرى. يُرجى الاطّلاع على مقالة استخدام حواف النوافذ والصور المقطوعة للشاشة للحصول على إرشادات مفصّلة.
الصوت
تكون الأجهزة التي تعمل بنظام التشغيل Android Automotive بشكل عام أجهزة ذات مستوى صوت ثابت. لمزيد من المعلومات حول كيفية تأثير ذلك في تطبيقك، يُرجى الاطّلاع على مقالة العمل مع الأجهزة ذات مستوى الصوت الثابت.
التعرّف على برنامج نظام التشغيل Android Automotive
على الرغم من أنّ نظام التشغيل Android Automotive يستند إلى نظام التشغيل الأساسي نفسه الذي تستخدمه أشكال الأجهزة الأخرى، فإنّه يتضمّن بعض الميزات الإضافية الفريدة التي يمكن أن تؤثر في طريقة تطوير التطبيقات واستخدامها.
واجهة مستخدِم النظام
هناك بعض الاختلافات في طريقة عمل عناصر واجهة مستخدِم النظام هذه في السيارات، ويجب أن تكون على دراية بها.
التنقل
على عكس أشكال الأجهزة الأخرى، لا يُطلب من الأجهزة التي تعمل بنظام التشغيل Android Automotive توفير زر رجوع مادي أو برمجي. عند عدم تشغيل التطبيق في
وضع التوافق، يجب أن تتضمّن الأنشطة التي ينفّذها تطبيقك عناصر واجهة مستخدِم
لتفعيل التنقّل داخل التطبيق من أجل استيفاء إرشادات الجودة
AN-1.
تنسيق شريط النظام
كما هو الحال مع أشكال الأجهزة الأخرى، يتضمّن نظام التشغيل Android Automotive أشرطة النظام مثل أشرطة الحالة وأشرطة التنقّل. في السيارات، قد يتم تغيير حجم هذه الأشرطة وموضعها مقارنةً بأشكال الأجهزة الأخرى. على سبيل المثال، قد يتم وضع أشرطة التنقّل على يسار الشاشة أو يمينها أو أسفلها. حتى في حال توفّر شريط حالة في أعلى الشاشة وشريط تنقّل في أسفلها (كما هو الحال في معظم الهواتف والأجهزة اللوحية)، من المرجّح أن يكون حجم هذه العناصر أكبر بكثير في السيارات.
بالإضافة إلى ذلك، على الرغم من أنّ الصور المقطوعة للشاشة على الأجهزة الجوّالة تكون بشكل عام ضمن حدود أشرطة النظام، فإنّ هذا ليس هو الحال في السيارات.
يُرجى الاطّلاع على مقالة استخدام حواف النوافذ والصور المقطوعة للشاشة للحصول على إرشادات مفصّلة.
الوضع المجسم
يتيح نظام التشغيل Android Automotive للمصنّعين الأصليين للأجهزة التحكّم في ما إذا كان بإمكان التطبيقات إظهار أشرطة النظام أو إخفائها للدخول إلى الوضع المجسم والخروج منه. من خلال منع التطبيقات من إخفاء أشرطة النظام، يمكن للمصنّعين الأصليين للأجهزة ضمان إمكانية الوصول دائمًا إلى عناصر التحكّم في السيارة، مثل عناصر التحكّم في المناخ، على الشاشة.
قيود تجربة المستخدم
قيود تجربة المستخدم هي إمكانية مضمّنة في نظام التشغيل Android Automotive للتعامل مع اعتبارات تشتيت انتباه السائق. تتولى قيود تجربة المستخدم تلقائيًا منع استخدام التطبيقات التي لم يتم تحسينها للاستخدام أثناء القيادة.
يحدّد مصنّعو المركبات قواعد تفعيل قيود تجربة المستخدم وكيفية تفعيلها. يمكن أن تختلف هذه القواعد حسب المنطقة الجغرافية، على سبيل المثال، قد يكون للمركبة نفسها التي يتم بيعها في أوروبا قواعد مختلفة عن تلك التي يتم بيعها في الولايات المتحدة.
يمكن أن تختلف قواعد قيود تجربة المستخدم أيضًا حسب الشاشة داخل المركبة. على سبيل المثال، قد يتم فرض قيود على شاشة مركزية في مجال رؤية السائق أثناء تحرّك المركبة، بينما تظل شاشة الراكب غير مقيّدة.
إذا كان تطبيقك بحاجة إلى التكيّف مع قيود تجربة المستخدم، يُرجى الرجوع إليها مباشرةً وعدم إجراء هندسة عكسية لتنفيذها. على سبيل المثال، إذا افترضت أنّ قيود تجربة المستخدم مفعّلة عندما لا يكون ناقل الحركة في وضع التوقّف، قد تقيّد بلا داعٍ تطبيقًا يتم تشغيله على شاشة الراكب.
تحسين تخفيف الإلهاء
تلقائيًا، لا يمكن تشغيل الأنشطة أثناء تفعيل قيود تجربة المستخدم للحدّ من مصادر تشتيت انتباه السائق. للإشارة إلى النظام بأنّه يجب أن يستمر تشغيل نشاط
أثناء تحرّك المركبة، يمكن إضافة العنصر <meta-data>
التالي ضمن العنصر <activity> المقابل.
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
عند تطوير تطبيقات لنظام التشغيل Android Automotive، يجب أن تظهر هذه البيانات الوصفية
في ملف البيان فقط عند تعريف <activity> عنصر البيان
لـ CarAppActivity لتطبيق تم إنشاؤه باستخدام مكتبة تطبيقات السيارات.
يجب عدم وضع علامة "متوافق مع إرشادات تخفيف الإلهاء" على أي أنشطة أخرى، وإذا تم ذلك، سيتم رفض تطبيقك عند إرساله إلى "متجر Google Play".
تسهيل الاستخدام
لا تتوفّر ميزات تسهيل الاستخدام لنظام التشغيل Android Automotive على نطاق واسع كما هو الحال في أشكال الأجهزة الأخرى. 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
OS على السيارات من خلال 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.hardware.wifiandroid.hardware.screen.portraitandroid.hardware.screen.landscapeandroid.hardware.camera
بالنسبة إلى الميزات التي تم الإعلان عنها صراحةً باستخدام android:required="true"، يمكنك إجراء
أحد الإجراءَين التاليَين:
- حذف عنصر
<uses-feature>إذا لم تكن الميزة مطلوبة ضمنيًا بطريقة أخرى. - الإعلان عن الميزة صراحةً باستخدام
android:required="false".
بالنسبة إلى الميزات المطلوبة ضمنيًا، يمكنك إجراء أحد الإجراءَين التاليَين:
- الإعلان عن الميزة صراحةً باستخدام
android:required="false". - إزالة قيم ملف البيان أو تعديلها التي تُنشئ المتطلبات الضمنية للميزة.
لا يؤثر تغيير إعلانات الميزات في ملف البيان في الأداء الفعلي لتطبيقك، لذا تحقَّق من أنّ تطبيقك لا يزال يعمل بشكلٍ صحيح بدون هذه الميزات.
الأسئلة الشائعة
ما هي المركبات "مع تجربة Google المتكاملة"؟
يُرجى الاطّلاع على الموقع الإلكتروني سيارات مع تجربة Google المتكاملة للحصول على قائمة بالمصنّعين الأصليين للأجهزة الذين لديهم طُرز مع تجربة Google المتكاملة. يمكن الحصول على مواصفات الأجهزة وتفاصيل الأجهزة الأخرى باستخدام قائمة الأجهزة في Play Console.