सुरक्षा केंद्र को चालू या बंद करना
सुरक्षा केंद्र को चालू या बंद करने के लिए, ओवरले करने लायक
config_enableSafetyCenter
बूलियन फ़ील्ड में
frameworks/base/core/res/res/values/config.xml
फ़ाइल से लिए जाते हैं.
ज़्यादातर डिवाइसों पर, सुरक्षा केंद्र डिफ़ॉल्ट रूप से काम करता है. उदाहरण के लिए, फ़ोन और टैबलेट पर भी काम करते हैं. कुछ डिवाइसों के नाप या आकार में, सुरक्षा केंद्र डिफ़ॉल्ट रूप से बंद रहता है. जैसे, Auto, टीवी, और 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
पर सेट करें.
सुरक्षा केंद्र के बंद होने पर, इसके बजाय, निजता पेज से सेटिंग ऐप्लिकेशन खुलता है. बातचीत की कोई भी कोशिश एपीआई को बिना किसी सूचना के अनदेखा किया जाता है या यह डिफ़ॉल्ट वैल्यू दिखाता है. संबंधित क्विक सेटिंग टाइल और सेटिंग एंट्री भी दिखती हैं या छिपाई जाती हैं, यह इस बात पर निर्भर करता है कि क्या सुरक्षा केंद्र चालू है.
DeviceConfig फ़्लैग
config_enableSafetyCenter
का इस्तेमाल करके सुरक्षा केंद्र चालू करने के अलावा
कॉन्फ़िगरेशन,
DeviceConfig
फ़्लैग (safety_center_is_enabled
) का इस्तेमाल सुरक्षा को दूर से चालू या बंद करने के लिए किया जाता है
बीच में.
Android 14 और उसके बाद के वर्शन में, कुछ और करने की ज़रूरत नहीं है
क्योंकि यह फ़्लैग डिफ़ॉल्ट रूप से true
पर सेट है.
Android 13 में, सुरक्षा केंद्र डिफ़ॉल्ट रूप से बंद रहता है
इस फ़्लैग का इस्तेमाल करके, सर्वर-साइड और अनुमति वाली सूची की मदद से चालू किया गया. अपना डिवाइस सबमिट करें
पर क्लिक करें और अनुमति वाली सूची में शामिल करने के लिए अपने 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_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 ओपन सोर्स प्रोजेक्ट (AOSP) डिवाइस के लिए पैकेज को टारगेट करें
com.android.safetycenter.resources
. इसके लिए कोई ओवरले कॉन्फ़िगरेशन नहीं है
टारगेट. सभी संसाधन ओवरले किए जा सकते हैं और वीडियो पर कोई पाबंदी नहीं लगाई जाती है.
जिन GMS डिवाइसों को Mainline अपडेट पाने के लिए कॉन्फ़िगर किया गया है उनके लिए,
पैकेज com.google.android.safetycenter.resources
. कॉन्फ़िगरेशन को टारगेट करें
SafetyCenterConfig
. इस कॉन्फ़िगरेशन के लिए ओवरले पैकेज इसमें होना चाहिए
product
, system
या vendor
सेगमेंट. GMS OEM को
Google की ओर से safety_center_config.xml
file और सीमा
जिनमें 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 डिवाइसों को Mainline अपडेट पाने के लिए कॉन्फ़िगर नहीं किया गया है उनके लिए,
पैकेज 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>
सुरक्षा केंद्र के सोर्स को पसंद के मुताबिक बनाएं
सुरक्षा केंद्र के सोर्स के टाइप
सोर्स डाइनैमिक, सिर्फ़ समस्या या स्टैटिक हो सकते हैं. यह इस बात पर निर्भर करता है कि वे किस तरह के डेटा का इस्तेमाल करते हैं सुरक्षा केंद्र को उपलब्ध कराई जाती हैं.
डाइनैमिक सोर्स
अगर सुरक्षा सोर्स में डाइनैमिक डेटा मिल सकता है, तो उस सोर्स को 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"/>
सुरक्षा केंद्र के सोर्स का कॉन्फ़िगरेशन
सुरक्षा केंद्र के सोर्स टाइप और दूसरे इन्वैरिएंट के आधार पर, कॉन्फ़िगरेशन फ़ाइल फ़ील्ड वैकल्पिक, ज़रूरी या प्रतिबंधित हैं. इन्हें पसंद के मुताबिक बनाया जा सकता है:
id
- सुरक्षा सोर्स के लिए यूनीक आइडेंटिफ़ायर, यह ज़रूरी है कि हर आईडी अलग हो फ़ाइल में सिर्फ़ अंग्रेज़ी वर्णमाला के वर्ण (a-z, A-Z) होने चाहिए और केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है
- स्ट्रिंग टाइप
- सुरक्षा के सभी तरह के सोर्स के लिए ज़रूरी है
packageName
- उस पैकेज का नाम जिसके पास सुरक्षा का यह सोर्स है. उदाहरण के लिए,
com.google.android.permissioncontroller
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - स्ट्रिंग टाइप
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी है
- Android में स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
13; Android 14 में
इसे सोर्स के
intentAction
को टारगेट करने के लिए सेट किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है स्पष्ट रूप से लिखने के बजाय (इंटेंट रिज़ॉल्यूशन देखें दस्तावेज़ देखें)
- उस पैकेज का नाम जिसके पास सुरक्षा का यह सोर्स है. उदाहरण के लिए,
initialDisplayState
- सुरक्षा से जुड़ा कोई डेटा न दिए जाने पर, यूज़र इंटरफ़ेस (यूआई) एंट्री कैसे दिखती है सोर्स
- Enum टाइप को स्ट्रिंग के तौर पर दिखाया जाता है. यह इनमें से कोई एक होना चाहिए:
enabled
(डिफ़ॉल्ट रूप से, यह सामान्य तरीके से दिखता है)disabled
(यह धूसर दिखता है, क्लिक नहीं किया जा सकता)hidden
(नहीं दिखाया जा रहा है)
- डाइनैमिक सुरक्षा सोर्स के लिए ज़रूरी नहीं है (डिफ़ॉल्ट तौर पर, यह
enabled
पर सेट है) - सिर्फ़ समस्या वाले और स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
profile
- क्या यह सुरक्षा सोर्स, उपयोगकर्ता की मैनेज की जा रही प्रोफ़ाइल से इंटरैक्ट करता है
- Enum टाइप को स्ट्रिंग के तौर पर दिखाया जाता है. यह इनमें से कोई एक होना चाहिए:
primary_profile_only
(सिर्फ़ माता-पिता की प्रोफ़ाइल से इंटरैक्ट करता है)all_profiles
(मैनेज की जा रही प्रोफ़ाइल के साथ इंटरैक्ट भी कर सकता है)
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
- सुरक्षा केंद्र इस डेटा या इंटरैक्शन को लॉग कर सकता है या नहीं सोर्स
- बूलियन को स्ट्रिंग के तौर पर दिखाया जाता है, जैसे कि
false
- डाइनैमिक और सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से
true
पर सेट होता है - स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
refreshOnPageOpenAllowed
- डेटा को रीफ़्रेश करने के लिए, सुरक्षा से जुड़े सोर्स को सिग्नल भेजा जाना चाहिए या नहीं सुरक्षा केंद्र की स्क्रीन खुलने पर
- बूलियन को स्ट्रिंग के तौर पर दिखाया जाता है. उदाहरण के लिए,
true
- डाइनैमिक और सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से
false
पर सेट होता है - स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
notificationsAllowed
(Android 14 और इसके बाद के वर्शन)- क्या सुरक्षा सोर्स तब सूचना दे सकता है, जब समस्या की शिकायत करना
- बूलियन को स्ट्रिंग के तौर पर दिखाया जाता है. उदाहरण के लिए,
true
- डाइनैमिक और सिर्फ़ समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से
false
पर सेट होता है - स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
deduplicationGroup
(Android 14 और इसके बाद के वर्शन)- एक ऐसा यूनीक आइडेंटिफ़ायर जिसका इस्तेमाल, डुप्लीकेट समस्याओं को हटाने के लिए किया जा सकता है जो अलग-अलग सोर्स से आ रहे हैं. एक ही डुप्लीकेट कॉपी में शामिल सोर्स समूह किसी वैकल्पिक डिडुप्लीकेशन आईडी के साथ समस्याएँ भेज सकता है. समस्याएं एक जैसे डिडुप्लीकेशन आईडी को यूज़र इंटरफ़ेस (यूआई) में सिर्फ़ एक बार दिखाया जाएगा, भले ही कई सोर्स उन्हें भेज रहे हैं.
- स्ट्रिंग टाइप
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से 'कोई नहीं' पर सेट होती है डुप्लीकेट कॉपी हटाने की तकनीक)
- स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
packageCertificateHashes
(Android 14 और इसके बाद के वर्शन)- दिए गए सर्टिफ़िकेट के हैश की कॉमा-सेपरेटेड लिस्ट
packageName
. अगर यह सेट है, तो एक सर्टिफ़िकेट सही का निशान लगाएं दी गईpackageCertificateHashes
के हिसाब से, सुरक्षा स्रोत से इंटरैक्ट करते समयpackageName
दिया गया, क्योंकि सुरक्षा के मकसद हैं. - स्ट्रिंग टाइप
- डाइनैमिक और समस्या वाले सुरक्षा सोर्स के लिए ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से 'कोई नहीं' पर सेट होती है सर्टिफ़िकेट की जांच करें)
- स्टैटिक सुरक्षा सोर्स के लिए पाबंदी है
- दिए गए सर्टिफ़िकेट के हैश की कॉमा-सेपरेटेड लिस्ट
सुरक्षा केंद्र के सोर्स ग्रुप को पसंद के मुताबिक बनाएं
सुरक्षा केंद्र के सोर्स, सुरक्षा केंद्र के सोर्स ग्रुप में शामिल होने चाहिए. यूज़र इंटरफ़ेस में हर सोर्स ग्रुप को उसी क्रम में दिखाया जाता है जिस क्रम में सोर्स ग्रुप को फ़ाइल में मौजूद होना चाहिए. हर सोर्स, ग्रुप में क्रम से दिखता है फ़ाइल में सोर्स की सूची मौजूद है. अगर ग्रुप में कोई एक सुरक्षा सोर्स मौजूद है, तो यह किसी ग्रुप के बजाय, एक एंट्री के तौर पर दिखता है.
सुरक्षा केंद्र के सोर्स ग्रुप का कॉन्फ़िगरेशन
सुरक्षा केंद्र के सोर्स ग्रुप को पसंद के मुताबिक बनाने के लिए, इन वैरिएबल का इस्तेमाल करें:
id
- सुरक्षा से जुड़े सोर्स वाले ग्रुप के लिए यूनीक आइडेंटिफ़ायर; में अनन्य होना चाहिए पूरी फ़ाइल
- स्ट्रिंग टाइप
- ज़रूरी है
title
- यूज़र इंटरफ़ेस (यूआई) में ग्रुप का टाइटल
- रिसॉर्स आईडी को पूरी तरह क्वालिफ़ाइड संसाधन के नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_title
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - अगर इसमें कम से कम एक डाइनैमिक या स्टैटिक सुरक्षा सोर्स मौजूद है, तो यह ज़रूरी है
ग्रुप (यानी कि ग्रुप
type="hidden"
का नहीं है)
summary
- यूज़र इंटरफ़ेस (यूआई) में ग्रुप के बारे में कम शब्दों में जानकारी, जो शीर्षक के नीचे दिखती है. खास स्थितियों में दिखाया जाना चाहिए, आम तौर पर जब डेटा न दिया गया हो; जवाब का हिसाब स्रोत.
- रिसॉर्स आईडी को पूरी तरह क्वालिफ़ाइड संसाधन के नाम के तौर पर दिखाया जाता है. उदाहरण के लिए,
@package:string/my_summary
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - ज़रूरी नहीं (डिफ़ॉल्ट रूप से कोई खास जानकारी नहीं होती)
statelessIconType
- ग्रुप के लिए आइकॉन का टाइप तब दिखाया जाता है, जब ग्रुप की ओर से कोई राज्य नहीं दिया जाता है सुरक्षा के सोर्स, जैसे कि स्टैटिक एंट्री
- Enum टाइप को ऐसी स्ट्रिंग के तौर पर दिखाया जाता है जो
none
याprivacy
(निजता आइकॉन का टाइप) - ज़रूरी नहीं है (डिफ़ॉल्ट तौर पर, यह
none
पर सेट होती है)
type
(Android 14 और इसके बाद के वर्शन)- यह ग्रुप, सुरक्षा केंद्र के साथ कैसे इंटरैक्ट करता है, इस बारे में जानकारी के लिए खास टाइप
- Enum टाइप को स्ट्रिंग के तौर पर दिखाया जाता है. यह इनमें से कोई एक होना चाहिए:
stateful
(पूरी सुरक्षा केंद्र को दिखाता है और उसमें योगदान देता है स्थिति)stateless
(जानकारी दिखाता है और सुरक्षा पर कोई असर नहीं डालता केंद्र की स्थिति)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-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
फ़ोल्डर. यह ज़रूरी है कि यह ज़रूरत के मुताबिक बनाए गए सुरक्षा केंद्र
सोर्स और
सुरक्षा केंद्र के स्रोतों को पसंद के मुताबिक बनाएं
Groups का इस्तेमाल करें. अगर
कॉन्फ़िगरेशन फ़ाइल ऊपर दी गई ज़रूरी शर्तों के मुताबिक नहीं है, तो
सुविधा पूरी तरह से बंद कर दी गई है. इस फ़ाइल को पार्स करने में CTS और GTS भी शामिल हैं
ऐसी जांच जो फ़ाइल के ठीक से न बनने की स्थिति में अतिरिक्त संदर्भ उपलब्ध करा सकती हैं (
इसका सबसे ऊपर
लॉगकैट
डिवाइस के लॉग).
Google की सेवाओं वाले डिवाइस
GMS डिवाइसों पर, इस फ़ाइल पर कुछ पाबंदियां लगाई गई हैं. यह इन पर काम करता है: जीटीएस टेस्ट.
AOSP के डिवाइस
एओएसपी डिवाइसों पर, कॉन्फ़िगरेशन फ़ाइल सही तरीके से बनाई जानी चाहिए और CTS पास की जानी चाहिए सुरक्षा के लिए टेस्ट बीच में. जांच से यह पुष्टि होती है कि फ़ाइल सही तरीके से बनाई गई है. GMS डिवाइसों को भी को पास कर लें.