एकाधिक उपयोगकर्ताओं का समर्थन

एंड्रॉइड उपयोगकर्ता खातों और एप्लिकेशन डेटा को अलग करके एक ही एंड्रॉइड डिवाइस पर एकाधिक उपयोगकर्ताओं का समर्थन करता है। उदाहरण के लिए, माता-पिता अपने बच्चों को फैमिली टैबलेट का उपयोग करने की अनुमति दे सकते हैं, एक परिवार एक ऑटोमोबाइल साझा कर सकता है, या एक महत्वपूर्ण प्रतिक्रिया टीम ऑन-कॉल ड्यूटी के लिए एक मोबाइल डिवाइस साझा कर सकती है।

शब्दावली

Android उपयोगकर्ताओं और खातों का वर्णन करते समय Android निम्नलिखित शब्दों का उपयोग करता है।

आम

Android डिवाइस प्रबंधन निम्न सामान्य शब्दों का उपयोग करता है।

  • उपयोगकर्ता । प्रत्येक उपयोगकर्ता का उद्देश्य एक अलग भौतिक व्यक्ति द्वारा उपयोग किया जाना है। प्रत्येक उपयोगकर्ता के पास अलग-अलग एप्लिकेशन डेटा और कुछ अनूठी सेटिंग्स होती हैं, साथ ही उपयोगकर्ताओं के बीच स्पष्ट रूप से स्विच करने के लिए एक यूजर इंटरफेस भी होता है। एक उपयोगकर्ता पृष्ठभूमि में चल सकता है जब कोई अन्य उपयोगकर्ता सक्रिय होता है; सिस्टम उपयुक्त होने पर संसाधनों के संरक्षण के लिए उपयोगकर्ताओं को बंद करने का प्रबंधन करता है। द्वितीयक उपयोगकर्ता या तो सीधे उपयोगकर्ता इंटरफ़ेस के माध्यम से या डिवाइस व्यवस्थापन एप्लिकेशन से बनाए जा सकते हैं।
  • खाता । खाते एक उपयोगकर्ता के भीतर निहित होते हैं, लेकिन एक उपयोगकर्ता द्वारा परिभाषित नहीं होते हैं, न ही एक उपयोगकर्ता द्वारा परिभाषित या किसी दिए गए खाते से जुड़ा होता है। प्रयोक्ताओं और प्रोफाइल में अपने स्वयं के अनूठे खाते होते हैं लेकिन खातों के कार्यशील होने की आवश्यकता नहीं होती है। खातों की सूची उपयोगकर्ता द्वारा भिन्न होती है। विवरण के लिए, खाता वर्ग परिभाषा देखें।
  • प्रोफ़ाइल । एक प्रोफ़ाइल ने ऐप डेटा को अलग कर दिया है लेकिन कुछ सिस्टम-व्यापी सेटिंग्स (उदाहरण के लिए, वाई-फाई और ब्लूटूथ) साझा करता है। एक प्रोफ़ाइल उपयोगकर्ता के अस्तित्व का एक उपसमुच्चय है, और उससे बंधा हुआ है। एक उपयोगकर्ता के पास कई प्रोफाइल हो सकते हैं। प्रोफ़ाइल एक डिवाइस व्यवस्थापन अनुप्रयोग के माध्यम से बनाए जाते हैं। एक प्रोफ़ाइल में हमेशा एक मूल उपयोगकर्ता के साथ एक अपरिवर्तनीय जुड़ाव होता है, जिसे उस उपयोगकर्ता द्वारा परिभाषित किया जाता है जिसने प्रोफ़ाइल बनाई है। प्रोफ़ाइल बनाने वाले उपयोगकर्ता के जीवनकाल के बाद मौजूद नहीं होते हैं।
  • ऐप । प्रत्येक संबद्ध उपयोगकर्ता के भीतर एक एप्लिकेशन का डेटा मौजूद होता है। ऐप डेटा को उसी उपयोगकर्ता के भीतर अन्य एप्लिकेशन से सैंडबॉक्स किया जाता है। एक ही उपयोगकर्ता के ऐप्स आईपीसी के माध्यम से एक दूसरे के साथ बातचीत कर सकते हैं। विवरण के लिए, एंटरप्राइज़ के लिए Android देखें।

उपयोगकर्ताओं की श्रेणियां

Android डिवाइस व्यवस्थापन उपयोगकर्ताओं की निम्न श्रेणियों का उपयोग करता है।

  • सिस्टम उपयोगकर्ता । पहले उपयोगकर्ता को डिवाइस में जोड़ा गया। फ़ैक्टरी रीसेट के अलावा सिस्टम उपयोगकर्ता को हटाया नहीं जा सकता है और अन्य उपयोगकर्ता अग्रभूमि में होने पर भी हमेशा चल रहा है। इस उपयोगकर्ता के पास विशेष विशेषाधिकार और सेटिंग्स भी हैं जो केवल वही सेट कर सकता है।
  • माध्यमिक उपयोगकर्ता । सिस्टम उपयोगकर्ता के अलावा डिवाइस में जोड़ा गया कोई भी उपयोगकर्ता। द्वितीयक उपयोगकर्ताओं को हटाया जा सकता है (या तो स्वयं या व्यवस्थापक उपयोगकर्ता द्वारा) और डिवाइस पर अन्य उपयोगकर्ताओं को प्रभावित नहीं कर सकते। ये उपयोगकर्ता पृष्ठभूमि में चल सकते हैं और नेटवर्क कनेक्टिविटी जारी रख सकते हैं।
  • अतिथि उपयोगकर्ता । अस्थायी माध्यमिक उपयोगकर्ता। अतिथि उपयोक्ताओं के पास अतिथि उपयोक्ता की उपयोगिता समाप्त हो जाने पर उसे शीघ्रता से मिटाने का स्पष्ट विकल्प होता है। एक समय में केवल एक अतिथि उपयोगकर्ता हो सकता है।
  • व्यवस्थापक उपयोगकर्ता । एक उपयोगकर्ता जिसके पास अन्य उपयोगकर्ताओं को बनाने और हटाने की अनुमति है, साथ ही कुछ सामान्य बहु-उपयोगकर्ता सेटिंग्स को नियंत्रित करते हैं। डिफ़ॉल्ट रूप से, केवल सिस्टम उपयोगकर्ता ही एक व्यवस्थापक होता है।

प्रोफाइल की श्रेणियाँ

Android डिवाइस व्यवस्थापन प्रोफ़ाइल की निम्न श्रेणियों का उपयोग करता है।

  • प्रबंधित प्रोफ़ाइल । कार्य डेटा और ऐप्स को शामिल करने के लिए किसी एप्लिकेशन द्वारा बनाया गया। वे विशेष रूप से प्रोफ़ाइल स्वामी (कॉर्प प्रोफ़ाइल बनाने वाला ऐप) द्वारा प्रबंधित किए जाते हैं। लॉन्चर, सूचनाएं और हाल के कार्य मूल उपयोगकर्ता और कॉर्प प्रोफ़ाइल द्वारा साझा किए जाते हैं।
  • प्रतिबंधित प्रोफ़ाइल । मूल उपयोगकर्ता के आधार पर खातों का उपयोग करता है, जो नियंत्रित कर सकता है कि प्रतिबंधित प्रोफ़ाइल पर कौन से ऐप्स उपलब्ध हैं। केवल टैबलेट और टेलीविजन उपकरणों पर उपलब्ध है।

उपयोगकर्ता प्रकार

एंड्रॉइड 11 ने उपयोगकर्ताओं और प्रोफाइल के उपरोक्त वर्गीकरण को अच्छी तरह से परिभाषित उपयोगकर्ता प्रकारों में तैयार किया है, जो एंड्रॉइड मल्टी-यूजर फीचर द्वारा अनुमत सभी विभिन्न प्रकार के उपयोगकर्ताओं और प्रोफाइल का प्रतिनिधित्व करता है।

पूर्व-परिभाषित 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

ओईएम के पास frameworks/base/core/res/res/xml/config_user_types.xml फ़ाइल को ओवरले करके इन उपयोगकर्ता प्रकारों को कॉन्फ़िगर करने की क्षमता है। यह प्रत्येक उपयोगकर्ता प्रकार के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन को बदलने की सुविधा प्रदान करता है, जिसमें इसके डिफ़ॉल्ट प्रतिबंध, आइकन, बैज और उपयोगकर्ताओं की अधिकतम अनुमत संख्या शामिल है।

विन्यास योग्य एओएसपी उपयोगकर्ता प्रकारों के अतिरिक्त, ओईएम frameworks/base/core/res/res/xml/config_user_types.xml फ़ाइल का उपयोग करके नए प्रोफाइल प्रकारों को परिभाषित कर सकते हैं। यह OEM को वांछित होने पर अपने स्वयं के गैर-प्रबंधित प्रोफ़ाइल प्रकारों को पेश करने की अनुमति देता है। हालाँकि, परिवर्तनों का समर्थन करने के लिए आवश्यकतानुसार प्लेटफ़ॉर्म संशोधन करना ओईएम की ज़िम्मेदारी है, जिसमें किसी भी कोड को संशोधित करना शामिल है जो अब उपयुक्त होने पर नए प्रोफ़ाइल प्रकार को संभालने के लिए प्रबंधित प्रोफ़ाइल की जाँच करता है।

बहु-उपयोगकर्ता को सक्षम करना

एंड्रॉइड 5.0 के अनुसार, बहु-उपयोगकर्ता सुविधा डिफ़ॉल्ट रूप से अक्षम है। सुविधा को सक्षम करने के लिए, डिवाइस निर्माताओं को एक संसाधन ओवरले परिभाषित करना चाहिए जो निम्नलिखित मानों को 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>

इस ओवरले को लागू करने और डिवाइस पर अतिथि और द्वितीयक उपयोगकर्ताओं को सक्षम करने के लिए, निम्न के मानों को बदलने के लिए Android बिल्ड सिस्टम की DEVICE_PACKAGE_OVERLAYS सुविधा का उपयोग करें:

  • config_multiuserMaximumUsers उपयोगकर्ता जिसका मान 1 से अधिक है
  • config_enableMultiUserUI true के साथ

डिवाइस निर्माता अधिकतम उपयोगकर्ताओं की संख्या तय कर सकते हैं। यदि डिवाइस निर्माताओं या अन्य ने सेटिंग्स को संशोधित किया है, तो उन्हें यह सुनिश्चित करना चाहिए कि एंड्रॉइड कम्पैटिबिलिटी डेफिनिशन डॉक्यूमेंट (सीडीडी) में परिभाषित एसएमएस और टेलीफोनी काम करें।

एकाधिक उपयोगकर्ताओं को प्रबंधित करना

उपयोगकर्ताओं और प्रोफाइल का प्रबंधन (प्रतिबंधित प्रोफाइल के अपवाद के साथ) उन अनुप्रयोगों द्वारा किया जाता है जो उपयोग को प्रतिबंधित करने के लिए DevicePolicyManager वर्ग में API को प्रोग्रामेटिक रूप से लागू करते हैं।

स्कूल और उद्यम अपने उपयोग के मामलों के अनुरूप अद्वितीय समाधान बनाने के लिए UserManager API के संयोजन के साथ ऊपर उल्लिखित प्रकारों का उपयोग करके, उपकरणों पर ऐप्स और डेटा के जीवनकाल और दायरे को प्रबंधित करने के लिए उपयोगकर्ताओं और प्रोफाइल को नियोजित कर सकते हैं।

बहु-उपयोगकर्ता प्रणाली व्यवहार

जब उपयोगकर्ताओं को किसी डिवाइस में जोड़ा जाता है, तो किसी अन्य उपयोगकर्ता के अग्रभूमि में होने पर कुछ कार्यक्षमता कम हो जाती है। चूंकि ऐप डेटा उपयोगकर्ता द्वारा अलग किया जाता है, इसलिए उन ऐप्स की स्थिति उपयोगकर्ता द्वारा भिन्न होती है। उदाहरण के लिए, किसी ऐसे उपयोगकर्ता के खाते के लिए नियत ईमेल जो वर्तमान में फ़ोकस में नहीं है, तब तक उपलब्ध नहीं होगा जब तक कि वह उपयोगकर्ता और खाता डिवाइस पर सक्रिय न हो जाए।

डिफ़ॉल्ट रूप से, केवल सिस्टम उपयोगकर्ता के पास फ़ोन कॉल और टेक्स्ट संदेशों तक पूर्ण पहुंच होती है। द्वितीयक उपयोगकर्ता इनबाउंड कॉल प्राप्त कर सकता है लेकिन टेक्स्ट भेज या प्राप्त नहीं कर सकता है। एक व्यवस्थापक उपयोगकर्ता को इन कार्यों को दूसरों के लिए सक्षम करना होगा।

नोट : द्वितीयक उपयोगकर्ता के लिए फ़ोन और एसएमएस फ़ंक्शन को सक्षम या अक्षम करने के लिए, सेटिंग > उपयोगकर्ता पर जाएं, उपयोगकर्ता का चयन करें, और फ़ोन कॉल और एसएमएस की अनुमति दें सेटिंग को बंद पर स्विच करें।

जब कोई द्वितीयक उपयोगकर्ता पृष्ठभूमि में होता है तो कुछ प्रतिबंध मौजूद होते हैं। उदाहरण के लिए, बैकग्राउंड सेकेंडरी यूजर यूजर इंटरफेस को प्रदर्शित नहीं कर सकता है या ब्लूटूथ सेवाओं को सक्रिय नहीं कर सकता है। इसके अलावा, सिस्टम प्रक्रिया पृष्ठभूमि माध्यमिक उपयोगकर्ताओं को रोक देगी यदि डिवाइस को अग्रभूमि उपयोगकर्ता में संचालन के लिए अतिरिक्त मेमोरी की आवश्यकता होती है।

Android डिवाइस पर एकाधिक उपयोगकर्ताओं को नियोजित करते समय, निम्न व्यवहार को ध्यान में रखें:

  • एक ही उपयोगकर्ता के सभी खातों के लिए सूचनाएं एक साथ दिखाई देती हैं।
  • अन्य उपयोगकर्ताओं के लिए सूचनाएं सक्रिय होने तक प्रकट नहीं होती हैं।
  • प्रत्येक उपयोगकर्ता को ऐप्स इंस्टॉल करने और रखने के लिए एक कार्यक्षेत्र मिलता है।
  • किसी भी उपयोगकर्ता के पास किसी अन्य उपयोगकर्ता के ऐप डेटा तक पहुंच नहीं है।
  • कोई भी उपयोगकर्ता सभी उपयोगकर्ताओं के लिए इंस्टॉल किए गए ऐप्स को प्रभावित कर सकता है।
  • एक व्यवस्थापक उपयोगकर्ता ऐप्स या द्वितीयक उपयोगकर्ताओं द्वारा स्थापित संपूर्ण कार्यक्षेत्र को भी हटा सकता है।

Android 7.0 में कई संवर्द्धन शामिल हैं, जिनमें शामिल हैं:

  • कार्य प्रोफ़ाइल टॉगल करें । उपयोगकर्ता अपनी प्रबंधित प्रोफ़ाइल को अक्षम कर सकते हैं (जैसे कि जब काम पर न हों)। यह कार्यक्षमता उपयोगकर्ता को रोककर हासिल की जाती है; UserManagerService ActivityManagerNative#stopUser() को कॉल करता है।
  • हमेशा ऑन वीपीएन । VPN एप्लिकेशन को अब उपयोगकर्ता, डिवाइस DPC, या प्रबंधित प्रोफ़ाइल DPC (केवल प्रबंधित प्रोफ़ाइल एप्लिकेशन पर लागू होता है) द्वारा हमेशा चालू पर सेट किया जा सकता है। सक्षम होने पर, एप्लिकेशन सार्वजनिक नेटवर्क तक नहीं पहुंच सकते हैं (नेटवर्क संसाधनों तक पहुंच तब तक रोक दी जाती है जब तक कि वीपीएन कनेक्ट नहीं हो जाता है और कनेक्शन उस पर रूट किए जा सकते हैं)। device_admin की रिपोर्ट करने वाले डिवाइस को हमेशा ऑन-वीपीएन लागू करना चाहिए।

Android 7.0 डिवाइस व्यवस्थापन सुविधाओं के बारे में अधिक विवरण के लिए, Android for Work देखें।

Android ऑटोमोटिव बहु-उपयोगकर्ता

एंड्रॉइड ऑटोमोटिव एक साझा डिवाइस अनुभव प्रदान करने के लिए एंड्रॉइड के बहु-उपयोगकर्ता कार्यान्वयन पर निर्भर करता है।

ऑटोमोटिव उपयोगकर्ता प्रकार

ऊपर सूचीबद्ध उपयोगकर्ता प्रकारों के अतिरिक्त, ऑटोमोटिव बिल्ड इस प्रकार के उपयोगकर्ताओं के लिए उल्लेखनीय हैं:

  • हेडलेस सिस्टम यूजर। सिस्टम उपयोगकर्ता सभी सिस्टम सेवाओं को होस्ट करता है। ऑटोमोटिव पर एकाधिक उपयोगकर्ताओं का समर्थन करने के लिए, सिस्टम उपयोगकर्ता को भी बिना सिर वाला होना चाहिए। केवल एक हेडलेस यूजर है। एक हेडलेस सिस्टम उपयोगकर्ता:
    • हमेशा बैकग्राउंड में चलना चाहिए।
    • डिवाइस प्रोविजनिंग के मामले को छोड़कर उपयोगकर्ता द्वारा सीधे हटाया या एक्सेस नहीं किया जा सकता है। उदाहरण के लिए, उपयोगकर्ता ऐप डाउनलोड करने या खाते जोड़ने जैसे कार्यों को करने के लिए इस उपयोगकर्ता प्रकार पर स्विच नहीं कर सकते हैं।
    • केवल फ़ैक्टरी रीसेट द्वारा साफ़ किया जा सकता है।
  • नियमित उपयोगकर्ता। द्वितीयक उपयोगकर्ताओं के समान, ऊपर वर्णित, द्वितीयक उपयोगकर्ताओं को छोड़कर:
    • पृष्ठभूमि में न दौड़ें (इससे दूर होने के बाद)।
    • यूजर इंटरफेस के माध्यम से सीधे बनाया जा सकता है।
    • ऐप डेटा अलग कर दिया है लेकिन कुछ सिस्टम-व्यापी सेटिंग्स साझा करें। उदाहरण के लिए, वाई-फाई और ब्लूटूथ।

चेतावनियां

ऑटोमोटिव में हेडलेस सिस्टम उपयोगकर्ता और नियमित (द्वितीयक) उपयोगकर्ता पर निम्नलिखित अपवाद लागू होते हैं:

  • हेडलेस सिस्टम यूजर वर्क प्रोफाइल को सपोर्ट नहीं करता है।
  • डिफ़ॉल्ट रूप से, नियमित (द्वितीयक) उपयोगकर्ताओं के पास फ़ोन कॉल और संदेशों तक पूर्ण पहुंच होती है।
  • डिफ़ॉल्ट रूप से, नियमित (द्वितीयक) उपयोगकर्ता पृष्ठभूमि में नहीं चलते हैं।

हेडलेस सिस्टम उपयोगकर्ता को सक्षम करना

एंड्रॉइड 10 के रूप में, बहु-उपयोगकर्ता सुविधा का उपयोग ऑटोमोटिव उपयोग के मामलों के लिए किया जा सकता है। महत्वपूर्ण भेदों में शामिल हैं:

  • सिस्टम यूजर हेडलेस है और केवल बैकग्राउंड में चलता है।
  • मानव उपयोगकर्ता सिस्टम उपयोगकर्ता के साथ सहभागिता नहीं करते हैं।

हेडलेस सिस्टम उपयोगकर्ता को सक्षम करने के लिए, डिवाइस निर्माताओं को ऊपर वर्णित अनुसार बहु-उपयोगकर्ता को सक्षम करना होगा।

जब हेडलेस उपयोगकर्ता सक्षम होता है:
  1. डिवाइस को ऑटोमोटिव घोषित करने के लिए, android.hardware.type.automotive सुविधा जोड़ें।
  2. ro.fw.headless_system_user को true पर सेट करें।
  3. config_multiuserMaximumUsers के लिए मान को 2 (या उच्चतर) पर सेट करें।

अधिक जानकारी के लिए ऑटोमोटिव में मल्टी-यूजर सपोर्ट देखें।