ऐप्लिकेशन की डिफ़ॉल्ट सेटिंग

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

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

नीति का कॉन्फ़िगरेशन

डिफ़ॉल्ट ऐप्लिकेशन कॉन्फ़िगर करने के लिए, नीति में defaultApplicationSettings फ़ील्ड में एक या उससे ज़्यादा DefaultApplicationSetting ऑब्जेक्ट जोड़ें. हर सेटिंग ऑब्जेक्ट, किसी खास ऐप्लिकेशन टाइप को टारगेट करता है. साथ ही, इसे अलग-अलग स्कोप पर लागू किया जा सकता है.

डिफ़ॉल्ट ऐप्लिकेशन सेट करना

हर DefaultApplicationType के लिए, defaultApplications फ़ील्ड में ऐप्लिकेशन की प्राथमिकता वाली सूची दी जा सकती है. एपीआई, डिवाइस पर इंस्टॉल किए गए और ऐप्लिकेशन टाइप के लिए ज़रूरी शर्तें पूरी करने वाले ऐप्लिकेशन को डिफ़ॉल्ट ऐप्लिकेशन के तौर पर सेट करेगा.

सिस्टम ऐप्लिकेशन के अलावा किसी अन्य ऐप्लिकेशन को डिफ़ॉल्ट ऐप्लिकेशन के तौर पर सेट करने के लिए, डिवाइस पर मौजूद ऐप्लिकेशन की साइनिंग कुंजी के सर्टिफ़िकेट फ़िंगरप्रिंट का मिलान, Google Play Store से मिले फ़िंगरप्रिंट या ApplicationPolicy.signingKeyCerts में मौजूद किसी एंट्री से होना चाहिए.

स्कोप तय करना

defaultApplicationScopes फ़ील्ड से पता चलता है कि नीति कहां लागू की गई है. ये स्कोप उपलब्ध हैं:

  • SCOPE_FULLY_MANAGED: यह पूरी तरह से मैनेज किए जा रहे डिवाइसों पर लागू होता है.
  • SCOPE_WORK_PROFILE: यह कंपनी के मालिकाना हक वाले या निजी डिवाइसों पर वर्क प्रोफ़ाइल पर लागू होता है.
  • SCOPE_PERSONAL_PROFILE: यह कंपनी के मालिकाना हक वाले डिवाइसों पर मौजूद निजी प्रोफ़ाइल पर लागू होता है.

SCOPE_FULLY_MANAGED या SCOPE_WORK_PROFILE के लिए डिफ़ॉल्ट ऐप्लिकेशन सेट करते समय, यह ज़रूरी है कि ऐप्लिकेशन की एंट्री applications नीति में मौजूद हो. उस ऐप्लिकेशन के लिए installType, BLOCKED नहीं होना चाहिए.

SCOPE_PERSONAL_PROFILE को टारगेट करने पर, नीति सिर्फ़ पहले से इंस्टॉल किए गए सिस्टम ऐप्लिकेशन को डिफ़ॉल्ट के तौर पर सेट करने तक सीमित होती है.

क्रॉस-प्रोफ़ाइल भूमिकाएं

कुछ भूमिकाएं, जैसे कि DEFAULT_WALLET, किसी डिवाइस पर मौजूद सभी प्रोफ़ाइलों पर लागू होती हैं. कंपनी के मालिकाना हक वाले डिवाइस पर, वर्क प्रोफ़ाइल के साथ इन भूमिकाओं के लिए, एडमिन वर्क प्रोफ़ाइल या निजी प्रोफ़ाइल में डिफ़ॉल्ट ऐप्लिकेशन सेट कर सकता है. हालांकि, वह दोनों में एक साथ डिफ़ॉल्ट ऐप्लिकेशन सेट नहीं कर सकता.

मैनेजमेंट मोड और Android वर्शन

डिवाइस के मैनेजमेंट मोड और Android वर्शन के हिसाब से, यह सुविधा काम करती है या नहीं.

मैनेजमेंट मोड Android 14 - 15 Android 16+
पूरी तरह से मैनेज किया गया सिर्फ़ DEFAULT_DIALER सभी तरह के ऐप्लिकेशन के साथ काम करता है.
कंपनी के मालिकाना हक वाला डिवाइस, जिसमें वर्क प्रोफ़ाइल सेट अप की गई हो ये काम नहीं करते हैं वर्क प्रोफ़ाइल: DEFAULT_BROWSER, DEFAULT_CALL_REDIRECTION, DEFAULT_CALL_SCREENING, DEFAULT_DIALER, और DEFAULT_WALLET.
निजी प्रोफ़ाइल: DEFAULT_BROWSER, DEFAULT_DIALER, DEFAULT_SMS, और DEFAULT_WALLET.
वर्क प्रोफ़ाइल वाला निजी डिवाइस ये काम नहीं करते हैं वर्क प्रोफ़ाइल: DEFAULT_BROWSER, DEFAULT_CALL_REDIRECTION, DEFAULT_CALL_SCREENING, और DEFAULT_DIALER.
निजी प्रोफ़ाइल: यह सुविधा उपलब्ध नहीं है

गैर-अनुपालन की रिपोर्टिंग

अगर नीति लागू नहीं की जा सकती, तो डिवाइस नीति के उल्लंघन की सूचना देता है. इसके बारे में जानने के लिए, NonComplianceDetail देखें. नीति के उल्लंघन की सामान्य वजहें ये हैं:

  • डिवाइस या कॉन्फ़िगरेशन के साथ काम नहीं करता: अगर डिवाइस के Android वर्शन या उसके मैनेजमेंट मोड के साथ सुविधा काम नहीं करती है, तो API_LEVEL या MANAGEMENT_MODE के तौर पर उल्लंघन की वजह बताई जाती है.
  • ऐसे स्कोप जिनका इस्तेमाल नहीं किया जा सकता: अगर नीति में बताए गए स्कोप में से कोई भी स्कोप, डिवाइस के मैनेजमेंट मोड पर लागू नहीं होता है (उदाहरण के लिए, सिर्फ़ SCOPE_PERSONAL_PROFILE वाली नीति को पूरी तरह से मैनेज किए गए डिवाइस पर भेजा जाता है), तो नीति के उल्लंघन की सूचना दी जाती है. इसकी वजह MANAGEMENT_MODE और खास वजह DEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES होती है.
  • ऐप्लिकेशन इंस्टॉल नहीं किया गया है: पूरी तरह से मैनेज किए गए डिवाइसों और वर्क प्रोफ़ाइलों के लिए, अगर प्राथमिकता वाली सूची में मौजूद कोई भी ऐप्लिकेशन डिवाइस पर इंस्टॉल नहीं है, तो नीति के उल्लंघन की सूचना दी जाती है. इसकी वजह APP_NOT_INSTALLED होती है.
  • अमान्य वैल्यू: अगर कम से कम एक ऐप्लिकेशन इंस्टॉल है, लेकिन अन्य वजहों से डिफ़ॉल्ट ऐप्लिकेशन सेटिंग लागू नहीं हो पाती हैं (जैसे कि ऐप्लिकेशन सही टाइप का नहीं है), तो INVALID_VALUE की वजह से नीति के उल्लंघन की रिपोर्ट की जाती है.
  • निजी प्रोफ़ाइल में समस्या: अगर निजी प्रोफ़ाइल किसी भी वजह से लागू नहीं होती है, तो सामान्य INVALID_VALUE उल्लंघन की सूचना दी जाती है. इसमें निजी ऐप्लिकेशन के इंस्टॉल होने की स्थिति का खुलासा नहीं किया जाता है.

आवेदन की स्थिति की डिफ़ॉल्ट रिपोर्टिंग

Android 16 से, डिवाइस की स्थिति की रिपोर्ट में defaultApplicationInfo शामिल है. इस फ़ील्ड में, मौजूदा डिफ़ॉल्ट ऐप्लिकेशन और नीति लागू करने की कोशिशों के नतीजों के बारे में जानकारी मिलती है. इस रिपोर्टिंग को चालू करने के लिए, defaultApplicationInfoReportingEnabled फ़्लैग को StatusReportingSettings में true पर सेट करें.

  • पूरी तरह से मैनेज किए जा रहे डिवाइस: रिपोर्ट में सभी तरह के ऐप्लिकेशन शामिल होते हैं.
  • वर्क प्रोफ़ाइल वाले डिवाइस: रिपोर्ट में सिर्फ़ उन ऐप्लिकेशन के टाइप शामिल होते हैं जो वर्क प्रोफ़ाइल के साथ काम करते हैं.

रिपोर्ट में मौजूद हर तरह के ऐप्लिकेशन में यह जानकारी शामिल होती है:

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

नीति का उदाहरण

डिफ़ॉल्ट ब्राउज़र और डायलर सेट करने वाली नीति का एक उदाहरण यहां दिया गया है. ऐप्लिकेशन को applications नीति में जोड़ा जाता है, क्योंकि स्कोप में SCOPE_FULLY_MANAGED या SCOPE_WORK_PROFILE शामिल है. defaultApplicationInfoReportingEnabled को true पर सेट किया गया है, ताकि रिपोर्टिंग की जा सके.

{
  "applications": [
    {
      "packageName": "com.android.chrome",
      "installType": "AVAILABLE"
    },
    {
      "packageName": "com.google.android.dialer",
      "installType": "AVAILABLE"
    },
    {
      "packageName": "com.samsung.android.dialer",
      "installType": "AVAILABLE"
    }
  ],
  "statusReportingSettings": {
    "defaultApplicationInfoReportingEnabled": true
  },
  "defaultApplicationSettings": [
    {
      "defaultApplicationType": "DEFAULT_BROWSER",
      "defaultApplications": [
        {
          "packageName": "com.android.chrome"
        }
      ],
      "defaultApplicationScopes": [
        "SCOPE_FULLY_MANAGED",
        "SCOPE_WORK_PROFILE"
      ]
    },
    {
      "defaultApplicationType": "DEFAULT_DIALER",
      "defaultApplications": [
        {
          "packageName": "com.google.android.dialer"
        },
        {
          "packageName": "com.samsung.android.dialer"
        }
      ],
      "defaultApplicationScopes": [
        "SCOPE_FULLY_MANAGED",
        "SCOPE_WORK_PROFILE",
        "SCOPE_PERSONAL_PROFILE"
      ]
    }
  ]
}