دعم مستخدمين متعددين

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

المصطلحات

يستخدم نظام التشغيل Android المصطلحات التالية عند وصف مستخدمي Android وحساباتهم.

بنود عامة

تستخدم إدارة أجهزة Android البنود العامة التالية:

  • المستخدم: تم تصميم كل مستخدم ليستخدمه شخص فعلي مختلف شخص. لكل مستخدم بيانات تطبيق خاصة به وبعض الإعدادات الفريدة، مثل بالإضافة إلى واجهة مستخدم للتبديل بشكل صريح بين المستخدمين. يمكن للمستخدم الجري في الخلفية عندما يكون مستخدم آخر نشطًا؛ يدير النظام عملية إيقاف التشغيل للمستخدمين الحفاظ على الموارد عند الاقتضاء. يمكن إنشاء مستخدمين ثانويين إما مباشرةً من خلال واجهة المستخدم أو من أحد تطبيقات إدارة الجهاز.
  • الحساب: تكون الحسابات مضمّنة في المستخدم، ولكن لا يحدّدها المستخدم، ولا يتم تعريف المستخدم من خلال أي حساب معيّن أو ربطه به. تحتوي الملفات الشخصية على حسابات فريدة خاصة بها، ولكن ليس من المطلوب أن تكون حسابات نشطة. تختلف قائمة الحسابات حسب المستخدم. لمعرفة التفاصيل، يُرجى الرجوع إلى تعريف صف Account .
  • الملف الشخصي: فصل أحد الملفات الشخصية بيانات التطبيق ولكنه يشارك بعضًا منها الإعدادات على مستوى النظام (مثل Wi-Fi والبلوتوث) الملف الشخصي هو مجموعة فرعية وجود مستخدم ومرتبط به. يمكن أن يكون لدى المستخدم عدة ملفات شخصية. يتم إنشاء الملفات الشخصية من خلال أحد تطبيقات إدارة الجهاز. يكون للملف الشخصي دائمًا ارتباط دائم بمستخدم رئيسي يحدّده المستخدم الذي أنشأ الملف الشخصي. لا تسمح الملفات الشخصية موجودة بعد فترة بقاء المستخدم المنشئ.
  • التطبيق: تتوفّر بيانات التطبيق في كلّ مستخدم مرتبط به. يتم وضع الحماية لبيانات التطبيق الواردة من تطبيقات أخرى ضمن المستخدم نفسه. يمكن للتطبيقات التي يملكها المستخدم نفسه التفاعل مع بعضها البعض من خلال واجهة برمجة التطبيقات. لمعرفة التفاصيل، يُرجى الرجوع إلى مقالة Android للمؤسسات.

فئات المستخدمين

تستخدم إدارة أجهزة Android فئات المستخدمين التالية.

  • مستخدم النظام: تتم إضافة المستخدم الجديد إلى جهاز. لا يمكن إزالة مستخدم النظام إلا من خلال إعادة ضبط الجهاز على الإعدادات الأصلية، ويكون قيد التشغيل دائمًا حتى عندما يكون المستخدمون الآخرون في المقدّمة. يتمتع هذا المستخدم أيضًا بامتيازات خاصة الإعدادات التي يمكنه فقط ضبطها.
  • مستخدم النظام بلا واجهة مستخدم رسومية: هو المستخدم الأول الذي تتم إضافته إلى جهاز إذا تم ضبط الجهاز للعمل في وضع مستخدم النظام بلا واجهة مستخدم رسومية (من خلال ضبط ro.fw.mu.headless_system_user=true). يعمل مستخدم النظام بلا واجهة مستخدم رسومية دائمًا في الخلفية، لذا تتطلّب هذه الأجهزة مستخدمين إضافيين في المقدّمة لتفعيل تفاعل المستخدم.
  • المستخدم الثانوي: أي مستخدم تمت إضافته إلى الجهاز غير مستخدم النظام يمكن إزالة المستخدمين الثانويين (إما بأنفسهم أو من قِبل مشرف) ولا يمكنهم التأثير في المستخدمين الآخرين على الجهاز. يمكن لهؤلاء المستخدمين العمل في في الخلفية واستمرار اتصال الشبكة.
  • مستخدم ضيف: مستخدم ثانوي مؤقت. يتوفّر للمستخدمين الضيوف خيار صريح لحذف حساب المستخدم الضيف بسرعة عند انتهاء صلاحيته. لا يمكن أن يكون هناك سوى مستخدم ضيف واحد في كل مرة.
  • مستخدم مشرف: مستخدم لديه الإذن بإنشاء مستخدمين آخرين وإزالتهم، بالإضافة إلى التحكّم في بعض الإعدادات العامة للمستخدمين المتعدّدين. ويكون مستخدم النظام فقط هو المشرف تلقائيًا.

فئات الملفات الشخصية

يستخدم Android فئات الملفات الشخصية التالية:

  • ملف شخصي مُدار: يتم إنشاؤه من خلال تطبيق ويحتوي على بيانات العمل والتطبيقات. ويتم إدارتها حصريًا من قِبل مالك الملف الشخصي (التطبيق الذي أنشأ الملف الشخصي للشركة). شارِك المستخدم الرئيسي والملف الشخصي للشركة المشغِّل والإشعارات والمهام الأخيرة.
  • الملف الشخصي المحدود: يستخدم الحسابات المستندة إلى حساب أحد الوالدَين، والذي يمكنه التحكّم في التطبيقات المتاحة في الملف الشخصي المحدود. تتوفّر هذه الميزة على الأجهزة اللوحية وأجهزة التلفزيون فقط.
  • ملف شخصي مكرّر: يتيح Android إنشاء نوع مستخدم ملف شخصي مكرّر منفصل لتفعيل تشغيل نسختَين من تطبيق واحد على الجهاز. لا توفر AOSP الدعم الشامل للميزة. يجب على المصنّعين الأصليين للأجهزة إضافة تخصيصات لتسليم حجم لمستخدمي Android.
  • الملف الشخصي الخاص: هو مساحة محصورة منفصلة عن بقية أجزاء الجهاز، ويمكن قفلها بشكل منفصل عن المستخدم الرئيسي. لا يمكن أن يوجد ملف شخصي خاص إلا للمستخدم الرئيسي. عند فتح قفل الملف الشخصي الخاص، تصبح التطبيقات مرئية في الإعدادات، ShareSheet وPhotopicker و DocsUI ولكن يتم إخفاء التطبيقات عند قفلها يمكن أن يوجد الملف الشخصي الخاص على نفس الجهاز بالإضافة إلى ملف العمل استنساخ ملف التعريف.

أنواع المستخدمين

لقد صاغ نظام التشغيل Android 11 التصنيف أعلاه للمستخدمين والملفات الشخصية في أنواع مستخدمين محدّدة جيدًا، والتي تمثل جميع الأنواع المختلفة من المستخدمين والملفات الشخصية المسموح بها من خلال ميزة "المستخدمون المتعدّدون" في Android.

تم تحديد أنواع مستخدمي AOSP المحدّدة مسبقًا في frameworks/base/core/java/android/os/UserManager.java وتشمل حاليًا ما يلي:

  • android.os.usertype.full.SYSTEM
  • android.os.usertype.full.SECONDARY
  • android.os.usertype.full.GUEST
  • android.os.usertype.full.DEMO
  • android.os.usertype.full.RESTRICTED
  • android.os.usertype.profile.MANAGED
  • android.os.usertype.system.HEADLESS
  • android.os.usertype.profile.CLONE
  • android.os.usertype.profile.PRIVATE

ويمكن للمصنّعين الأصليين للأجهزة تهيئة أنواع المستخدمين هذه من خلال تركيب ملف frameworks/base/core/res/res/xml/config_user_types.xml. يسهّل ذلك تغيير الإعدادات التلقائية لكل نوع مستخدم، بما في ذلك القيود والرموز والشارات التلقائية والحد الأقصى المسموح به لعدد المستخدمين.

بالإضافة إلى أنواع مستخدمي AOSP القابلة للضبط، يمكن للمصنّعين الأصليين للأجهزة تحديد أنواع ملفات شخصية جديدة باستخدام ملف frameworks/base/core/res/res/xml/config_user_types.xml. يتيح ذلك لمصنّعي المعدّات الأصلية تقديم أنواع الملفات غير المُدارة الخاصة بهم إذا لزم الأمر. مع ذلك، تقع على عاتق المصنّع الأصلي للجهاز مسؤولية إجراء تعديلات على المنصة بالشكل المطلوب لدعم التغييرات، بما في ذلك تعديل أي رمز يتحقّق من الملفات الشخصية المُدارة لمعالجة الآن الملف الشخصي الجديد إذا كان ذلك مناسبًا.

تفعيل ميزة عدة مستخدمين

يتم إيقاف ميزة تعدد المستخدمين تلقائيًا. لتفعيل الميزة، على المصنّعين تحديد تراكب مورد يستبدل القيم التالية في frameworks/base/core/res/res/values/config.xml:

<!--  Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!--  Whether Multiuser UI should be shown -->
<bool name="config_enableMultiUserUI">false</bool>

لتطبيق هذا التراكب وتمكين المستخدمين الضيوف والمستخدمين الثانويين على الجهاز، استخدم استخدام ميزة DEVICE_PACKAGE_OVERLAYS لنظام إصدار Android لاستبدالها قيم:

  • config_multiuserMaximumUsers بقيمة أكبر من 1
  • config_enableMultiUserUI مع true

يمكن لمصنعي الأجهزة تحديد الحد الأقصى لعدد المستخدمين. إذا عدّل المصنّعون الأجهزة أو غيرهم من المصنّعين الإعدادات، عليهم التأكّد من عمل الرسائل القصيرة والاتصالات الهاتفية على النحو المحدّد في مستند تعريف المتوافقة مع Android (CDD).

إدارة مستخدمين متعدّدين

إدارة المستخدمين والملفات الشخصية (باستثناء الملفات الشخصية المقيَّدة) عن طريق التطبيقات التي تستدعي واجهة برمجة التطبيقات آليًا في صف واحد (DevicePolicyManager) لتقييد الاستخدام.

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

سلوك النظام المتعدد المستخدمين

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

ملاحظة: لتفعيل وظائف الهاتف والرسائل القصيرة أو إيقافها لمستخدم ثانوي، انتقِل إلى الإعدادات > المستخدمون، واختَر المستخدم، ثم أوقِف الإعداد السماح بالمكالمات الهاتفية والرسائل القصيرة.

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

عند استخدام حسابات مستخدمين متعدّدين على جهاز Android، يجب مراعاة السلوك التالي:

  • تظهر الإشعارات لجميع حسابات مستخدم واحد في آنٍ واحد.
  • لا تظهر الإشعارات للمستخدمين الآخرين إلا بعد تفعيلها.
  • يحصل كل مستخدم على مساحة عمل لتثبيت التطبيقات ووضعها.
  • لا يمكن لأي مستخدم الوصول إلى بيانات التطبيق لمستخدم آخر.
  • يمكن لأي مستخدم التأثير في التطبيقات المثبَّتة لجميع المستخدمين.
  • يمكن لمستخدم مشرف إزالة التطبيقات أو حتى مساحة العمل بالكامل التي أنشأها المستخدمون الثانويون.
  • بشكلٍ تلقائي، لا تبقى المعلومات من جلسة مستخدم الضيف محفوظة عند الخروج من "وضع الضيف". إذا أردت استمرار المعلومات من جلسة المستخدم الضيف، يجب إنشاء مورد. الذي يضبط config_guestUserAllowEphemeralStateChange على false لمزيد من المعلومات حول إنشاء ملفات التراكب، يُرجى الاطّلاع على مقالة تخصيص الإصدار باستخدام تراكب الموارد.

ميزة "المستخدمون المتعدّدون" في Android Automotive

يعتمد نظام Android Automotive على إتاحة ميزة تعدد المستخدمين على أجهزة Android لتوفير جهاز مشترك. المستخدم.

أنواع مستخدمي السيارات

بالإضافة إلى أنواع المستخدمين المذكورة أعلاه، تُعدّ إصدارات Automotive مناسبة لأنواع المستخدِمين التالية:

  • مستخدم نظام بلا واجهة مستخدم رسومية: يستضيف مستخدم النظام جميع خدمات النظام. لتفعيل ميزة "المستخدمون المتعدّدون" في Automotive، يجب أن يكون مستخدم النظام أيضًا بدون شاشة. ليس هناك سوى مستخدم واحد بلا واجهة مستخدم رسومية. مستخدم نظام بلا واجهة مستخدم رسومية:
    • يجب أن يعمل دائمًا في الخلفية.
    • لا يمكن للمستخدم إزالتها أو الوصول إليها مباشرةً إلا في حال إعداد الجهاز. على سبيل المثال، لا يمكن للمستخدمين التبديل إلى نوع المستخدم هذا لتنفيذ مهام مثل تنزيل التطبيقات أو إضافة حسابات.
    • لا يمكن محو البيانات إلا من خلال إعادة الضبط على الإعدادات الأصلية.
  • المستخدمون العاديون: تمامًا مثل المستخدمون الثانويون الواردون أعلاه، باستثناء أن التطبيقات الثانوية المستخدمون:
    • لا تعمل في الخلفية (بعد الابتعاد عن الجهاز).
    • يمكن إنشاؤها مباشرةً من خلال واجهة المستخدم.
    • فصل بيانات التطبيق مع مشاركة بعض الإعدادات على مستوى النظام. على سبيل المثال، Wi-Fi البلوتوث.

محاذير

تنطبق الاستثناءات التالية على مستخدم النظام بلا واجهة مستخدم رسومية والمستخدمين العاديين (الثانويين) في السيارات:

  • لا يتيح مستخدم النظام غير المرئي استخدام الملفات الشخصية للعمل.
  • يحصل المستخدمون العاديون (الثانويون) تلقائيًا على إذن الوصول الكامل إلى المكالمات الهاتفية والرسائل النصية.
  • لا يتم تشغيل المستخدمين العاديين (الثانويين) في الخلفية تلقائيًا.

تفعيل مستخدم النظام بلا واجهة مستخدم رسومية

بدءًا من نظام Android 10، يمكن استخدام ميزة تعدد المستخدمين لحالات استخدام السيارات. ملاحظة مُهمّة مختلفة تشمل:

  • مستخدم النظام بلا واجهة مستخدم رسومية ولا يعمل إلا في الخلفية.
  • ولا يتفاعل المستخدمون البشريون مع مستخدم النظام.

لتفعيل مستخدم النظام غير المزوّد بشاشة، على المصنّعين تفعيل ميزة "المستخدمون المتعدّدون" كما هو موضّح أعلاه.

عند تفعيل المستخدم الذي لا يستخدم واجهة مستخدم:
  1. للإشارة إلى أنّ الجهاز يعمل بنظام التشغيل Automotive، يُرجى إضافة الميزة. android.hardware.type.automotive
  2. اضبط السمة ro.fw.headless_system_user على true.
  3. اضبط قيمة config_multiuserMaximumUsers على 2 (أو أعلى).

لمزيد من المعلومات، يُرجى الاطّلاع على إتاحة استخدام التطبيق من قِبل مستخدمين متعدّدين في Automotive.

ميزة "تعدُّد المستخدمين" لنظام Android Automotive على شاشات متعددة

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

لتفعيل هذه الميزة لاستخدامها في مرحلة التطوير، على المصنّعين تحديد تراكب مورد لاستبدال القيمة التالية في frameworks/base/core/res/res/values/config.xml:

<!-- Whether the device allows users to start in background visible on displays.
    Should be false for all devices in production. Can be enabled only for development use
    in automotive vehicles with passenger displays. -->

<bool name="config_multiuserVisibleBackgroundUsers">false></bool>

يمكنك تجربة تجربة مخصّصة للراكب فقط (بدون سائق) من خلال تفعيل ما يلي: تكوين إضافي:

<!-- Whether the device allows users to start in background visible on the default display.
    Should be false for all devices in production. Can be enabled only for development use
    in passenger-only automotive build (i.e., when Android runs in a separate system in the
    back seat to manage the passenger displays).
    When set to true, config_multiuserVisibleBackgroundUsers must also be true. -->

<bool name="config_multiuserVisibleBackgroundUsersOnDefaultDisplay">false</bool>

في Android 14، يمكنك تفعيل تجربة الاستخدام داخل السيارة لعدة خدمات الركاب كمستخدمين ضيوف. لتمكين عدة مستخدمين ضيوف من أجل استخدام التطوير، يجب على الجهاز على الشركات المصنّعة تحديد تراكب موارد يضبط الحد الأقصى المسموح به لعدد الضيوف المستخدمين في frameworks/base/core/res/res/xml/config_user_types.xml، مثل المثال أدناه:

<user-types>
   <full-type
       name="android.os.usertype.full.GUEST"
       max-allowed='4'>
       <default-restrictions no_factory_reset="true"
           no_remove_user="true"
           no_modify_accounts="true"
           no_install_apps="true"
           no_install_unknown_sources="true"
           no_uninstall_apps="true"/>
   </full-type>
</user-types>