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

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

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

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

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

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

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

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

स्कोप तय करना

The 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 शामिल होता है. इस फ़ील्ड में, मौजूदा डिफ़ॉल्ट ऐप्लिकेशन और नीति लागू करने की कोशिशों के नतीजों के बारे में जानकारी मिलती है. इस रिपोर्टिंग को चालू करने के लिए, StatusReportingSettings में मौजूद defaultApplicationInfoReportingEnabled फ़्लैग को 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"
      ]
    }
  ]
}