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

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

المصطلحات

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

بنود عامة

تستخدِم ميزة "إدارة أجهزة Android" المصطلحات العامة التالية:

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

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

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

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

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

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

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

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

لقد صاغ نظام التشغيل 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 لتقييد الاستخدام.

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

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

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

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

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

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

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

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

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

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

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

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

المحاذير

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

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

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

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

  • لا يملك مستخدم النظام واجهة مستخدم، ولا يعمل إلا في الخلفية.
  • لا يتفاعل المستخدمون مع مستخدم النظام.

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

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

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

ميزة "الوصول المتعدّد للمستخدمين" في نظام التشغيل Android Automotive على شاشات متعددة

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

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

<!-- Whether the device allows full users to start in background visible on displays.
Should be false for most devices, except automotive vehicle with passenger displays.
Note: this flag does NOT control the Communal Profile, which is not a full user. -->

<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 15، يمكنك أيضًا تفعيل تجربة "استخدام السيارة" لعدة ركاب كمستخدمين ضيوف. لتفعيل ميزة "المستخدم الضيف" لمطوّري التطبيقات، على المصنّعين تحديد تراكب موارد يضبط الحد الأقصى المسموح به لعدد مستخدمي "المستخدم الضيف" في 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>