डेवलपर गाइड

Android की एंटरप्राइज़ सुविधाएं, संगठनों को सुरक्षित, सुविधाजनक, और Android डिवाइस एक साथ काम करने वाला यूनिफ़ाइड मोबिलिटी प्लैटफ़ॉर्म—जिसमें डिवाइस, ऐप्लिकेशन, और प्रबंधन. Android ऐप्लिकेशन, Android की एंटरप्राइज़ सुविधाओं के साथ काम करते हैं डिफ़ॉल्ट रूप से. हालांकि, ऐसी अतिरिक्त सुविधाएं हैं जिनका इस्तेमाल करके, आपका ऐप्लिकेशन, मैनेज किए जा रहे Android डिवाइसों पर सबसे अच्छी तरह काम करता है:

ज़रूरी शर्तें

  1. आपने Android ऐप्लिकेशन बनाया है.
  2. अब अपने ऐप्लिकेशन में बदलाव किए जा सकते हैं, ताकि यह संगठनों के हिसाब से बेहतर तरीके से काम करे.
  3. कम से कम वर्शन: Android 5.0 Lollipop का सुझाया गया वर्शन: Android 6.0 Marshmallow और इसके बाद के वर्शन पर काम करता है.

नोट: Android की एंटरप्राइज़ सुविधाएं Android 5.0 डिवाइस; हालांकि, Android 6.0 और उसके बाद वाले वर्शन के लिए उपलब्ध ऑफ़र अतिरिक्त सुविधाएं जोड़ने की सुविधा मिलती है, खास तौर पर उन डिवाइसों के मामले में.

वर्क प्रोफ़ाइल

उपयोगकर्ता के कारोबार के डेटा और ऐप्लिकेशन को मैनेज करने के लिए, वर्क प्रोफ़ाइल. वर्क प्रोफ़ाइल एक मैनेज की जा रही कॉर्पोरेट प्रोफ़ाइल है किसी Android डिवाइस पर मुख्य उपयोगकर्ता खाते से जुड़ा हो. ऐप्लिकेशन वर्क प्रोफ़ाइल, वर्क ऐप्लिकेशन और उनके डेटा को निजी ऐप्लिकेशन से सुरक्षित रूप से अलग करती है और डेटा. यह वर्क प्रोफ़ाइल एक अलग कंटेनर में है निजी प्रोफ़ाइल, जिसे आपका उपयोगकर्ता नियंत्रित करता है. ये अलग-अलग प्रोफ़ाइलें संगठनों को ऐसा कारोबार का डेटा मैनेज करने की सुविधा देते हैं जो उनके लिए अहम है, लेकिन उपयोगकर्ता के डिवाइस पर बाकी सब कुछ उपयोगकर्ता के कंट्रोल में रहने दें. सबसे सही तरीकों के बारे में ज़्यादा जानने के लिए, यहां जाएं: वर्क प्रोफ़ाइलें पढ़ें. उन सबसे सही तरीकों की खास जानकारी के लिए, नीचे देखें.

वर्क प्रोफ़ाइल की मुख्य सुविधाएं

  • अलग और सुरक्षित प्रोफ़ाइल
  • ऐप्लिकेशन वितरण के लिए कारोबार के लिए Google Play
  • बैज किए गए काम के अलग-अलग ऐप्लिकेशन
  • सिर्फ़ प्रोफ़ाइल को मैनेज करने से जुड़ी सुविधाएं, जिन्हें एडमिन कंट्रोल करता है

Android 5.0 और उसके बाद के वर्शन पर वर्क प्रोफ़ाइल के फ़ायदे

  • डिवाइस को पूरी तरह सुरक्षित करना
  • दोनों प्रोफ़ाइलों के लिए एक Android ऐप्लिकेशन पैकेज (APK) तब डिवाइस पर एक निजी प्रोफ़ाइल और वर्क प्रोफ़ाइल मौजूद हैं
  • डिवाइस नीति नियंत्रक (DPC) सिर्फ़ वर्क प्रोफ़ाइल तक सीमित है
  • डिवाइस का प्रबंधन: DevicePolicyManager क्लास

वर्क प्रोफ़ाइल इस्तेमाल करने से पहले ध्यान देने वाली बातें

अलग-अलग प्रोफ़ाइलों के बीच इंटेंट को फ़ेल होने से रोकें

यह जानना मुश्किल है कि किस मकसद से प्रोफ़ाइल और कौन-कौनसे ब्लॉक किए गए हैं. इसके बारे में जानने का एक ही तरीका है, टेस्ट करना. इससे पहले कि आपका ऐप्लिकेशन कोई गतिविधि शुरू करे, आपको यह पुष्टि करनी होगी कि कॉल करने पर अनुरोध का समाधान किया जाता है Intent.resolveActivity().

  • अगर यह जवाब null दिखाता है, तो अनुरोध का समाधान नहीं होता.
  • अगर इससे कुछ रिटर्न होता है, तो पता चलता है कि इंटेंट ठीक हो गया है, और इंटेंट भेजना सुरक्षित है.

ध्यान दें: टेस्टिंग के ज़्यादा निर्देशों के लिए, यहां देखें पूरे न हो पाने वाले इंटेंट रोकें.

अलग-अलग प्रोफ़ाइल में फ़ाइलें शेयर करें

कुछ डेवलपर Android में फ़ाइल पाथ को मार्क करने के लिए, यूआरआई का इस्तेमाल करते हैं. हालांकि, क्योंकि वर्क प्रोफ़ाइल मौजूद होने पर अलग-अलग फ़ाइल सिस्टम होते हैं, इसलिए हम सुझाव दें:

इस्तेमाल करें:
कॉन्टेंट यूआरआई
  • कॉन्टेंट यूआरआई में यूआरएल के लिए प्राधिकरण, पाथ, और आईडी होता है खास फ़ाइल के लिए है. इसे जनरेट करने का तरीका जानने के लिए, FileProvider सब-क्लास. ज़्यादा जानें
  • इसका इस्तेमाल करके कॉन्टेंट यूआरआई को ऐक्सेस करने की अनुमति शेयर करें और अनुमतियां दें एक इंटेंट. अनुमतियां सिर्फ़ प्रोफ़ाइल पर दी जा सकती हैं सीमा तय करें. अगर आपने किसी दूसरे ऐप्लिकेशन को ऐक्सेस का अधिकार दिया है का उपयोग करके अपनी फ़ाइल को Context.grantUriPermission(), यह सिर्फ़ इसके लिए मान्य है उस ऐप्लिकेशन को एक ही प्रोफ़ाइल में रखें.
इस्तेमाल न करें:
फ़ाइल यूआरआई
  • इसमें डिवाइस के स्टोरेज.
  • एक प्रोफ़ाइल पर मान्य फ़ाइल पाथ यूआरआई, यहां मान्य नहीं है अन्य.
  • अगर किसी इंटेंट में फ़ाइल यूआरआई अटैच किया जाता है, तो हैंडलर कुछ भी नहीं कर पाएगा किसी अन्य प्रोफ़ाइल में फ़ाइल ऐक्सेस करने के लिए.

अगले चरण: जब आपका ऐप्लिकेशन 'मैनेज किया जा रहा है' सुविधा पर काम करता है, तो तो वर्क प्रोफ़ाइल में इसकी जाँच करें. अपने ऐप्लिकेशन की जांच करना देखें.

मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करें

मैनेज किए जा रहे कॉन्फ़िगरेशन, आईटी एडमिन के लिए निर्देशों का सेट होते हैं उसका इस्तेमाल अपने उपयोगकर्ताओं के मोबाइल डिवाइसों को किसी खास तरीके से मैनेज करने के लिए कर सकता है. ये निर्देश यूनिवर्सल हैं और किसी भी ईएमएम में काम करते हैं, ताकि के लिए एडमिन अपने उपयोगकर्ताओं के ऐप्लिकेशन को रिमोट तौर पर कॉन्फ़िगर कर सकते हैं फ़ोन.

अगर आपको कारोबार या सरकार के लिए ऐप्लिकेशन डेवलप करने हैं, तो आपको आपके उद्योग की ज़रूरी शर्तों के हिसाब से. इसका इस्तेमाल किया जा रहा है मैनेज किए जा रहे कॉन्फ़िगरेशन, आईटी एडमिन रिमोट तरीके से कॉन्फ़िगरेशन तय कर सकते हैं अपने उपयोगकर्ताओं के Android ऐप्लिकेशन के लिए नीतियां लागू करना और उन्हें लागू करना; इसके लिए उदाहरण:

  • कॉन्फ़िगर करें कि कोई ऐप्लिकेशन मोबाइल नेटवर्क/3G के ज़रिए या सिर्फ़ वाई-फ़ाई से डेटा सिंक कर सकता है या नहीं
  • वेब ब्राउज़र पर यूआरएल को अनुमति देना या उन्हें ब्लॉक करना
  • किसी ऐप्लिकेशन की ईमेल सेटिंग कॉन्फ़िगर करना
  • प्रिंट करने की सुविधा चालू या बंद करें
  • बुकमार्क प्रबंधित करें

मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करने के सबसे सही तरीके

मैनेज किए जा रहे कॉन्फ़िगरेशन सेट अप करें बनाने और डिप्लॉय करने के बारे में जानकारी का मुख्य सोर्स होता है. मैनेज किए जा रहे कॉन्फ़िगरेशन. यह दस्तावेज़ पढ़ने के बाद, देखें ज़्यादा जानकारी के लिए नीचे दिए गए सुझाव देखें.

ऐप्लिकेशन को पहली बार लॉन्च करते समय

ऐप्लिकेशन लॉन्च करते ही, आप देख सकते हैं कि मैनेज किए जा रहे ऐप्लिकेशन onStart() में इस ऐप्लिकेशन के लिए कॉन्फ़िगरेशन पहले से सेट हैं या onResume(). साथ ही, यह पता लगाया जा सकता है कि क्या ऐप्लिकेशन प्रबंधित या प्रबंधित नहीं है. उदाहरण के लिए, अगर getApplicationRestrictions() का इस्तेमाल करके, ये प्रॉडक्ट लौटाए जा सकते हैं:

  • ऐप्लिकेशन के हिसाब से पाबंदियों का सेट—आपको मैनेज किए जा रहे कॉन्फ़िगरेशन को बिना बोले, कॉन्फ़िगर कर सकता है उपयोगकर्ता का इनपुट).
  • खाली बंडल—आपका ऐप्लिकेशन इस तरह काम करता है जिसे मैनेज नहीं किया जा रहा हो. उदाहरण के लिए, ऐप्लिकेशन निजी तौर पर कैसे काम करता है प्रोफ़ाइल).
  • एक बंडल जिसमें एक की वैल्यू पेयर मौजूद हो KEY_RESTRICTIONS_PENDING को 'सही' पर सेट किया गया—आपके ऐप्लिकेशन को मैनेज किया जा रहा है, लेकिन DPC को कॉन्फ़िगर नहीं किया गया है सही तरीके से. आपको इस उपयोगकर्ता को अपने ऐप्लिकेशन से ब्लॉक करना चाहिए और सीधे उन्हें अपने आईटी एडमिन को भेज सकते हैं.

मैनेज किए जा रहे कॉन्फ़िगरेशन में हुए बदलावों को सुनें

आईटी एडमिन, मैनेज किए जा रहे कॉन्फ़िगरेशन और वे नीतियां जिन्हें वे अपने उपयोगकर्ताओं पर किसी भी समय लागू करना चाहते हैं. इस वजह से तो हमारा सुझाव है कि आप यह पक्का करें कि आपका ऐप्लिकेशन आपके मैनेज किए जा रहे कॉन्फ़िगरेशन पर ये पाबंदियां दिखेंगी:

  • लॉन्च पर लागू होने वाली पाबंदियां फ़ेच करना—आपके ऐप्लिकेशन को onStart() में getApplicationRestrictions() को कॉल करें और onResume() का इस्तेमाल कर सकते हैं. साथ ही, पुराने पाबंदियों से तुलना कर सकते हैं पर जाकर देखें कि क्या बदलाव करने की ज़रूरत है.
  • चलाते समय सुनें—डाइनैमिक तौर पर रजिस्टर करें ACTION_APPLICATION_RESTRICTIONS_CHANGED आपके नई गतिविधियों या सेवाओं की जांच करने के बाद प्रतिबंध. यह इंटेंट सिर्फ़ उन लोगों को भेजा जाता है जो डाइनैमिक रूप से रजिस्टर किए गए हों और इनका इस्तेमाल ऐप्लिकेशन में मौजूद, लिसनर के तौर पर न किया गया हो मेनिफ़ेस्ट.
  • काम न करने के दौरान रजिस्ट्रेशन रद्द करेंonPause() में, आपको के ब्रॉडकास्ट के लिए रजिस्ट्रेशन रद्द करना होगा ACTION_APPLICATION_RESTRICTIONS_CHANGED.

खास तरह के डिवाइस

खास तरह के डिवाइस, इस्तेमाल किए जाने वाले कीऑस्क डिवाइस हैं किसी एक मकसद के लिए हो. जैसे, डिजिटल साइनेज डिसप्ले, टिकट किऑस्क या चेकआउट रजिस्टर प्रिंट करना.

जब किसी Android डिवाइस को खास डिवाइस के तौर पर कॉन्फ़िगर किया जाता है, तो उपयोगकर्ता को ऐसा ऐप्लिकेशन जो स्क्रीन पर लॉक हो, लेकिन उसमें होम या हाल ही के ऐप्लिकेशन न हों ऐप से बाहर निकलने के लिए बटन. खास तरह के डिवाइसों को भी सेट दिखाने के लिए कॉन्फ़िगर किया जा सकता है ऐप्लिकेशन की सूची में शामिल हैं, जैसे कि लाइब्रेरी के लिए ऐप्लिकेशन वाला लाइब्रेरी कीऑस्क और वेब ब्राउज़र बनाते हैं.

निर्देशों के लिए, इसे देखें डेडिकेटेड डिवाइस.

Chrome के कस्टम टैब से सिंगल साइन-ऑन की सुविधा सेट अप करना

एंटरप्राइज़ के उपयोगकर्ताओं के डिवाइस पर अक्सर कई ऐप्लिकेशन होते हैं और वे अपने सभी काम से जुड़े ऐप्लिकेशन ऐक्सेस करने के लिए एक बार साइन इन करना चाहेगा. आम तौर पर, उपयोगकर्ता किसी वेबव्यू; हालांकि, यह कुछ वजहों से सही नहीं है:

  1. उपयोगकर्ताओं को अक्सर इसी खाते से कई बार साइन इन करना पड़ता है क्रेडेंशियल डालें. वेबव्यू समाधान की मदद से साइन-ऑन (एसएसओ) का अनुभव.
  2. सुरक्षा से जुड़े जोखिम हो सकते हैं. इनमें नुकसान पहुंचाने वाले ऐप्लिकेशन भी शामिल हैं कुकी की जांच करना या किसी उपयोगकर्ता की क्रेडेंशियल डालें. भरोसेमंद डेवलपर को भी जोखिम हो सकता है, अगर वे नुकसान पहुंचाने वाले तीसरे पक्ष के SDK टूल.

दोनों समस्याओं का हल है ब्राउज़र का इस्तेमाल करने वाले उपयोगकर्ताओं की पुष्टि करना वेबव्यू के बजाय कस्टम टैब. इससे पक्का होता है कि प्रमाणीकरण:

  • ऐसा सुरक्षित कॉन्टेक्स्ट (सिस्टम ब्राउज़र) में होता है, जहां होस्ट ऐप्लिकेशन कॉन्टेंट की जांच नहीं कर सकता.
  • इसमें कुकी की स्थिति शेयर की गई है, जिससे पक्का होता है कि उपयोगकर्ता को सिर्फ़ साइन इन करना होगा एक बार.

ज़रूरी शर्तें

कस्टम टैब, एपीआई लेवल 15 (Android 4.0.3) पर वापस काम करते हैं. कस्टम टैब का इस्तेमाल करने के लिए, आपको ऐसे ब्राउज़र की ज़रूरत होगी जिस पर यह सुविधा काम करती हो, जैसे कि Chrome. Chrome 45 और बाद के वर्शन इस सुविधा को Chrome के कस्टम टैब.

मैं कस्टम टैब के साथ एसएसओ (SSO) कैसे लागू करूं?

Google ने एक OAuth क्लाइंट लाइब्रेरी ओपन सोर्स की है जो कस्टम टैब, जो कि OpenID Foundation. एसएसओ (SSO) के साथ कस्टम टैब सेट अप करने के लिए AppAuth लाइब्रेरी में, इसे देखें दस्तावेज़ और सैंपल कोड GitHub पर.

अपने ऐप्लिकेशन का परीक्षण करें

अपना ऐप्लिकेशन डेवलप करने के बाद, आपको उसे वर्क प्रोफ़ाइल और पूरी तरह से टेस्ट, दोनों जगह टेस्ट करना चाहिए मैनेज किया जा रहा डिवाइस. नीचे दिए गए निर्देश देखें.

अपने Android ऐप्लिकेशन की जांच करने के लिए, DPC की जांच करें

हम Test DPC ऐप्लिकेशन उपलब्ध कराते हैं, ताकि Android डेवलपर को किसी एंटरप्राइज़ में अपने ऐप्लिकेशन की जांच करने में मदद मिल सके पर्यावरण को ध्यान में रखते हुए काम करना. टेस्ट डीपीसी का इस्तेमाल करके, ईएमएम नीतियों या मैनेज की जा रही कॉन्फ़िगरेशन वैल्यू को इस पर सेट किया जा सकता है: डिवाइस—जैसे कि कोई संगठन किसी ईएमएम का इस्तेमाल करके डिवाइस को मैनेज करता है. किसी डिवाइस पर टेस्ट DPC इंस्टॉल करने के लिए, इनमें से कोई एक तरीका चुनें:

  • इससे परीक्षण DPC इंस्टॉल करें GooglePlay पर भी दिखेगा.
  • इस पर सोर्स से बनाएं GitHub.

DPC की जांच करने के तरीके को कॉन्फ़िगर करने के बारे में ज़्यादा जानकारी के लिए, नीचे दिए गए निर्देश और DPC उपयोगकर्ता की जांच करें गाइड.

वर्क प्रोफ़ाइल का प्रावधान करें

वर्क प्रोफ़ाइल में अपने ऐप्लिकेशन की जांच करने के लिए, आपको सबसे पहले DPC ऐप्लिकेशन की जांच करने का तरीका यहां बताया गया है:

  1. अपने डिवाइस पर टेस्ट DPC इंस्टॉल करें.
  2. Android लॉन्चर में, Test DPC सेट अप करें ऐप्लिकेशन आइकॉन पर टैप करें.
  3. स्क्रीन पर दिए गए निर्देशों का पालन करें.
  4. डिवाइस पर अपना ऐप्लिकेशन इंस्टॉल करें और देखें कि वर्क प्रोफ़ाइल में यह कैसे काम करता है.

Android, वर्क प्रोफ़ाइल बनाता है और वर्क प्रोफ़ाइल में टेस्ट डीपीसी की एक कॉपी इंस्टॉल करता है. आप इसका इस्तेमाल करते/करती हैं वर्क प्रोफ़ाइल में नीतियां और मैनेज किए जा रहे कॉन्फ़िगरेशन सेट करने के लिए, Test DPC का वर्क-बैज वाला इंस्टेंस. यहां की यात्रा पर हूं डेवलपमेंट के लिए वर्क प्रोफ़ाइल सेट अप करने के बारे में ज़्यादा जानें, डेवलपर की गाइड पढ़ें वर्क प्रोफ़ाइलें.

पूरी तरह से मैनेज किए जा रहे डिवाइस का प्रावधान करें

संगठन पूरी तरह से मैनेज किए जा रहे डिवाइसों का इस्तेमाल करते हैं, क्योंकि वे पूरी तरह से मैनेजमेंट की सेटिंग लागू कर सकते हैं नीतियां लागू होती हैं. पूरी तरह से मैनेज किए जा रहे डिवाइस का प्रावधान करने के लिए, यह तरीका अपनाएं:

  1. अपने डिवाइस पर टेस्ट DPC इंस्टॉल करें.
  2. पुष्टि करें कि डिवाइस पर कोई अन्य उपयोगकर्ता या वर्क प्रोफ़ाइल नहीं है.
  3. पुष्टि करें कि डिवाइस पर कोई खाता न हो.
  4. इसमें, यहां दिया गया Android डीबग ब्रिज (adb) निर्देश चलाएं आपका टर्मिनल:
    adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
  5. डिवाइस के मालिक का प्रावधान करने के बाद, उस डिवाइस पर अपने ऐप्लिकेशन की जांच की जा सकती है. आपने लोगों तक पहुंचाया मुफ़्त में साफ़ तौर पर इसकी जांच करनी चाहिए कि मैनेज किए जा रहे कॉन्फ़िगरेशन और इंटेंट उस डिवाइस पर काम करता है.

प्रावधान करने के अन्य तरीकों का भी इस्तेमाल किया जा सकता है. इसके लिए, DPC की जांच के लिए इस्तेमाल होने वाली गाइड देखें. यह जानने के लिए कि IT आम तौर पर, एडमिन Android पर चलने वाले डिवाइसों को रजिस्टर और प्रावधान करते हैं, प्रॉविज़न डिवाइस में बदल सकते हैं.

शुरू से आखिर तक जांच करना

ऊपर बताए गए एनवायरमेंट में अपने ऐप्लिकेशन की जांच करने के बाद, आपको शुरू से आखिर तक प्रोडक्शन में अपने ऐप्लिकेशन को टेस्ट करना चाहिए पर्यावरण को ध्यान में रखते हुए काम करना. इस प्रोसेस में वे चरण शामिल हैं जो खरीदार को ज़रूरी होते हैं आपके ऐप्लिकेशन को उनके संगठन में डिप्लॉय करने की ज़िम्मेदारी लेते हैं. इनमें ये शामिल हैं:

  • Play पर ऐप्लिकेशन डिस्ट्रिब्यूशन
  • सर्वर साइड से मैनेज किया जा रहा कॉन्फ़िगरेशन
  • सर्वर साइड प्रोफ़ाइल की नीति से जुड़ा कंट्रोल

शुरू से आखिर तक पूरी प्रोसेस पूरी करने के लिए, आपको ईएमएम कंसोल को ऐक्सेस करना होगा टेस्टिंग हो रही है. इसे पाने का सबसे आसान तरीका, टेस्टिंग कंसोल का अनुरोध करना है ईएमएम से. ऐक्सेस मिलने के बाद, ये काम पूरे करें:

  1. इसकी मदद से अपने ऐप्लिकेशन का टेस्ट वर्शन बनाएं नया ऐप्लिकेशन आईडी शामिल करें.
  2. मैनेज किए जा रहे Google डोमेन पर दावा करें और उसे अपने ईएमएम से जोड़ें. अगर आपको आपके पास पहले से ही एक टेस्टिंग डोमेन है, जो किसी ईएमएम से जुड़ा है. इसलिए, आपको लिंक करना बंद करें, ताकि इसकी जांच आपके पसंदीदा ईएमएम के साथ की जा सके. कृपया अपने लिंक हटाने वाले खास चरणों के लिए ईएमएम.
  3. अपने ऐप्लिकेशन को निजी चैनल पर पब्लिश करके, मैनेज किया जा रहा है.
  4. ईएमएम कंसोल और ईएमएम ऐप्लिकेशन का इस्तेमाल इन कामों के लिए करें:
    1. वर्क डिवाइस सेट अप करें.
    2. अपना ऐप्लिकेशन डिस्ट्रिब्यूट करें.
    3. मैनेज किया जा रहा कॉन्फ़िगरेशन सेट करें.
    4. डिवाइस से जुड़ी नीतियां सेट करें.

यह प्रोसेस, ईएमएम के हिसाब से अलग-अलग होगी. कृपया अपने ज़्यादा जानकारी के लिए, ईएमएम के दस्तावेज़. बधाई हो! आपने पूरा कर लिया है साथ ही, यह पुष्टि की हो कि आपका ऐप्लिकेशन एंटरप्राइज़ उपयोगकर्ताओं के लिए ठीक से काम करता है.