إدارة الأجهزة للسيارات

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

في مجال السيارات، نقدم فئتين لإدارة الأجهزة:

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

الأجهزة الشخصية

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

وبالتالي، لدينا مجموعة من واجهات برمجة التطبيقات لإدارة الأجهزة المدمجة مع قيود حالة محرك الأقراص. يمكن استدعاء واجهات برمجة التطبيقات هذه بواسطة أي تطبيق نظام (التطبيقات المثبتة مسبقًا في قسم النظام) بالأذونات الصحيحة.

واجهات برمجة التطبيقات لإدارة الأجهزة الشخصية

واجهة برمجة التطبيقات غاية
CarDevicePolicyManager.createUser()

إنشاء مستخدم جديد على الجهاز في الخلفية.

كيف يتفاعل مع حالة محرك الأقراص؟

يتم إنشاء مستخدم جديد في الخلفية، بغض النظر عن حالة محرك الأقراص.

CarDevicePolicyManager.RemoveUser()

إزالة مستخدم موجود على الجهاز.

كيف يتفاعل مع حالة محرك الأقراص؟

إذا كان المستخدم المستهدف موجودًا في:

  • الخلفية، تستمر العملية.
  • في المقدمة والسيارة متوقفة أو متوقفة ، تستمر العملية.
  • المقدمة والسيارة تتحرك ، تم طرح رمز الاستثناء.
DevicePolicyManager.lockNow()

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

كيف يتفاعل هذا مع حالة محرك الأقراص؟

إذا كان المستخدم المستهدف موجودًا في:

  • الخلفية ، تستمر العملية.
  • المقدمة والسيارة متوقفة أو متوقفة أو متحركة ، وتستمر إذا كان المستخدم في المقدمة (بغض النظر عن حالة القيادة)، أو تم تجاهله بخلاف ذلك. lockNow() غير مقيد بحالة تشتيت تجربة المستخدم.
DevicePolicyManager.resetPassword()

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

كيف يتفاعل مع حالة محرك الأقراص؟

إذا كان المستخدم المستهدف موجودًا في:

  • الخلفية ، تستمر العملية.
  • في المقدمة والسيارة متوقفة أو في وضع التباطؤ ، تستمر العملية.
  • المقدمة والسيارة تتحرك ، تم طرح رمز الاستثناء.
DevicePolicyManager.wipeData()

يؤدي إلى إعادة ضبط المصنع على الجهاز.

كيف يتفاعل مع حالة محرك الأقراص؟

بغض النظر عن حالة محرك الأقراص ( متوقف ، أو متوقف ، أو متحرك )، تستمر العملية. ينشر النظام إشعارًا لإبلاغ السائق بضرورة إعادة ضبط المصنع.

عندما تكون السيارة متوقفة، يمكن للسائق التفاعل مع الإشعار لاختيار إعادة ضبط الجهاز الآن أو لاحقًا (عند تشغيل السيارة في المرة التالية).

على سبيل المثال:

إشعار إعادة ضبط المصنع

الشكل 1. ينشر النظام إشعارًا عند تشغيل إعادة ضبط المصنع.

السيارة متوقفة

الشكل 2. عندما تكون السيارة متوقفة، يمكن للسائق التفاعل مع الإشعار لاختيار إعادة ضبط الجهاز الآن أو لاحقًا (عند تشغيل السيارة في المرة التالية).

يختار السائق إعادة تعيين

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

أجهزة المؤسسة

يمكن للأجهزة التي تعمل بنظام التشغيل Android Automotive والتي تعمل بنظام التشغيل Android 13 والإصدارات الأحدث أن تعلن دعمها لميزة android.software.device_admin لتمكين واجهات برمجة تطبيقات إدارة الأجهزة الخاصة بالمؤسسة (لمعرفة المزيد، راجع DevicePolicyManager ). يمكن للمؤسسة بعد ذلك استخدام تطبيق وحدة تحكم سياسة الجهاز (DPC) للتحكم في سياسات الجهاز المحلية وتطبيقات النظام على الجهاز.

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

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

يمكن لأي واجهة برمجة تطبيقات من رمز DevicePolicyManager > طرح استثناء (على سبيل المثال، إذا كانت السيارة تتحرك). يتم توفير قائمة جزئية من كود DevicePolicyManager > واجهات برمجة التطبيقات أدناه. لمعرفة المزيد، راجع نظرة عامة على إدارة الجهاز .

  • DevicePolicyManager.removeActiveAdmin()
  • DevicePolicyManager.setFactoryResetProtectionPolicy()
  • DevicePolicyManager.installCaCert()
  • DevicePolicyManager.uninstallCaCert()
  • DevicePolicyManager.installKeyPair()
  • DevicePolicyManager.removeKeyPair()

إدارة أجهزة المؤسسة لعدة مستخدمين

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

يمكن للمسؤول استخدام تطبيق وحدة تحكم سياسة الجهاز (DPC) كما هو موضح في إنشاء وحدة تحكم سياسة الجهاز للتحكم في السياسات على مستوى الجهاز أو السياسات الخاصة بالمستخدم.

تستخدم إصدارات السيارات عادةً وضع مستخدم النظام بدون رأس، وفي هذه الحالة سيتم تعيين وحدة تحكم سياسة الجهاز (DPC) على أنها مالك الجهاز (DO) لمستخدم النظام ومالك الملف الشخصي (PO) لكل مستخدم آخر. يجب على المسؤول البعيد أن ينضم إلى مستخدمي أمر الشراء، حيث أن بعض واجهات برمجة التطبيقات (مثل requestBugreport() ) متاحة فقط إذا كان جميع المستخدمين تابعين. ثم يجب على المسؤول البعيد تحديد DPC المناسب لتنفيذ الإجراءات. إذا كان الإجراء مرتبطًا بالجهاز (مثل إعادة ضبط المصنع من خلال wipeData() )، فيجب استخدام DO DPC. إذا كان مرتبطًا بمستخدم (مثل addUserRestriction() )، فيجب أن يستخدم PO DPC.

يحتاج تطبيق DPC إلى IPC بين DO وPO. نقترح واجهة برمجة تطبيقات Connect Apps الموضحة في تطبيقات العمل المتصلة والتطبيقات الشخصية .

لمزيد من المعلومات حول كيفية إدارة تطبيق DPC لمستخدمين متعددين، راجع المستخدمين التابعين .