Güvenlik Merkezi'ni özelleştirin

Güvenlik Merkezi'ni etkinleştirme veya devre dışı bırakma

Güvenlik Merkezi'ni etkinleştirmek veya devre dışı bırakmak için yer paylaşımlı config_enableSafetyCenter boole alanı frameworks/base/core/res/res/values/config.xml dosyası olarak kaydedebilirsiniz.

Güvenlik Merkezi çoğu cihazda (ör. telefonlarda) varsayılan olarak desteklenir. ve tabletler. Bazı form faktörlerinde, Auto, TV ve Wear'da bağlantı kurabilirsiniz.

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- ... -->
   <!-- Determines whether SafetyCenter feature is enabled. -->
    <bool name="config_enableSafetyCenter">true</bool>
    <!-- ... -->
</resources>

Güvenlik Merkezi'nin desteklenmesi için config_enableSafetyCenter değerini true olarak ayarlayın. Şu durumda: Güvenlik Merkezi'nin desteklenmesini istemiyorsanız devre dışı bırakmak için bu değeri false olarak ayarlayın.

Güvenlik Merkezi devre dışı bırakıldığında, Gizlilik sayfasında Ayarlar uygulaması açılır. API'ler sessizce yoksayılır veya varsayılan bir değer döndürür. İlişkili Hızlı Duruma bağlı olarak ayar kutusu ve Ayarlar girişi de görünür veya gizlenir Güvenlik Merkezi etkinleştirildi.

DeviceConfig işareti

Güvenlik Merkezi'ni etkinleştirmek için config_enableSafetyCenter yapılandırma, DeviceConfig flag (safety_center_is_enabled), Güvenlik'i uzaktan etkinleştirmek veya devre dışı bırakmak için kullanılır bakın.

Android 14 ve sonraki sürümlerde başka işlem yapmanız gerekmez çünkü bu bayrak varsayılan olarak true.

Android 13'te Güvenlik Merkezi varsayılan olarak devre dışıdır izin verilenler listesi tarafından etkinleştirilir. Cihazınızı gönderin parmak izlerini alın ve izin verilenler listesine eklenmek için THY ile iletişime geçin. Lütfen M-2022-11 veya sonraki ana hat sürümlerinin izin verilenler listesine eklenmesi gerekiyor. İşaret, yerel geliştirme ve test için yerel olarak etkinleştirilebilir veya devre dışı bırakılabilir (yeniden başlatılana kadar) bir adb komutuyla değiştirin. Örneğin, bayrağı etkinleştirmek için:

adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true

Güvenlik Merkezi'nin etkin olup olmadığını doğrulamak için de:

adb root
adb shell cmd safety_center enabled

Cihazda Güvenlik Merkezi doğru şekilde etkinleştirildiğinde çıkış gösterilir.

Yapılandırma dosyasını güncelleme

Şu yapılandırmanın içeriğini değiştirmek için safety_center_config.xml yapılandırma dosyasını kullanın: Güvenlik Merkezi ekranına gidin. Şuradaki şartları karşıladığınızı varsayarak bu dosyayı Özelleştirme Koşulları.

Yapılandırma dosyasıyla yer paylaşımlı olarak

safety_center_config.xml dosyasını bindirmek için çalışma zamanında uygulamanın kaynaklarını kontrol etme inceleyin.

Android 14'te res/raw-v34/safety_center_config.xml dosyası içeren res/raw/safety_center_config.xml birincisi önceliklidir (bu ayrıca v34 kapsamındaki diğer dosyalar için geçerlidir (ör. res/values-v34/strings.xml) tıklayın. Yer paylaşımlı paketin en az SDK'sı daha düşük olmalıdır değeri 34 ise, aksi takdirde v34 niteleyici optimizasyon sırasında çıkarılabilir. Ayrıca, bu değer başlatma sırasında yüklendiğinden, statik bir yer paylaşımı kullandığınızdan emin olun gerekir.

Android Açık Kaynak Projesi (AOSP) cihazlar için paketi hedefleyin com.android.safetycenter.resources Mevcut tablodaki hedefi belirleyebilirsiniz. Tüm kaynaklar, içerik için herhangi bir kısıtlama olmadan yer paylaşımlı olarak kullanılabilir.

Mainline güncellemelerini alacak şekilde yapılandırılmış GMS cihazları için com.google.android.safetycenter.resources paketi. Yapılandırmayı hedefleme SafetyCenterConfig Bu yapılandırma, yer paylaşımlı paketin şurada olmasını gerektirir: product, system veya vendor bölümünü seçin. GMS OEM'ler Google tarafından sağlanan safety_center_config.xml file ve limit GTS tarafından izin verilenlerle ilgili değişiklikler testlerini inceleyin. Yer paylaşımı tanımı şuna yakın olmalıdır:

<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>

Mainline güncellemelerini almak üzere yapılandırılmamış GMS cihazları için com.android.safetycenter.resources paketi. Yer paylaşımı yapılandırması yok daha kolay olur. Yer paylaşımlı paket, paket adını kullanmalıdır com.google.android.safetycenter.resources

GMS OEM'ler, Google tarafından sağlanan safety_center_config.xml dosyasını kopyalamalı ve ve GTS testleri tarafından izin verilen değişikliklerde sınırlama getirilmelidir. GMS OEM'ler ayrıca, XML yapılandırmasında kullanılan dizeler.

Dosya yapısı

safety_center_config.xml dosyası, genel anlamda bir güvenlik listesidir. kaynaklar. Bu güvenlik kaynakları, ilgili sinyallerin yönetilmesi için gruplar halinde düzenlenir. Güvenlik Merkezi ekranını (örneğin, Uygulama Güvenliği veya Ekran Kilidi) tıklayın. Sıra, bu liste görüntüleme sırasını tanımlar:

<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 yapılandırma dosyası

AOSP yapılandırma dosyası şu konumdadır: packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml.

Android 13'te Google yapılandırma dosyası şu şekildedir:

<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'te Google yapılandırma dosyası şu şekildedir:

<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>

Güvenlik Merkezi kaynaklarını özelleştirme

Güvenlik Merkezi kaynak türleri

Kaynaklar, bulundukları veri türüne bağlı olarak dinamik, yalnızca sorun içeren veya statik olabilir. Güvenlik Merkezi'ne gönderin.

Dinamik kaynaklar

Dinamik veri sağlayabiliyorsa güvenlik kaynağını dynamic-safety-source olarak işaretleyin ve olası uyarı kartları için Güvenlik Merkezi'ne gönderebilirsiniz:

<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"/>

Yalnızca sorunun kaynağı

Varsa kaynağı issue-only-safety-source olarak işaretleyin. ilişkilendirilmiş ayar yok girişine rağmen uyarı almaya devam ediyor. Yalnızca uyarı sağlayabilirsiniz. sağlamak bir ayar girişi hatayla sonuçlanır:

<issue-only-safety-source
    id="AndroidAccessibility"
    packageName="com.google.android.permissioncontroller"
    profile="all_profiles"
    refreshOnPageOpenAllowed="true"/>

Statik kaynaklar

Kaynakstatic-safety-source dinamik veri:

<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"/>

Güvenlik Merkezi kaynak yapılandırması

Güvenlik Merkezi kaynak türüne ve diğer sabit değerlere bağlı olarak, yapılandırma Dosya alanları isteğe bağlı, zorunlu veya yasaklanmıştır ve özelleştirilebilir:

  • id
    • Güvenlik kaynağının benzersiz tanımlayıcısı. Tümünde benzersiz olmalıdır. dosyası olmalı ve yalnızca alfabetik karakterlerden (a-z, A-Z) ve büyük/küçük harfe duyarlıdır
    • Dize türü
    • Tüm güvenlik kaynağı türleri için gereklidir
  • packageName
    • Bu güvenlik kaynağının sahibi olan paketin adı, örneğin, com.google.android.permissioncontroller.
    • Dize türü
    • Dinamik ve yalnızca sorunlu güvenlik kaynakları için gereklidir
    • Android'de statik güvenlik kaynakları için yasaktır 13; Android 14'te bu isteğe bağlı olarak kaynağın intentAction öğesini hedefleyecek şekilde ayarlanabilir üstü kapalı değil, açık bir şekilde (planlanan çözüm için belgeler bakın)
  • initialDisplayState
    • Güvenlik ekibi tarafından veri sağlanmadığında kullanıcı arayüzü girişinin nasıl gösterildiği kaynak
    • Dize olarak temsil edilen enum türü aşağıdakilerden biri olmalıdır:
      • enabled (varsayılan, normal şekilde görüntülenir)
      • disabled (devre dışı olarak görünür, tıklanamıyor)
      • hidden (gösterilmez)
    • Dinamik güvenlik kaynakları için isteğe bağlıdır (varsayılan değer: enabled)
    • Yalnızca sorunlu ve statik güvenlik kaynaklarında yasaktır.
  • profile
    • Bu güvenlik kaynağının kullanıcının yönetilen profiliyle etkileşime geçip geçmediği
    • Dize olarak temsil edilen enum türü aşağıdakilerden biri olmalıdır:
      • primary_profile_only (yalnızca profil ebeveyniyle etkileşim kurar)
      • all_profiles (yönetilen profillerle de etkileşimde bulunabilir)
    • all_profiles tarihinde, birden fazla kullanıcı arayüzü girişi (profil için bir tane) oluşturulur ebeveyn ve yönetilen her bir profil için ayrı ayrı) güvenlik kaynağı, Her profil için farklı veriler
    • Tüm güvenlik kaynakları için gereklidir
  • searchTerms
    • kullanılırken Güvenlik Merkezi girişiyle eşleşen arama terimlerinin listesi Ayarlar uygulamasında arama
    • Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği. Örneğin: @package:string/my_search_terms.
    • Dinamik ve statik güvenlik kaynakları için isteğe bağlıdır (Varsayılan ayar "arama yok"tur) şartlar)
    • Yalnızca sorunlu güvenlik kaynakları için yasaktır
  • title
    • Kullanıcı arayüzü girişinin varsayılan başlığı; dinamik olarak hiçbir veri sağlanmadığında kullanılır kaynağa göre
    • Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği. Örneğin: @package:string/my_title.
    • Dinamik ve statik güvenlik kaynakları için gereklidir ( searchTerms olmadan initialDisplayState="hidden")
    • Yalnızca sorunlu güvenlik kaynakları için yasaktır
  • titleForWork
    • Aşağıdaki durumlarda kullanılan yönetilen profil için kullanıcı arayüzü girişinin varsayılan başlığı veriler kaynak tarafından dinamik olarak sağlanmaz
    • Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği. Örneğin: @package:string/my_title_for_work.
    • Belirtilen dinamik ve statik güvenlik kaynakları için gereklidir profile="all_profiles" (herhangi bir değer içermeyen initialDisplayState="hidden" searchTerms)
    • Yalnızca sorun içeren güvenlik kaynakları veya profile="primary_profile_only".
  • summary
    • Kullanıcı arayüzü girişinin varsayılan özeti (bu daha uzun bir metin açıklamasıdır) değeri) tarafından sağlanan veriler, kaynak
    • Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği. Örneğin: @package:string/my_summary.
    • Statik güvenlik kaynakları için isteğe bağlı (varsayılan olarak özet yok)
    • Dinamik güvenlik kaynakları için gereklidir (initialDisplayState zorunlu kılınmadığı sürece) hidden)
    • Yalnızca sorunlu güvenlik kaynakları için yasaktır
  • intentAction
    • Kullanıcı arayüzü girişi tıklandığında tetiklenecek işlem
    • Dize türü, örneğin: com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS veya tam kaynak adı olarak temsil edilen kaynak kimliği; örneğin, @package:string/my_intent_action
    • Bu amaç işlemi belirtilen packageName için çözümlenmezse ( herhangi bir), kullanıcı arayüzü girişi, ilk olarak initialDisplayState="disabled"
    • Statik güvenlik kaynakları ve şu özelliklere sahip dynamic güvenlik kaynağı için gereklidir: initialDisplayState="enabled" var
    • Yalnızca sorunlu güvenlik kaynakları için yasaktır
  • maxSeverityLevel
    • Bu Güvenlik Merkezi kaynağının sağlayabileceği maksimum önem düzeyi
    • Dize olarak gösterilen tam sayı (ör. 300)
    • Dinamik ve yalnızca sorun içeren güvenlik kaynakları için isteğe bağlıdır (Varsayılan ayar hayır'dır) maksimum)
    • Statik güvenlik kaynakları için yasaktır
  • loggingAllowed
    • Güvenlik Merkezi'nin bununla ilgili etkileşimleri veya verileri günlüğe kaydedip edemeyeceği kaynak
    • Dize olarak gösterilen boole değeri (ör. false)
    • Dinamik ve yalnızca sorun içeren güvenlik kaynakları için isteğe bağlıdır (varsayılan olarak true)
    • Statik güvenlik kaynakları için yasaktır
  • refreshOnPageOpenAllowed
    • Verilerini yenilemek için güvenlik kaynağına sinyal gönderilip gönderilmeyeceği Güvenlik Merkezi ekranı açıldığında
    • Dize olarak gösterilen boole (ör. true)
    • Dinamik ve yalnızca sorun içeren güvenlik kaynakları için isteğe bağlıdır (varsayılan olarak false)
    • Statik güvenlik kaynakları için yasaktır
  • notificationsAllowed (Android 14'ten itibaren)
    • Güvenlik kaynağının aşağıdaki durumlarda isteğe bağlı olarak bildirim sağlayıp sağlayamayacağı sorun bildirin
    • Dize olarak gösterilen boole (ör. true)
    • Dinamik ve yalnızca sorun içeren güvenlik kaynakları için isteğe bağlıdır (varsayılan olarak false)
    • Statik güvenlik kaynakları için yasaktır
  • deduplicationGroup (Android 14'ten itibaren)
    • Sorunları tekilleştirmek için kullanılabilecek potansiyel bir benzersiz tanımlayıcı çeşitli kaynaklardan geliyor olabilir. Aynı tekilleştirme içindeki kaynaklar grubu isteğe bağlı tekilleştirme kimliğine sahip sorunlar gönderebilir. aynı tekilleştirme kimliği kullanıcı arayüzünde yalnızca bir kez gösterilir. birden fazla kaynak gönderiliyor.
    • Dize türü
    • Dinamik ve yalnızca sorun içeren güvenlik kaynakları için isteğe bağlıdır (Varsayılan ayar hayır'dır) tekilleştirme)
    • Statik güvenlik kaynakları için yasaktır
  • packageCertificateHashes (Android 14'ten itibaren)
    • Verilen için sertifika karmalarının virgülle ayrılmış listesi packageName Bu ayarlanırsa bir sertifika kontrol et belirtilen packageCertificateHashes değerine göre için, güvenlik kaynağıyla etkileşimde bulunurken packageName verilir. izin vermez.
    • Dize türü
    • Dinamik ve yalnızca sorun içeren güvenlik kaynakları için isteğe bağlıdır (Varsayılan ayar hayır'dır) sertifika kontrolleri)
    • Statik güvenlik kaynakları için yasaktır

Güvenlik Merkezi kaynak gruplarını özelleştirme

Güvenlik Merkezi kaynakları, bir Güvenlik Merkezi kaynak grubunda yer almalıdır. Her kaynak grup, kullanıcı arayüzünde Kaynak grupları sırasıyla dosya içinde listelenir. Her kaynak, grup içinde şu sırayla gösterilir: Kaynaklar dosyada listelenir. Grupta tek bir güvenlik kaynağı varsa grup yerine tek bir giriş olarak görüntülenir.

Güvenlik Merkezi kaynakları grubu yapılandırması

Güvenlik Merkezi kaynak gruplarını özelleştirmek için aşağıdaki değişkenleri kullanın:

  • id
    • Güvenlik kaynakları grubunun benzersiz tanımlayıcısı; tüm dosya
    • Dize türü
    • Zorunlu
  • title
    • Kullanıcı arayüzündeki grubun başlığı
    • Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği. Örneğin: @package:string/my_title.
    • İçinde en az bir dinamik veya statik güvenlik kaynağı varsa gereklidir Grup (ör. grup type="hidden" üyesi değildir)
  • summary
    • Kullanıcı arayüzünde, grubun başlığın altında gösterilen kısa açıklaması. Belirli koşullarda, genellikle veri sağlanmadığında gösterilir; Aksi takdirde özet, reklamverenin sunduğu verilere kaynak seçebilirsiniz.
    • Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği. Örneğin: @package:string/my_summary.
    • İsteğe bağlı (Varsayılan ayar özet değildir)
  • statelessIconType
    • statik girişler gibi güvenlik kaynakları
    • Bir dize olarak temsil edilen ve none veya olması gereken enum türü privacy (gizlilik simgesi türü)
    • İsteğe bağlı (varsayılan değer: none)
  • type (Android 14'ten itibaren)
    • Bu grubun Güvenlik Merkezi ile etkileşime girme biçimini belirleyen açık bir tür
    • Dize olarak temsil edilen enum türü aşağıdakilerden biri olmalıdır:
      • stateful (genel Güvenlik Merkezi'ni gösterir ve katkı sağlar durum)
      • stateless (gösterilir ve genel Güvenlik'e katkıda bulunmaz Center durumu)
      • hidden (gösterilmiyor, tüm kaynaklar yalnızca sorunlu olmalıdır)
    • İsteğe bağlı, şuradaki güvenlik kaynakları kullanılarak varsayılan olarak çıkarılmıştır: grubun yanı sıra summary ve statelessIconType. Öğe type değerinin, uygulamanızın doğru işaretlendiğinden emin olmak için bazı ek sabit değerlerin uygulandığı grupta karşılaşılan kaynaklarla eşleştiğinden (örneğin, grup, kullanıcının görebildiği girişler içeriyorsa hidden olamaz).

Güvenlik Merkezi kaynak grubu türleri

Güvenlik Merkezi kaynak grupları durum bilgili, durum bilgisiz veya gizli olarak sınıflandırılır. otomatik olarak oluşturabilirsiniz.

Durum bilgili grup

Hem başlığı hem de özeti olan bir grup veya stateLessIconType="privacy" durum bilgili olarak kabul edilmesi, genel Güvenlik Merkezi durumuna katkıda bulunur:

<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'te böyle bir grup daraltılabilir olarak gösterilir her zaman devre dışı kalır. Android 14'te alt sayfaya yönlendiren kendi durumundaki bir giriş içerir.

Durum bilgisiz grup

Başlığı olan ancak özeti olmayan bir grup ve stateLessIconType="none" durum bilgisiz kabul edilir ve genel Güvenlik Merkezi durumuna katkıda bulunmaz:

<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>

Böyle bir grup, kullanıcı arayüzünde sabit giriş listesi olarak gösterilir.

Gizli grup

Gizli gruplar yalnızca sorun güvenlik kaynaklarını içerir ve başlık içermez. Gizlenmiş gruplar kullanıcı arayüzünde gösterilmez:

<safety-sources-group
    id="HiddenGroup">
    <issue-only-safety-source
        id="AndroidAccessibility"
        packageName="com.google.android.permissioncontroller"
        profile="all_profiles"
        refreshOnPageOpenAllowed="true"/>
</safety-sources-group>

Statik giriş için dinamik veriler

Dinamik Güvenlik Merkezi kaynağını statik bir giriş olarak görüntüleyebilirsiniz. Böylece, bazı koşullara bağlı olarak yönlendirme girişlerini iter ve emin olabilirsiniz. Aşağıdaki durumlar için durum bilgisiz bir grup içinde dinamik kaynağı tanımlayın: Örneğin, iş politikası bilgileri girişinize bağlı olarak.

Bu örnekte güvenlik sinyali sağlamayan dinamik bir güvenlik kaynağı gösterilmektedir. çünkü durum bilgisiz bir grupta yer alır:

<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>

Bu örnekte kaynak, yalnızca yeşil uyarı kartlarını aktarır ve belirtilmemiş. Başka veriler sağlayabilmek için kaynağın durum bilgili bir gruptur.

Dizeleri ve yer paylaşımlı alanları özelleştirme

Mainline güncellemelerini almak üzere yapılandırılmamış GMS cihazları için yer paylaşımlı olarak altı dize kaynağını kullanabilir, böylece tüm özelleştirme ihtiyaçlarını karşılayabilir. Yer paylaşımlı dize kaynakları listelenir seçin.

Dize kaynağı Açıklama
google_lock_screen_sources_summary Gösterilecek statik bir özet tanımlamak için bu değerin üzerine gelin AndroidLockScreenSources grubu, grubun iyi bir durumda olup olmadığını (bilgi veya belirtilmemiş önem derecesi) düzeyinde). Varsayılan olarak, Güvenlik Merkezi tüm kaynakların başlığını görüntüler bilgileri, grubun özeti olarak birleştirilir.
google_biometrics_title Biyometrik kaynak için sabit bir başlık tanımlamak üzere bu değerin üzerine yerleştirin olmadığında kullanılan com.android.settings paketine aittir dinamik verilerin kaynak tarafından sağlandığı anlamına gelir. Şu durumda bunu üst üste bindirin: kaynak tarafından dinamik olarak sağlanan başlığın com.android.settings paketi. Bu ayar varsayılan olarak yoksayılır çünkü kaynağın ilk görüntüleme durumu hidden
google_biometrics_summary Biyometri için statik bir özet tanımlamak üzere bu değeri üst üste ekleyin kullanılan com.android.settings paketine ait kaynak kaynak tarafından dinamik veri sağlanmadığında ortaya çıkar. Bu şunları yok sayar: çünkü kaynağın ilk görüntüleme durumu hidden
google_biometrics_search_terms Biyometri ile ilgili arama terimlerinin bir listesini tanımlamak için bu değeri üst üste getirin com.android.settings paketine ait kaynak.
google_biometrics_initial_display_state Sahip olunan biyometrik kaynağa ait bir kullanıcı arayüzü girişini göstermek için bu değerin üzerine gelin dinamik veri olmadığında com.android.settings paketi tarafından kaynak tarafından sağlanır. Varsayılan değer: hidden
google_security_updates_intent Etkinliği açmak için gereken niyeti değiştirmek üzere bu değeri üst üste yerleştirin Bu da kullanıcının güvenlik güncellemelerini kontrol edip yüklemesine olanak tanır. Bu intent işlemi, dışa aktarılan bir etkinlikle ilişkilendirilmelidir. İlgili içeriği oluşturmak için kullanılan varsayılan değer android.settings.SYSTEM_UPDATE_SETTINGS

com.google.android.safetycenter.resources paketinde başka dize yok yer paylaşımlı olmalıdır.

AOSP cihazlar için com.android.safetycenter.resources içindeki tüm kaynaklar paketinin içeriğe yönelik herhangi bir kısıtlama olmadan yer paylaşımlı olması gerekir.

Mainline güncellemelerini alacak şekilde yapılandırılmamış GMS cihazları için bir com.google.android.safetycenter.resources paketi değiştiriliyor veya yer paylaşımlı tarafından beklenen tüm dizeleri tanımlayan com.android.safetycenter.resources GTS testleri.

Bu dizeler şunlardır:

  • 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

Özelleştirme Gereksinimleri

Dosya biçimi gereksinimleri

Yapılandırma dosyası bir XML dosyası olmalı ve aşağıdaki Yapılandırma dosyasını güncelleyin. Dosya raw klasör. Güvenlik Merkezi'ni Özelleştirme bölümünde açıklanan sabit değerleri karşılamalıdır. kaynaklar ve Güvenlik Merkezi kaynaklarını özelleştirme gruplar. Öğe yapılandırma dosyasının yukarıdaki gereksinimlere uygun şekilde biçimlendirilmediğinden emin olun. özelliği tamamen devre dışı bırakıldı. Bu dosyanın ayrıştırılması CTS ve GTS tarafından da desteklenir dosyanın biçimi uygun olmadığında ( logcat cihaz günlüklerinde kullanılabilir).

Google hizmetleri cihazları

GMS cihazlarda, bu dosyaya bazı kısıtlamalar uygulanır. Bu, şunlar tarafından desteklenir: GTS testlerinde bulabilirsiniz.

AOSP cihazları

AOSP cihazlarda, yapılandırma dosyası iyi biçimlendirilmiş olmalı ve CTS'yi geçmelidir Güvenlik için testler bakın. Testler dosyanın iyi bir şekilde biçimlendirildiğini doğrular. GMS cihazları ayrıca geçemezler.