सुरक्षा केंद्र को चालू या बंद करना
सुरक्षा केंद्र को चालू या बंद करने के लिए, frameworks/base/core/res/res/values/config.xml
फ़ाइल में ओवरले किए जा सकने वाले config_enableSafetyCenter
बूलियन फ़ील्ड का इस्तेमाल करें.
ज़्यादातर डिवाइसों पर, सुरक्षा केंद्र डिफ़ॉल्ट रूप से काम करता है. उदाहरण के लिए, फ़ोन और टैबलेट पर. कुछ डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन पर, Safety Center डिफ़ॉल्ट रूप से बंद रहता है. जैसे, Auto, TV, और Wear पर.
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- ... -->
<!-- Determines whether SafetyCenter feature is enabled. -->
<bool name="config_enableSafetyCenter">true</bool>
<!-- ... -->
</resources>
सुरक्षा केंद्र की सुविधा इस्तेमाल करने के लिए, config_enableSafetyCenter
को true
पर सेट करें. अगर आपको सुरक्षा केंद्र का इस्तेमाल नहीं करना है, तो इस वैल्यू को false
पर सेट करके इसे बंद करें.
Safety Center बंद होने पर, सुरक्षा और निजता पेज पर रीडायरेक्ट करने की कोशिश करने पर, Settings ऐप्लिकेशन खुलता है. एपीआई के साथ इंटरैक्ट करने की किसी भी कोशिश को अनदेखा कर दिया जाता है या डिफ़ॉल्ट वैल्यू दिखा दी जाती है. इससे जुड़ी क्विक सेटिंग टाइल और सेटिंग एंट्री भी दिखती हैं या छिपा दी जाती हैं. हालांकि, यह इस बात पर निर्भर करता है कि सुरक्षा केंद्र चालू है या नहीं.
DeviceConfig फ़्लैग
config_enableSafetyCenter
कॉन्फ़िगरेशन का इस्तेमाल करके सुरक्षा केंद्र को चालू करने के अलावा, DeviceConfig
फ़्लैग (safety_center_is_enabled
) का इस्तेमाल सुरक्षा केंद्र को रिमोट तरीके से चालू या बंद करने के लिए भी किया जाता है.
Android 14 और इसके बाद के वर्शन में, आपको कुछ और करने की ज़रूरत नहीं है, क्योंकि यह फ़्लैग डिफ़ॉल्ट रूप से true
पर सेट होता है.
Android 13 में, सर्वर-साइड पर Safety Center डिफ़ॉल्ट रूप से बंद होता है. साथ ही, इस फ़्लैग का इस्तेमाल करके, अनुमति वाली सूची से इसे चालू किया जा सकता है. अपने डिवाइस के फ़िंगरप्रिंट सबमिट करें. साथ ही, अपने TAM को अनुमति वाली सूची में जोड़ने के लिए संपर्क करें. ध्यान दें कि अनुमति वाली सूची में, मुख्य वर्शन M-2022-11
या उसके बाद का वर्शन जोड़ना ज़रूरी है.
लोकल डेवलपमेंट और जांच के लिए, इस फ़्लैग को adb
निर्देश का इस्तेमाल करके, स्थानीय तौर पर चालू या बंद किया जा सकता है (फिर से चालू किए जाने तक). उदाहरण के लिए, फ़्लैग को चालू करने के लिए:
adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true
सुरक्षा केंद्र की सुविधा चालू है या नहीं, इसकी पुष्टि करने के लिए:
adb root
adb shell cmd safety_center enabled
इससे यह पता चलेगा कि डिवाइस पर Safety Center सही तरीके से चालू है या नहीं.
कॉन्फ़िगरेशन फ़ाइल अपडेट करना
सुरक्षा केंद्र की स्क्रीन के कॉन्टेंट में बदलाव करने के लिए, safety_center_config.xml
कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें. इस फ़ाइल को ओवरले किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि आपने पसंद के मुताबिक बनाने से जुड़ी ज़रूरी शर्तें पूरी की हों.
कॉन्फ़िगरेशन फ़ाइल को ओवरले करें
safety_center_config.xml
फ़ाइल को ओवरले करने के लिए, रनटाइम रिसॉर्स ओवरले (आरआरओ) में बदलाव करने के बारे में जानने के लिए, रनटाइम के दौरान ऐप्लिकेशन के रिसॉर्स की वैल्यू बदलना लेख पढ़ें.
Android 14 में, पक्का करें कि res/raw-v34/safety_center_config.xml
फ़ाइल को ओवरले किया जाए, न कि res/raw/safety_center_config.xml
को, क्योंकि पुरानी फ़ाइल को प्राथमिकता दी जाती है (यह ऐसी अन्य फ़ाइलों पर भी लागू होता है जो v34
के दायरे में हैं, जैसे कि res/values-v34/strings.xml
). ओवरले पैकेज में, कम से कम SDK टूल, 34
से कम होना चाहिए. ऐसा न करने पर, ऑप्टिमाइज़ेशन के दौरान v34
क्वालीफ़ायर हटाया जा सकता है.
साथ ही, स्टैटिक ओवरले का इस्तेमाल करना न भूलें, क्योंकि यह वैल्यू, डिवाइस के चालू होने के समय के आस-पास लोड होती है.
Android Open Source Project (AOSP) डिवाइसों के लिए, पैकेज को टारगेट करें
com.android.safetycenter.resources
. टारगेट करने के लिए कोई ओवरले कॉन्फ़िगरेशन नहीं होता. सभी संसाधन ओवरले किए जा सकते हैं और वीडियो पर कोई पाबंदी नहीं लगाई जाती है.
मेनलाइन अपडेट पाने के लिए कॉन्फ़िगर किए गए GMS डिवाइसों के लिए, पैकेज com.google.android.safetycenter.resources
को टारगेट करें. SafetyCenterConfig
कॉन्फ़िगरेशन को टारगेट करें. इस कॉन्फ़िगरेशन के लिए ज़रूरी है कि ओवरले पैकेज, product
, system
या vendor
में से किसी एक पार्टीशन में हो. GMS OEM को Google की दी गई safety_center_config.xml
फ़ाइल कॉपी करनी चाहिए और GTS टेस्ट के ज़रिए किए गए बदलावों को सीमित करना चाहिए. ओवरले की परिभाषा कुछ ऐसी होनी चाहिए:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.overlay.package"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />
<overlay
android:targetPackage="com.google.android.safetycenter.resources"
android:targetName="SafetyCenterConfig"
android:isStatic="true"
android:priority="0"/>
</manifest>
GMS डिवाइसों के लिए, पैकेज com.android.safetycenter.resources
को टारगेट करें. ये वे डिवाइस होते हैं जिन्हें मेनलाइन अपडेट पाने के लिए कॉन्फ़िगर नहीं किया गया है. लक्षित करने के लिए कोई ओवरले
कॉन्फ़िगरेशन नहीं होता. ओवरले पैकेज को com.google.android.safetycenter.resources
पैकेज नाम का इस्तेमाल करना होगा.
GMS OEM को Google की दी गई safety_center_config.xml
फ़ाइल को कॉपी करना चाहिए और बदलावों को सिर्फ़ उन पर सीमित रखना चाहिए जिन्हें GTS टेस्ट की अनुमति है. GMS OEM को एक्सएमएल कॉन्फ़िगरेशन में इस्तेमाल की गई स्ट्रिंग भी तय करनी होंगी.
फ़ाइल का स्ट्रक्चर
बड़े लेवल पर, safety_center_config.xml
फ़ाइल सुरक्षा सोर्स की सूची होती है. इन सुरक्षा सोर्स को ग्रुप में बांटा जाता है, ताकि सुरक्षा केंद्र की स्क्रीन पर मिलने वाले सिग्नल को मैनेज किया जा सके. जैसे, ऐप्लिकेशन सुरक्षा या स्क्रीन लॉक. इस सूची का क्रम, डिसप्ले ऑर्डर के बारे में बताता है:
<safety-center-config> <!-- Wrapper for the Safety Center configuration -->
<safety-sources-config>< !-- Wrapper for the safety sources groups -->
<safety-sources-group> <!-- Contains information about a safety sources group -->
<dynamic-safety-source /> <!-- Contains information about a safety source -->
<!-- More safety sources in the group -->
</safety-sources-group> <!-- More safety sources groups -->
</safety-sources-config>
</safety-center-config>
Google कॉन्फ़िगरेशन फ़ाइल
एओएसपी कॉन्फ़िगरेशन फ़ाइल packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml
में मौजूद है.
Android 13 में, Google की कॉन्फ़िगरेशन फ़ाइल यह होती है:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
maxSeverityLevel="300"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidAdvancedSecurity"
profile="primary_profile_only"
intentAction="com.android.settings.security.SECURITY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_security_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_security_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_security_search_terms"/>
<static-safety-source
id="AndroidAdvancedPrivacy"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_privacy_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_privacy_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_privacy_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
Android 14 में, Google कॉन्फ़िगरेशन फ़ाइल:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
deduplicationGroup="AppSecurity"/>
<issue-only-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
loggingAllowed="false"
deduplicationGroup="AppSecurity"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
notificationsAllowed="true"
maxSeverityLevel="300"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePasswordCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_password_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_work"
searchTerms="@com.google.android.safetycenter.resources:string/google_password_checkup_search_terms"
initialDisplayState="hidden"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"/>
<dynamic-safety-source
id="GoogleBackupAndRestore"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
title="@com.google.android.safetycenter.resources:string/google_backup_title"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_backup_search_terms"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="GoogleAdsIdentity"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.adsidentity.ACTION_ADS_IDENTITY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_ads_identity_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_ads_identity_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_ads_identity_search_terms"/>
<dynamic-safety-source
id="AndroidHealthConnect"
profile="primary_profile_only"
packageName="com.google.android.healthconnect.controller"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="false"
title="@com.google.android.safetycenter.resources:string/google_health_connect_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_health_connect_search_terms"/>
<dynamic-safety-source
id="AndroidPrivacyAppDataSharingUpdates"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"
title="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<static-safety-source
id="GoogleActivityControls"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.accountsettings.action.ACTIVITY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_activity_controls_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_activity_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_activity_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_work_policy_title"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidMoreSettings"
profile="primary_profile_only"
intentAction="com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_more_settings_title"
summary="@com.google.android.safetycenter.resources:string/google_more_settings_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_more_settings_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
Android 15 में, Google की कॉन्फ़िगरेशन फ़ाइल यह होती है:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
deduplicationGroup="AppSecurity"/>
<issue-only-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
loggingAllowed="false"
deduplicationGroup="AppSecurity"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
notificationsAllowed="true"
maxSeverityLevel="300"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"/>
<dynamic-safety-source
id="GoogleAutoLock"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
maxSeverityLevel="0"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePasswordCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_password_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_private_profile"
searchTerms="@com.google.android.safetycenter.resources:string/google_password_checkup_search_terms"
initialDisplayState="hidden"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"/>
<dynamic-safety-source
id="GoogleBackupAndRestore"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
title="@com.google.android.safetycenter.resources:string/google_backup_title"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_backup_search_terms"/>
</safety-sources-group>
<safety-sources-group
id="AndroidCellularNetworkSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_cellular_network_security_title"
summary="@com.google.android.safetycenter.resources:string/google_cellular_network_security_summary">
<dynamic-safety-source
id="AndroidCellularNetworkSecurity"
packageName="com.android.phone"
profile="primary_profile_only"
notificationsAllowed="true"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary">
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="GoogleAdsIdentity"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.adsidentity.ACTION_ADS_IDENTITY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_ads_identity_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_ads_identity_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_ads_identity_search_terms"/>
<dynamic-safety-source
id="AndroidHealthConnect"
profile="primary_profile_only"
packageName="com.google.android.healthconnect.controller"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="false"
title="@com.google.android.safetycenter.resources:string/google_health_connect_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_health_connect_search_terms"/>
<dynamic-safety-source
id="AndroidPrivacyAppDataSharingUpdates"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"
title="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<static-safety-source
id="GoogleActivityControls"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.accountsettings.action.ACTIVITY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_activity_controls_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_activity_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_activity_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySourcesAdditional"
title="@com.google.android.safetycenter.resources:string/google_privacy_additional_title">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<dynamic-safety-source
id="AndroidPrivateSpace"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_private_space_title"
summary="@com.google.android.safetycenter.resources:string/google_private_space_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_private_space_search_terms"
initialDisplayState="hidden"
maxSeverityLevel="0"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_work_policy_title"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidMoreSettings"
profile="primary_profile_only"
intentAction="com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_more_settings_title"
summary="@com.google.android.safetycenter.resources:string/google_more_settings_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_more_settings_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
सुरक्षा केंद्र के सोर्स को पसंद के मुताबिक बनाएं
Safety Center के सोर्स टाइप
सुरक्षा केंद्र को उपलब्ध कराए जाने वाले डेटा के टाइप के आधार पर, सोर्स डाइनैमिक, सिर्फ़ समस्या वाले या स्टैटिक हो सकते हैं.
डाइनैमिक सोर्स
अगर सुरक्षा स्रोत, सुरक्षा केंद्र को एंट्री और संभावित चेतावनी कार्ड, दोनों के लिए डाइनैमिक डेटा दे सकता है, तो उसे dynamic-safety-source
के तौर पर मार्क करें:
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
maxSeverityLevel="300"
refreshOnPageOpenAllowed="true"/>
सिर्फ़ समस्या वाले सोर्स
अगर सोर्स से जुड़ी कोई सेटिंग एंट्री नहीं है, लेकिन फिर भी चेतावनियां दी गई हैं, तो सोर्स को issue-only-safety-source
के तौर पर मार्क करें. सिर्फ़ चेतावनियां दी जा सकती हैं; सेटिंग में जाने पर गड़बड़ी हो सकती है:
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
स्टैटिक सोर्स
अगर सोर्स, रीडायरेक्ट करने वाली कोई ऐसी एंट्री है जिसमें कोई डाइनैमिक डेटा नहीं है, तो सोर्स को static-safety-source
के तौर पर मार्क करें:
<static-safety-source
id="AndroidAdvancedSecurity"
profile="primary_profile_only"
intentAction="com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_security_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_security_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_security_search_terms"/>
सुरक्षा केंद्र के सोर्स का कॉन्फ़िगरेशन
Security Center के सोर्स टाइप और अन्य इनवैरिएंट के आधार पर, कॉन्फ़िगरेशन फ़ाइल के फ़ील्ड वैकल्पिक, ज़रूरी या पाबंदी वाले हो सकते हैं. साथ ही, इन्हें पसंद के मुताबिक बनाया जा सकता है:
id
- सुरक्षा सोर्स के लिए यूनीक आइडेंटिफ़ायर, पूरी फ़ाइल में यूनीक होना चाहिए. साथ ही, इसमें सिर्फ़ अंग्रेज़ी के वर्ण (a-z, A-Z) होने चाहिए. यह केस-सेंसिटिव होता है
- स्ट्रिंग टाइप
- सुरक्षा से जुड़े सभी तरह के सोर्स के लिए ज़रूरी है
packageName
- उस पैकेज का नाम जिसके पास सुरक्षा सोर्स का मालिकाना हक है. उदाहरण के लिए,
com.google.android.permissioncontroller
- स्ट्रिंग टाइप
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी है
- Android 13 में, सुरक्षा से जुड़े स्टैटिक सोर्स के लिए पाबंदी है. हालांकि, Android 14 में इसे सोर्स के
intentAction
को छिपाने के बजाय, साफ़ तौर पर टारगेट करने के लिए सेट किया जा सकता है. ज़्यादा जानकारी के लिए, इंटेंट रिज़ॉल्यूशन दस्तावेज़ देखें
- उस पैकेज का नाम जिसके पास सुरक्षा सोर्स का मालिकाना हक है. उदाहरण के लिए,
initialDisplayState
- सुरक्षा सोर्स से कोई डेटा न दिए जाने पर, यूज़र इंटरफ़ेस (यूआई) एंट्री किस तरह दिखती है
- स्ट्रिंग के तौर पर दिखाया गया एनम टाइप, इनमें से कोई एक होना चाहिए:
enabled
(डिफ़ॉल्ट, सामान्य रूप से दिखता है)disabled
(यह धूसर दिखता है, क्लिक नहीं किया जा सकता)hidden
(नहीं दिखाया जा रहा है)
- डाइनैमिक सुरक्षा सोर्स के लिए ज़रूरी नहीं है (डिफ़ॉल्ट तौर पर, यह
enabled
पर सेट है) - सिर्फ़ समस्याओं और स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
profile
- सुरक्षा से जुड़ा यह सोर्स, उपयोगकर्ता की मैनेज की जा रही प्रोफ़ाइल के साथ इंटरैक्ट करता है या नहीं
- Enum टाइप को स्ट्रिंग के तौर पर दिखाया जाता है. यह इनमें से कोई एक होना चाहिए:
primary_profile_only
(सिर्फ़ माता-पिता की प्रोफ़ाइल से इंटरैक्ट करता है)all_profiles
(मैनेज की जा रही प्रोफ़ाइल और Android 15 पर, निजी प्रोफ़ाइल से भी इंटरैक्ट किया जा सकता है)
all_profiles
पर, कई यूज़र इंटरफ़ेस (यूआई) एंट्री जनरेट की जाती हैं (एक प्रोफ़ाइल पैरंट के लिए और एक मैनेज की जा रही हर प्रोफ़ाइल के लिए). सुरक्षा सोर्स, हर प्रोफ़ाइल के लिए अलग-अलग डेटा दे सकता है- सुरक्षा से जुड़े सभी सोर्स के लिए ज़रूरी है
searchTerms
- सेटिंग ऐप्लिकेशन में खोजने के दौरान, सुरक्षा केंद्र की एंट्री से मैप होने वाले खोज के लिए इस्तेमाल हुए शब्दों की सूची
- रिसॉर्स आईडी, रिसॉर्स के पूरी तरह क्वालिफ़ाइड नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_search_terms
- डाइनैमिक और स्टैटिक सुरक्षा सोर्स के लिए ज़रूरी नहीं है. डिफ़ॉल्ट तौर पर, खोज के लिए इस्तेमाल हुए शब्द डिफ़ॉल्ट नहीं होते
- सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए पाबंदी है
title
- यूज़र इंटरफ़ेस (यूआई) एंट्री का डिफ़ॉल्ट टाइटल, जिसका इस्तेमाल तब किया जाता है, जब सोर्स से डाइनैमिक तौर पर कोई डेटा नहीं दिया जाता
- संसाधन आईडी को पूरी तरह क्वालिफ़ाइड संसाधन के नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_title
- डाइनैमिक और स्टैटिक सुरक्षा सोर्स के लिए ज़रूरी है (अगर
initialDisplayState="hidden"
के साथ कोईsearchTerms
नहीं है, तो) - सिर्फ़ समस्याओं से जुड़े सुरक्षा सोर्स के लिए पाबंदी है
titleForWork
- मैनेज की जा रही प्रोफ़ाइल के लिए यूज़र इंटरफ़ेस (यूआई) एंट्री का डिफ़ॉल्ट टाइटल, जिसका इस्तेमाल तब किया जाता है, जब सोर्स से डेटा को डाइनैमिक तौर पर नहीं दिया जाता है
- रिसॉर्स आईडी, रिसॉर्स के पूरी तरह क्वालिफ़ाइड नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_title_for_work
- यह ऐसे डाइनैमिक और स्टैटिक सुरक्षा सोर्स के लिए ज़रूरी है जिन्होंने
profile="all_profiles"
की जानकारी दी है (जब तक किinitialDisplayState="hidden"
,searchTerms
न हो) - सिर्फ़ सुरक्षा से जुड़ी समस्याओं के बारे में बताने वाले सोर्स या
profile="primary_profile_only"
वाले सोर्स के लिए पाबंदी है
summary
- यूज़र इंटरफ़ेस (यूआई) एंट्री की डिफ़ॉल्ट खास जानकारी (यह टाइटल के नीचे दिखने वाला लंबा टेक्स्ट ब्यौरा होता है). इसका इस्तेमाल तब किया जाता है, जब सोर्स से डेटा डाइनैमिक तौर पर उपलब्ध नहीं कराया जाता
- रिसॉर्स आईडी, रिसॉर्स के पूरी तरह क्वालिफ़ाइड नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_summary
- सुरक्षा से जुड़े स्टैटिक सोर्स के लिए ज़रूरी नहीं है (डिफ़ॉल्ट रूप से कोई खास जानकारी नहीं दी जाती)
- डाइनैमिक सुरक्षा सोर्स के लिए ज़रूरी है (जब तक
initialDisplayState
hidden
न हो) - सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए पाबंदी है
intentAction
- यूज़र इंटरफ़ेस (यूआई) एंट्री पर क्लिक होने पर, ट्रिगर की जाने वाली कार्रवाई
- स्ट्रिंग टाइप, जैसे कि
com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS
या संसाधन आईडी को पूरी तरह क्वालिफ़ाइड संसाधन के नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,@package:string/my_intent_action
- अगर दिए गए
packageName
(अगर कोई है) के लिए, इस इंटेंट कार्रवाई का समाधान नहीं होता है, तो यूज़र इंटरफ़ेस (यूआई) एंट्री उसी तरह काम करती है जैसेinitialDisplayState="disabled"
- ऐसे स्टैटिक सुरक्षा सोर्स और
dynamic
सुरक्षा सोर्स के लिए ज़रूरी है जिनमेंinitialDisplayState="enabled"
मौजूद है - सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए पाबंदी है
maxSeverityLevel
- ज़्यादा से ज़्यादा गंभीरता का लेवल जो सुरक्षा केंद्र का यह सोर्स दे सकता है
- पूर्णांक को स्ट्रिंग के तौर पर दिखाया जाता है, जैसे कि
300
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है (डिफ़ॉल्ट तौर पर, ज़्यादा से ज़्यादा सीमा तय नहीं होती)
- स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
loggingAllowed
- Safety Center, इस सोर्स से जुड़े इंटरैक्शन या डेटा को लॉग कर सकता है या नहीं
- बूलियन को स्ट्रिंग के तौर पर दिखाया गया है, जैसे कि
false
- डाइनैमिक और सिर्फ़ समस्याओं से जुड़े सुरक्षा स्रोतों के लिए ज़रूरी नहीं है (डिफ़ॉल्ट रूप से
true
) - स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
refreshOnPageOpenAllowed
- सुरक्षा केंद्र की स्क्रीन चालू होने पर, डेटा को रीफ़्रेश करने के लिए सिग्नल को सुरक्षा सोर्स को भेजा जाना चाहिए या नहीं
- बूलियन को स्ट्रिंग के तौर पर दिखाया गया है, जैसे कि
true
- डाइनैमिक और सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से
false
पर सेट होता है - स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
notificationsAllowed
(Android 14 और इसके बाद के वर्शन वाले डिवाइसों पर)- क्या सुरक्षा सोर्स, किसी समस्या की शिकायत करते समय सूचना दे सकता है
- बूलियन को स्ट्रिंग के तौर पर दिखाया गया है, जैसे कि
true
- डाइनैमिक और सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से
false
पर सेट होता है - स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
deduplicationGroup
(Android 14 से शुरू)- एक संभावित यूनीक आइडेंटिफ़ायर, जिसका इस्तेमाल अलग-अलग सोर्स से आने वाली समस्याओं की डुप्लीकेट कॉपी हटाने के लिए किया जा सकता है. एक ही डिडुप्लीकेशन ग्रुप के स्रोत, वैकल्पिक डिडुप्लीकेशन आईडी के साथ समस्याएं भेज सकते हैं. डुप्लीकेट कॉपी हटाने वाले एक ही आईडी से जुड़ी समस्याएं, यूज़र इंटरफ़ेस (यूआई) में सिर्फ़ एक बार दिखेंगी. भले ही, उन्हें कई सोर्स से भेजा जा रहा हो.
- स्ट्रिंग टाइप
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. डिफ़ॉल्ट रूप से, डुप्लीकेट कॉपी हटाने की सुविधा नहीं होती है)
- स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
packageCertificateHashes
(Android 14 से शुरू)- दिए गए
packageName
के लिए, सर्टिफ़िकेट हैश की कॉमा-सेपरेटेड लिस्ट. अगर यह सेट है, तो सुरक्षा के मकसद से, सुरक्षा सोर्स के साथ इंटरैक्ट करते समय, दिए गएpackageName
के लिए दिए गएpackageCertificateHashes
के आधार पर सर्टिफ़िकेट की जांच की जाएगी. - स्ट्रिंग टाइप
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. हालांकि, सर्टिफ़िकेट की जांच डिफ़ॉल्ट तौर पर नहीं होती
- स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
- दिए गए
titleForPrivateProfile
(Android 15 से)- उस निजी प्रोफ़ाइल के लिए यूज़र इंटरफ़ेस (यूआई) एंट्री का डिफ़ॉल्ट टाइटल जिसका इस्तेमाल तब किया जाता है, जब सोर्स से डेटा डाइनैमिक तौर पर नहीं दिया जाता
- संसाधन आईडी को पूरी तरह क्वालिफ़ाइड संसाधन के नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_title_for_private_profile
- डाइनैमिक और स्टैटिक सुरक्षा सोर्स के लिए ज़रूरी है, जिनमें
profile="all_profiles"
की जानकारी दी गई है (जब तक किinitialDisplayState="hidden"
के साथ कोईsearchTerms
न हो) - सिर्फ़ समस्या वाले सुरक्षा सोर्स या
profile="primary_profile_only"
वाले सोर्स के लिए पाबंदी है
सुरक्षा केंद्र के सोर्स ग्रुप को पसंद के मुताबिक बनाएं
सुरक्षा केंद्र के सोर्स, सुरक्षा केंद्र के सोर्स ग्रुप में होने चाहिए. हर सोर्स ग्रुप, यूज़र इंटरफ़ेस (यूआई) में उसी क्रम में दिखता है जिस क्रम में सोर्स ग्रुप, फ़ाइल में सूची में होते हैं. हर सोर्स को ग्रुप में उसी क्रम में दिखाया जाता है जिस क्रम में सोर्स फ़ाइल में दिए गए होते हैं. अगर ग्रुप में सुरक्षा का एक सोर्स है, तो उसे ग्रुप के बजाय एक एंट्री के तौर पर दिखाया जाता है.
Safety Center के सोर्स ग्रुप का कॉन्फ़िगरेशन
सुरक्षा केंद्र के सोर्स ग्रुप को पसंद के मुताबिक बनाने के लिए, इन वैरिएबल का इस्तेमाल करें:
id
- सुरक्षा सोर्स ग्रुप के लिए यूनीक आइडेंटिफ़ायर; यह पूरी फ़ाइल में यूनीक होना चाहिए
- स्ट्रिंग टाइप
- ज़रूरी है
title
- यूज़र इंटरफ़ेस (यूआई) में ग्रुप का टाइटल
- रिसॉर्स आईडी, रिसॉर्स के पूरी तरह क्वालिफ़ाइड नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_title
- अगर ग्रुप में कम से कम एक डाइनैमिक या स्टैटिक सुरक्षा सोर्स मौजूद है,
तो ज़रूरी है कि ग्रुप
type="hidden"
का न हो
summary
- यूज़र इंटरफ़ेस (यूआई) में ग्रुप के बारे में कम शब्दों में जानकारी, जो शीर्षक के नीचे दिखती है. यह खास परिस्थितियों में दिखती है. आम तौर पर, जब डेटा उपलब्ध नहीं होता है, तब यह दिखती है. इसके अलावा, समरी का हिसाब ग्रुप में मौजूद सोर्स के उपलब्ध कराए गए डेटा के आधार पर लगाया जाता है.
- संसाधन आईडी को पूरी तरह क्वालिफ़ाइड संसाधन के नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_summary
- ज़रूरी नहीं (डिफ़ॉल्ट रूप से कोई खास जानकारी नहीं होती)
statelessIconType
- जब सुरक्षा से जुड़े सोर्स से कोई स्टेटस नहीं दिया जाता है, तब ग्रुप के लिए दिखाया जाने वाला आइकॉन टाइप. उदाहरण के लिए, स्टैटिक एंट्री
- स्ट्रिंग के तौर पर दिखाया गया एनम टाइप, जो
none
याprivacy
(निजता आइकॉन टाइप) में से कोई एक होना चाहिए - ज़रूरी नहीं है (डिफ़ॉल्ट तौर पर, यह
none
पर सेट होती है)
type
(Android 14 और इसके बाद के वर्शन वाले डिवाइसों पर)- यह ग्रुप, सुरक्षा केंद्र के साथ कैसे इंटरैक्ट करता है, इस बारे में जानकारी के लिए खास टाइप
- Enum टाइप को स्ट्रिंग के तौर पर दिखाया जाता है. यह इनमें से कोई एक होना चाहिए:
stateful
(यह Safety Center की पूरी स्थिति दिखाता है और उसमें योगदान देता है)stateless
(यह दिखता है, लेकिन Safety Center के स्टेटस में इसकी कोई भूमिका नहीं होती)hidden
(नहीं दिखता, सभी सोर्स में सिर्फ़ समस्याएं होनी चाहिए)
- ज़रूरी नहीं है. इसका अनुमान, ग्रुप में मौजूद सुरक्षा स्रोतों के साथ-साथ
summary
औरstatelessIconType
का इस्तेमाल करके लगाया जाता है. अगरtype
में कुछ अन्य इन्वैरिएंट लागू किए गए हैं, तो यह पक्का किया जा सकता है कि वे ग्रुप में मिले सोर्स से मेल खाते हों. उदाहरण के लिए, अगर ग्रुप में उपयोगकर्ताओं को दिखने वाली एंट्री मौजूद हैं, तो ग्रुप कोhidden
नहीं किया जा सकता
सुरक्षा केंद्र के सोर्स ग्रुप के टाइप
कुछ फ़ील्ड की स्थिति के आधार पर, सुरक्षा केंद्र के सोर्स ग्रुप को स्टेटफ़ुल, स्टेटलेस या छिपाए गए सोर्स की कैटगरी में रखा जाता है.
स्टेटफ़ुल ग्रुप
जिस ग्रुप में टाइटल और खास जानकारी, दोनों होती है या stateLessIconType="privacy"
को स्टेटफ़ुल माना जाता है वह सुरक्षा केंद्र के पूरे स्टेटस में योगदान देता है:
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
Android 13 में, ऐसा ग्रुप यूज़र इंटरफ़ेस (यूआई) में छोटा किया जा सकने वाला एलिमेंट के तौर पर दिखेगा. Android 14 में, यह एंट्री के तौर पर अपने स्टेटस के साथ दिखेगा, जो सबपेज पर रीडायरेक्ट करेगा.
स्टेटलेस ग्रुप
ऐसा ग्रुप जिसका टाइटल है, लेकिन कोई खास जानकारी नहीं है. साथ ही, stateLessIconType="none"
को स्टेटलेस माना जाता है और यह सुरक्षा केंद्र के स्टेटस पर कोई असर नहीं डालता:
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
ऐसा ग्रुप, यूज़र इंटरफ़ेस (यूआई) में एंट्री की सख्त सूची के तौर पर दिखेगा.
छिपाया गया ग्रुप
छिपे हुए ग्रुप में सिर्फ़ समस्या वाले सुरक्षा सोर्स मौजूद हैं और उसका कोई टाइटल नहीं है. छिपे हुए ग्रुप, यूज़र इंटरफ़ेस (यूआई) में नहीं दिखते:
<safety-sources-group
id="HiddenGroup">
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
स्टैटिक एंट्री के लिए डाइनैमिक डेटा
Safety Center के डाइनैमिक सोर्स को स्टैटिक एंट्री के तौर पर दिखाया जा सकता है. इससे कुछ शर्तों के आधार पर, रीडायरेक्ट करने वाली एंट्री को पुश करने की सुविधा मिलती है. साथ ही, रनटाइम के दौरान इसके कॉन्टेंट को पसंद के मुताबिक बनाने की सुविधा मिलती है. स्टेटलेस ग्रुप में डाइनैमिक सोर्स तय करें. उदाहरण के लिए, ऑफ़िस की नीति की जानकारी वाली एंट्री के आधार पर.
इस उदाहरण में एक ऐसा डाइनैमिक सुरक्षा सोर्स दिखाया गया है जो सुरक्षा सिग्नल नहीं देता, क्योंकि यह एक स्टेटलेस ग्रुप में है:
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<!-- … -->
</safety-sources-group>
इस उदाहरण में, सोर्स सिर्फ़ हरे रंग के चेतावनी कार्ड को पुश कर सकता है और कोई स्टेटस नहीं दे सकता. अन्य डेटा उपलब्ध कराने के लिए, सोर्स को किसी स्टेटफ़ुल ग्रुप में होना चाहिए.
स्ट्रिंग और ओवरले फ़ील्ड को पसंद के मुताबिक बनाएं
जिन GMS डिवाइसों को Mainline अपडेट पाने के लिए कॉन्फ़िगर नहीं किया गया है उनके लिए, पूरी कॉन्फ़िगरेशन फ़ाइल को ओवरले करने के बजाय, छह स्ट्रिंग रिसॉर्स को ओवरले किया जा सकता है. इससे, अपनी ज़रूरत के हिसाब से बदलाव करने में मदद मिलती है. ओवरले में मौजूद स्ट्रिंग रिसॉर्स की सूची टेबल में दी गई है.
स्ट्रिंग रिसॉर्स | ब्यौरा |
---|---|
google_lock_screen_sources_summary |
इस वैल्यू को ओवरले करके, AndroidLockScreenSources ग्रुप के लिए एक स्टैटिक खास जानकारी तय करें. यह जानकारी तब दिखती है, जब ग्रुप के सभी सोर्स की स्थिति अच्छी हो (जानकारी या गंभीरता का स्तर तय न किया गया हो). डिफ़ॉल्ट रूप से, सुरक्षा केंद्र ग्रुप में उन सभी सोर्स का टाइटल दिखाता है जिन्हें ग्रुप की खास जानकारी के तौर पर जोड़ा गया है. |
google_biometrics_title |
com.android.settings पैकेज के मालिकाना हक वाले बायोमेट्रिक सोर्स के लिए, स्टैटिक टाइटल बनाने के लिए, इस वैल्यू को ओवरले करें. ऐसा तब किया जाता है, जब सोर्स से डाइनैमिक डेटा न दिया गया हो. com.android.settings पैकेज में, सोर्स से डाइनैमिक तौर पर मिले टाइटल को ओवरले करते समय भी, इसे ओवरले करें. इसे डिफ़ॉल्ट रूप से अनदेखा किया जाता है, क्योंकि सोर्स के लिए शुरुआती डिसप्ले की स्थिति hidden है. |
google_biometrics_summary |
इस वैल्यू को ओवरले करके, com.android.settings पैकेज के मालिकाना हक वाले बायोमेट्रिक सोर्स के लिए स्टैटिक समरी तय करें. इसका इस्तेमाल तब किया जाता है, जब सोर्स से कोई डाइनैमिक डेटा उपलब्ध नहीं होता. इसे डिफ़ॉल्ट रूप से अनदेखा किया जाता है, क्योंकि सोर्स के लिए शुरुआती डिसप्ले की स्थिति hidden होती है. |
google_biometrics_search_terms |
com.android.settings पैकेज के मालिकाना हक वाले बायोमेट्रिक सोर्स के लिए, खोज के लिए शब्दों की सूची तय करने के लिए, इस वैल्यू को ओवरले करें. |
google_biometrics_initial_display_state |
जब सोर्स से कोई डाइनैमिक डेटा उपलब्ध न हो, तो com.android.settings पैकेज के मालिकाना हक वाले बायोमेट्रिक सोर्स के लिए यूज़र इंटरफ़ेस (यूआई) एंट्री दिखाने के लिए, इस वैल्यू को ओवरले करें. डिफ़ॉल्ट वैल्यू
hidden है. |
google_security_updates_intent |
इस वैल्यू को ओवरले करके, गतिविधि खोलने के लिए ज़रूरी इंटेंट बदलें. इससे उपयोगकर्ता, सुरक्षा से जुड़े अपडेट देख सकता है और उन्हें इंस्टॉल कर सकता है. यह
इंटेंट ऐक्शन, एक्सपोर्ट की गई गतिविधि से जुड़ा होना चाहिए. डिफ़ॉल्ट वैल्यू
android.settings.SYSTEM_UPDATE_SETTINGS है. |
com.google.android.safetycenter.resources
पैकेज में मौजूद कोई भी दूसरी स्ट्रिंग, ओवरले नहीं की जा सकती.
एओएसपी डिवाइसों के लिए, com.android.safetycenter.resources
पैकेज में मौजूद सभी संसाधन ओवरले किए जा सकते हैं और कॉन्टेंट पर कोई पाबंदी नहीं होती.
जिन GMS डिवाइसों को Mainline अपडेट पाने के लिए कॉन्फ़िगर नहीं किया गया है उनके लिए, एक com.google.android.safetycenter.resources
पैकेज बनाएं. यह पैकेज को बदलें या ओवरले करें com.android.safetycenter.resources
. इसमें, GTS टेस्ट से मिलने वाली सभी स्ट्रिंग तय करना शामिल है.
ये स्ट्रिंग इस तरह हैं:
google_app_security_sources_title
google_app_security_sources_summary
google_play_protect_title
google_play_protect_title_for_work
google_play_protect_summary
google_play_protect_search_terms
google_lock_screen_sources_title
google_lock_screen_sources_summary
google_lock_screen_title
google_lock_screen_summary
google_lock_screen_search_terms
google_biometrics_title
google_biometrics_summary
google_biometrics_search_terms
google_biometrics_initial_display_state
google_accounts_sources_title
google_accounts_sources_summary
google_security_checkup_title
google_security_checkup_title_for_work
google_security_checkup_summary
google_security_checkup_search_terms
google_device_finder_sources_title
google_device_finder_sources_summary
google_find_my_device_title
google_find_my_device_summary
google_find_my_device_search_terms
google_updates_title
google_updates_summary
google_security_updates_title
google_security_updates_summary
google_security_updates_search_terms
google_security_updates_intent
google_play_system_update_title
google_play_system_update_summary
google_play_system_update_search_terms
google_privacy_sources_title
google_privacy_sources_summary
google_permission_usage_title
google_permission_usage_summary
google_permission_usage_search_terms
google_permission_manager_title
google_permission_manager_summary
google_permission_manager_search_terms
google_privacy_controls_title
google_privacy_controls_summary
google_privacy_controls_search_terms
google_advanced_title
google_advanced_security_title
google_advanced_security_summary
google_advanced_security_search_terms
google_advanced_privacy_title
google_advanced_privacy_summary
google_advanced_privacy_search_terms
कस्टमाइज़ेशन के लिए ज़रूरी शर्तें
फ़ाइल फ़ॉर्मैट की ज़रूरी शर्तें
कॉन्फ़िगरेशन फ़ाइल एक एक्सएमएल फ़ाइल होनी चाहिए और कॉन्फ़िगरेशन फ़ाइल अपडेट करें में बताए गए फ़ॉर्मैट का पालन करना चाहिए. फ़ाइल,
raw
फ़ोल्डर में होनी चाहिए. यह सुरक्षा केंद्र के सोर्स को पसंद के मुताबिक बनाने और सुरक्षा केंद्र के सोर्स ग्रुप को पसंद के मुताबिक बनाने में बताए गए इनवैरिएंट के मुताबिक होना चाहिए. अगर कॉन्फ़िगरेशन फ़ाइल ऊपर दी गई ज़रूरी शर्तों के हिसाब से सही नहीं है, तो सुविधा पूरी तरह से बंद हो जाती है. इस फ़ाइल को पार्स करने में CTS और GTS टेस्ट की मदद ली जा सकती है. इससे फ़ाइल के सही से न बने होने (logcat
डिवाइस लॉग में सबसे ऊपर)
पर ज़्यादा जानकारी मिल सकती है.
Google की सेवाओं वाले डिवाइस
GMS डिवाइसों पर, इस फ़ाइल पर कुछ पाबंदियां लगाई गई हैं. यह सुविधा GTS टेस्ट पर काम करती है.
AOSP डिवाइस
एओएसपी डिवाइसों पर, कॉन्फ़िगरेशन फ़ाइल सही तरीके से बनाई जानी चाहिए और सुरक्षा केंद्र के लिए CTS जांचों को पास करना ज़रूरी है. जांच से यह पुष्टि होती है कि फ़ाइल सही तरीके से बनाई गई है. GMS डिवाइसों को भी ये टेस्ट पास करने होंगे.