رموز تصميم المصنّعين الأصليّين للأجهزة هي تطبيقات Android Automotive OS (AAOS) التي تُنفِّذ نظام Material Design. على عكس النهج المستنِد إلى الخوارزميات أو اختيار المستخدم لقيم الرموز المميّزة على الأجهزة الجوّالة، تحدّد المصنّعين الأصليّين للأجهزة قيم الرموز المميّزة للتصميم. تمثّل الرموز المصمّمة قرارات التصميم الصغيرة والمتكرّرة التي تشكّل النمط المرئي لنظام التصميم، وتستبدِل القيم الثابتة بأسماء توضّح نفسها بنفسها. تكون الرموز المميّزة مشابهةً لتلك التي يحدّدها نظام Material Design.
مكتبة رموز المصنّعين الأصليين للأجهزة
تتم الإشارة إلى الرموز المميّزة لتصميمات المصنّعين الأصليين للأجهزة من خلال مكتبة الرموز المميّزة لتصميمات المصنّعين الأصليين للأجهزة، والتي تتألف من المكونات الثلاثة الموضحة في الشكل 1.
الشكل 1: مكونات مكتبة الرموز المميّزة لمصنّعي الأجهزة الأصليين
مكتبة ثابتة
يسهّل مكوّن المكتبة الثابتة في مكتبة رموز OEM الوصول إلى قيم الرموز على النحو التالي:
- يوفّر واجهات برمجة تطبيقات للوصول إلى قيم المصنّعين الأصليّين للأجهزة للرموز المميّزة.
- يتيح هذا الخيار تفعيل إلغاء مراجع الرموز المميّزة في المظهر باستخدام قيم المصنّع الأصلي للسيارة.
المكتبة المشتركة
يتولّى مكوّن المكتبة المشتركة تحديد ما يلي:
- اسم المكتبة.
- موافقة منطقية لتفعيل قيم رمز موفِّر الجهاز الأصلي
- النمط الذي يقدّم قيم الرموز المميّزة لمصنّع المعدّات الأصلية
لاستيعاب ملكية المصنّع الأصلي للجهاز لمكوّن المكتبة المشتركة هذا، بما في ذلك اسم الحزمة الذي يحدّده المصنّع الأصلي للجهاز، يمكن للمصنّعين الأصليين للأجهزة إنشاء عملية إلغاء لتنفيذ المكتبة المشتركة.
الشكل 2: إلغاء تنفيذ مكتبة مشتركة
المكتبة المشتركة لمصنعي الأجهزة الأصليين
إنّ إلغاء المصنّعين الأصليّين للأجهزة لمكوّن المكتبة المشتركة يسمح لهم بملكية المكتبة مع الحفاظ على التوافق مع المكوّنات الأخرى في مكتبة الرموز المميّزة للمصنّعين الأصليّين من خلال توفير وسيلة لتحديد اسم الحزمة وتوقيعها من قِبل المصنّعين الأصليّين للأجهزة مع ترك تنفيذ المكتبة المشترَكة بدون أي تعديل.
يمكن تحديد عمليات الاستبدال لإحدى المكتبات المشتركة كما هو موضّح أدناه:
override_android_app { name: "[OEM]-token-shared-lib", base: "token-shared-lib", package_name: "com.[OEM].sharedlib", rename_resources_package: false, certificate: … }
لضبط قيم الرموز المميّزة، اطّلِع على تحديد قيم الرموز المميّزة لمصنّعي المعدّات الأصلية.
تخصيصات المكتبة المشتركة الخاصة بالمصنّع الأصلي للجهاز
لتتوافق مع المخططات المختلفة لقيم الرموز المميّزة (على سبيل المثال، التفريق بين الطراز أو وضع القيادة)، يمكن لصنّاع السيارات الأصليين توفير قيم ديناميكية للرموز المميّزة من خلال استهداف مكتبة المصنّع الأصلي للسيارة المشتركة باستخدام "تراكبات موارد وقت التشغيل" (RRO). لمزيد من المعلومات، اطّلِع على مقالة تغيير قيمة موارد التطبيق أثناء التشغيل.
لضبط قيم الرموز المميّزة، اطّلِع على تحديد قيم الرموز المميّزة لمصنّعي المعدّات الأصلية.
تحديد قيم الرموز المميّزة لمصنّع الجهاز الأصلي
لتحديد قيم الرموز المميّزة، اضبط السمة المقابلة في النمط OemStyle
على
القيمة المطلوبة.
<resources> <style name="OemStyle"> <item name="colorPrimary">#B0C5FF</item> <item name="colorOnPrimary">#002B76</item> <item name="colorPrimaryContainer">#003FA4</item> <item name="colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
تفعيل قيم المصنّع الأصلي للجهاز
لكي تتمكّن التطبيقات من الوصول إلى قيم الرموز المميّزة التي يوفّرها المصنّعون الأصليون للأجهزة، عليهم أولاً تفعيل إلغاء قيم الرموز المميّزة التلقائية من خلال ضبط القيمة المنطقية enable_oem_tokens
على true
.
قيم الرموز المميّزة لميزة "تراكب الموارد في الوقت الفعلي"
على غرار طريقة ضبط قيم الرموز المميّزة في OemStyle
، يمكن استخدام طلبات البحث على شبكة البحث لتعديل
style لتقديم قيم رموز مميّزة بديلة.
<resources> <style name="OemStyle"> <item name="com.android.oem.tokens:colorPrimary">#B0C5FF</item> <item name="com.android.oem.tokens:colorOnPrimary">#002B76</item> <item name="com.android.oem.tokens:colorPrimaryContainer">#003FA4</item> <item name="com.android.oem.tokens:colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
يجب أن تضبط طلبات البحث على شبكة البحث (RRO) سمات المكتبة المشتركة على التصميم من خلال تحديد اسم المكتبة المشترَكة.
ضبط التحميل لاحقًا
في الأنظمة التي تتضمّن تنفيذًا من المصنّع الأصلي للجهاز لمكتبة مشترَكة للرموز المميّزة، يجب ضبط النظام لتحميل المكتبة المشتركة بعد فئات التطبيق. لإجراء ذلك، أدرِج اسم المكتبة
(com.android.oem.tokens
) في ملف config_sharedLibrariesLoadedAfterApp
الإعدادات على النظام. إذا كان بإمكانك الوصول إلى "خدمات Google للسيارات" (GAS)، يتم فرض هذا الإجراء كأحد
المتطلّبات.
<!-- The OEM token shared library will be loaded after app classes --> <string-array name="config_sharedLibrariesLoadedAfterApp" translatable="false"> <item>com.android.oem.tokens</item> </string-array>
أفضل الممارسات
في ما يلي أفضل الممارسات المتعلقة بمكتبة الرموز المميّزة لمصنّعي المعدّات الأصلية.
تفعيل استراتيجية تحديث مرنة
اطّلِع على الاستراتيجيات أدناه لضمان توفير المرونة في ما يتعلّق بالتعديلات.
المكتبة المشتركة لمصنعي الأجهزة الأصليين
بما أنّه يجب تثبيت المكتبات المشتركة مع النظام مسبقًا على صور النظام، يجب أن تأتي الأجهزة مزوّدة بالمكتبة أو يجب إضافتها كجزء من تحديث عبر شبكة غير سلكية (OTA) (لمعرفة المزيد، يُرجى الاطّلاع على التحديثات عبر شبكة غير سلكية (OTA)). ومع ذلك، فإنّ تضمين تنفيذ رمز مثبّت لتجاوز رمز مميّز خاص بالمصنع الأصلي للجهاز في مكتبة مشترَكة لرمز مميّز خاص بالمصنع الأصلي للجهاز على صورة نظام يسمح بطرح تحديث لتطبيق يعمل بشكل كامل على الأجهزة في تاريخ لاحق بدون الحاجة إلى تحديث عبر الهواء.
طلبات الحصول على إذن بالوصول إلى المكتبة المشتركة
على الرغم من أنّه ليس من الضروري تثبيت تطبيقات RRO كتطبيقات نظام، إلا أنّ إجراء ذلك يوفر بعض سلوكيات التحديث التي قد تكون مطلوبة.
- التحديثات التلقائية للتطبيقات عندما لا يكون المستخدمون مسجّلين الدخول
- لا يمكن للمستخدم إلغاء تثبيته (يمكن للمستخدمين إلغاء تثبيت التحديثات فقط).