Güvenlik Merkezi'ni etkinleştirme veya devre dışı bırakma
Güvenlik Merkezi'ni etkinleştirmek veya devre dışı bırakmak için, frameworks/base/core/res/res/values/config.xml
dosyasındaki yerleştirilebilir config_enableSafetyCenter
boole alanını kullanın.
Çoğu cihazda, örneğin telefonlarda ve tabletlerde Güvenlik Merkezi varsayılan olarak desteklenir. Otomatik, TV ve Wear gibi bazı form faktörlerinde Güvenlik Merkezi varsayılan olarak devre dışıdır.
<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'ni desteklemek için config_enableSafetyCenter
true
olarak ayarlayın. Güvenlik Merkezi'ni desteklemek istemiyorsanız bu değeri devre dışı bırakmak için false
olarak ayarlayın.
Güvenlik Merkezi devre dışı bırakıldığında, Güvenlik ve Gizlilik sayfasına yönlendirme girişiminde bulunulduğunda bunun yerine Ayarlar uygulaması açılır. API'lerle etkileşim kurma girişimleri sessizce göz ardı edilir veya varsayılan bir değer döndürülür. İlgili Hızlı Ayarlar kutucuğu ve Ayarlar girişi de Güvenlik Merkezi'nin etkinleştirilip etkinleştirilmemesine bağlı olarak gösterilir veya gizlenir.
DeviceConfig bayrağı
config_enableSafetyCenter
yapılandırmasını kullanarak Güvenlik Merkezini etkinleştirmenin yanı sıra, Güvenlik Merkezini uzaktan etkinleştirmek veya devre dışı bırakmak için bir DeviceConfig
bayrağı ( safety_center_is_enabled
) kullanılır.
Android 14 ve üzeri sürümlerde bu işaret varsayılan olarak true
olduğundan başka bir işlem yapmanıza gerek yoktur.
Android 13'te Güvenlik Merkezi varsayılan olarak sunucu tarafında devre dışıdır ve bu işaret kullanılarak izin verilenler listesi tarafından etkinleştirilir. İzin verilenler listesine eklenmek için cihazınızın parmak izlerini gönderin ve TAM'inizle iletişime geçin. İzin verilenler listesine eklenmek için M-2022-11
veya daha yeni bir ana hat sürümünün gerekli olduğunu unutmayın. Yerel geliştirme ve test için bayrak, bir adb
komutuyla yerel olarak (yeniden başlatılıncaya kadar) etkinleştirilebilir veya devre dışı bırakılabilir. Ö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:
adb root
adb shell cmd safety_center enabled
Çıkış, Güvenlik Merkezi'nin cihazda doğru şekilde etkinleştirilip etkinleştirilmediğini gösterecektir.
Yapılandırma dosyasını güncelleyin
Güvenlik Merkezi ekranının içeriğini değiştirmek için safety_center_config.xml
yapılandırma dosyasını kullanın. Özelleştirme Gereksinimlerini karşıladığınızı varsayarak bu dosyayı yerleştirebilirsiniz.
Yapılandırma dosyasını kaplayın
safety_center_config.xml
dosyasını kaplamak için Çalışma zamanı kaynak kaplamalarını (RRO'lar) değiştirme hakkında bilgi için bkz. Çalışma zamanında bir uygulamanın kaynaklarının değerini değiştirme .
Android 14'te, res/raw-v34/safety_center_config.xml
dosyasını yerleştirdiğinizden emin olun, çünkü res/raw/safety_center_config.xml
önceliklidir (bu aynı zamanda örneğin res/values-v34/strings.xml
için v34
kapsamına alınmış diğer dosyalar için de geçerlidir). res/values-v34/strings.xml
). Yer paylaşımı paketinin minimum SDK'sı 34
düşük olmalıdır, aksi takdirde v34
niteleyicisi optimizasyon sırasında çıkarılabilir. Ayrıca, bu değer önyükleme süresi boyunca yüklendiğinden statik bir katman kullandığınızdan emin olun.
Android Açık Kaynak Projesi (AOSP) cihazları için com.android.safetycenter.resources
paketini hedefleyin. Hedeflenecek yer paylaşımı yapılandırması yok. Tüm kaynaklar, içerikte herhangi bir kısıtlama olmaksızın yerleştirilebilir.
Ana Hat güncellemelerini alacak şekilde yapılandırılmış GMS cihazları için com.google.android.safetycenter.resources
paketini hedefleyin. SafetyCenterConfig
yapılandırmasını hedefleyin. Bu yapılandırma, kaplama paketinin product
, system
veya vendor
bölümünde olmasını gerektirir. GMS OEM'leri, Google tarafından sağlanan safety_center_config.xml
dosyasını kopyalamalı ve değişiklikleri GTS testlerinin izin verdiği değişikliklerle sınırlamalıdır. Kaplama 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>
Ana Hat güncellemelerini alacak şekilde yapılandırılmamış GMS cihazları için com.android.safetycenter.resources
paketini hedefleyin. Hedeflenecek yer paylaşımı yapılandırması yok. Yer paylaşımı paketi com.google.android.safetycenter.resources
paket adını kullanmalıdır.
GMS OEM'leri, Google'ın sağladığı safety_center_config.xml
dosyasını kopyalamalı ve değişiklikleri GTS testlerinin izin verdiği şekilde sınırlamalıdır. GMS OEM'lerinin XML yapılandırmasında kullanılan dizeleri de tanımlaması gerekir.
Dosya yapısı
safety_center_config.xml
dosyası yüksek düzeyde güvenlik kaynaklarının bir listesidir. Bu güvenlik kaynakları, Güvenlik Merkezi ekranındaki sinyalleri yönetmek için Uygulama Güvenliği veya Ekran Kilidi gibi gruplar halinde düzenlenmiştir. Bu listenin sırası 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ı packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml
konumunda bulunur.
Android 13'te Google yapılandırma dosyası şöyledir:
<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ı şöyledir:
<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, Güvenlik Merkezi'ne sağladıkları veri türüne bağlı olarak dinamik, yalnızca soruna ilişkin veya statik olabilir.
Dinamik kaynaklar
Güvenlik Merkezi'ne hem girişi hem de potansiyel uyarı kartları için dinamik veri sağlayabiliyorsa, güvenlik kaynağını dynamic-safety-source
olarak işaretleyin:
<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 sorun kaynakları
İlgili ayar girişi yoksa ancak uyarılar hâlâ veriliyorsa, kaynağı issue-only-safety-source
olarak işaretleyin. Yalnızca uyarı sağlayabilirsiniz; Bir ayar girişi sağlamak hatayla sonuçlanır:
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
Statik kaynaklar
Dinamik verileri olmayan bir yeniden yönlendirme girişi ise, kaynağı static-safety-source
olarak işaretleyin:
<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 değişmezlere bağlı olarak yapılandırma dosyası alanları isteğe bağlıdır, gereklidir veya yasaklanmıştır ve özelleştirilebilir:
-
id
- Güvenlik kaynağı için benzersiz tanımlayıcı, dosyanın tamamında benzersiz olmalı, yalnızca alfabetik karakterlerden (az, AZ) oluşmalı ve büyük/küçük harfe duyarlı olmalıdır
- Dize türü
- Tüm güvenlik kaynağı türleri için gereklidir
-
packageName
- Bu güvenlik kaynağına sahip olan paketin adı; örneğin
com.google.android.permissioncontroller
- Dize türü
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için gereklidir
- Android 13'te statik güvenlik kaynakları için yasaktır; Android 14'te bu isteğe bağlı olarak kaynağın
intentAction
örtülü olarak değil açıkça hedefleyecek şekilde ayarlanabilir (daha fazla ayrıntı için niyet çözümleme belgelerine bakın)
- Bu güvenlik kaynağına sahip olan paketin adı; örneğin
-
initialDisplayState
- Güvenlik kaynağı tarafından hiçbir veri sağlanmadığında kullanıcı arayüzü girişi nasıl görüntülenir?
- Dize olarak temsil edilen numaralandırma türü aşağıdakilerden biri olmalıdır:
-
enabled
(varsayılan, normal şekilde görüntülenir) -
disabled
(gri renkte görüntülenir, tıklanamaz) -
hidden
(görüntülenmiyor)
-
- Dinamik güvenlik kaynakları için isteğe bağlıdır (varsayılan
enabled
) - Yalnızca sorun ve statik güvenlik kaynakları için yasaktır
-
profile
- Bu güvenlik kaynağının kullanıcının yönetilen profiliyle etkileşimde bulunup bulunmadığı
- Dize olarak temsil edilen numaralandırma türü aşağıdakilerden biri olmalıdır:
-
primary_profile_only
(yalnızca profilin üst öğesiyle etkileşime girer) -
all_profiles
(yönetilen profillerle de etkileşime girebilir)
-
-
all_profiles
üzerinde birkaç kullanıcı arayüzü girişi oluşturulur (profilin üst öğesi için bir tane ve yönetilen profillerin her biri için bir tane); güvenlik kaynağı her profil için farklı veriler sağlayabilir - Tüm güvenlik kaynakları için gereklidir
-
searchTerms
- Ayarlar uygulamasında aramayı kullanırken Güvenlik Merkezi girişiyle eşleşen arama terimlerinin listesi
- 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, arama terimlerinin olmamasıdır)
- Yalnızca sorunla ilgili güvenlik kaynakları için yasaktır
-
title
- Kaynak tarafından dinamik olarak veri sağlanmadığında kullanılan kullanıcı arayüzü girişinin varsayılan başlığı
- 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 (
initialDisplayState="hidden"
vesearchTerms
olmadığı sürece) - Yalnızca sorunla ilgili güvenlik kaynakları için yasaktır
-
titleForWork
- Veriler kaynak tarafından dinamik olarak sağlanmadığında kullanılan, yönetilen profil için kullanıcı arayüzü girişinin varsayılan başlığı
- Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği; örneğin,
@package:string/my_title_for_work
-
profile="all_profiles"
belirtmiş dinamik ve statik güvenlik kaynakları için gereklidir (searchTerms
olmadaninitialDisplayState="hidden"
olmadığı sürece) - Yalnızca sorunla ilgili güvenlik kaynakları veya
profile="primary_profile_only"
içeren kaynaklar için yasaktır
-
summary
- Veriler kaynak tarafından dinamik olarak sağlanmadığında kullanılan kullanıcı arayüzü girişinin varsayılan özeti (bu, başlığın altında görüntülenen daha uzun bir metin açıklamasıdır)
- 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ıdır (varsayılan, özet değildir)
- Dinamik güvenlik kaynakları için gereklidir (
initialDisplayState
hidden
olmadığı sürece) - Yalnızca sorunla ilgili güvenlik kaynakları için yasaktır
-
intentAction
- Kullanıcı arayüzü girişi tıklandığında tetiklenecek eylem
- Dize türü (örneğin,
com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS
) veya tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği (örneğin,@package:string/my_intent_action
- Bu niyet eylemi verilen
packageName
(varsa) için çözümlenmezse, kullanıcı arayüzü girişiinitialDisplayState="disabled"
ile aynı şekilde davranır. -
initialDisplayState="enabled"
sahip statik güvenlik kaynakları vedynamic
güvenlik kaynakları için gereklidir - Yalnızca sorunla ilgili güvenlik kaynakları için yasaktır
-
maxSeverityLevel
- Bu Güvenlik Merkezi kaynağının sağlayabileceği maksimum önem düzeyi
- Bir dize olarak temsil edilen tamsayı, örneğin
300
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için isteğe bağlıdır (varsayılan maksimum değildir)
- Statik güvenlik kaynakları için yasaktır
-
loggingAllowed
- Güvenlik Merkezi'nin bu kaynakla ilgili etkileşimleri veya verileri günlüğe kaydedip kaydedemeyeceği
- Boolean dize olarak temsil edilir; örneğin
false
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için isteğe bağlıdır (varsayılan
true
) - Statik güvenlik kaynakları için yasaktır
-
refreshOnPageOpenAllowed
- Güvenlik Merkezi ekranı açıldığında verilerini yenilemek için güvenlik kaynağına sinyal gönderilip gönderilmeyeceği
- Boolean dize olarak temsil edilir; örneğin
true
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için isteğe bağlıdır (varsayılan
false
) - Statik güvenlik kaynakları için yasaktır
-
notificationsAllowed
(Android 14'ten itibaren)- Güvenlik kaynağının bir sorunu bildirirken isteğe bağlı olarak bildirim sağlayıp sağlayamayacağı
- Boolean dize olarak temsil edilir; örneğin
true
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için isteğe bağlıdır (varsayılan
false
) - Statik güvenlik kaynakları için yasaktır
-
deduplicationGroup
(Android 14'ten itibaren)- Farklı kaynaklardan gelen sorunları tekilleştirmek için kullanılabilecek potansiyel benzersiz bir tanımlayıcı. Aynı tekilleştirme grubu içindeki kaynaklar, sorunları isteğe bağlı bir tekilleştirme kimliğiyle gönderebilir. Aynı veri tekilleştirme kimliğine sahip sorunlar, birden fazla kaynak gönderiyor olsa bile kullanıcı arayüzünde yalnızca bir kez gösterilecektir.
- Dize türü
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için isteğe bağlıdır (varsayılan olarak tekilleştirme yoktur)
- Statik güvenlik kaynakları için yasaktır
-
packageCertificateHashes
(Android 14'ten itibaren)- Belirtilen
packageName
için virgülle ayrılmış sertifika karma listesi. Bu ayarlanırsa, güvenlik amacıyla güvenlik kaynağıyla etkileşim sırasında verilenpackageName
için verilenpackageCertificateHashes
karşı bir sertifika kontrolü gerçekleştirilecektir. - Dize türü
- Dinamik ve yalnızca soruna yönelik güvenlik kaynakları için isteğe bağlıdır (varsayılan olarak sertifika kontrolü yapılmaz)
- Statik güvenlik kaynakları için yasaktır
- Belirtilen
Güvenlik Merkezi kaynak gruplarını özelleştirme
Güvenlik Merkezi kaynakları bir Güvenlik Merkezi kaynakları grubu içinde bulunmalıdır. Her kaynak grubu, kullanıcı arayüzünde Kaynak gruplarının dosyada listelendiği sıraya göre görüntülenir. Her kaynak, grup içinde Kaynakların dosyada listelendiği sıraya göre görüntülenir. Grup tek bir güvenlik kaynağı içeriyorsa 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ı grubu için benzersiz tanımlayıcı; dosyanın tamamında benzersiz olmalıdır
- Dize türü
- Gerekli
-
title
- Kullanıcı arayüzündeki grubun adı
- Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği; örneğin,
@package:string/my_title
- Grup içinde en az bir dinamik veya statik güvenlik kaynağı varsa gereklidir (yani grup
type="hidden"
türünde değilse)
-
summary
- Başlığın altında görüntülenen kullanıcı arayüzündeki grubun kısa açıklaması. Belirli koşullar altında, genellikle veri sağlanmadığında görüntülenir; aksi takdirde özet, grup içindeki kaynakların sağladığı verilere göre hesaplanır.
- Tam nitelikli bir kaynak adı olarak temsil edilen kaynak kimliği; örneğin,
@package:string/my_summary
- İsteğe bağlı (varsayılan özet değildir)
-
statelessIconType
- Statik girişler gibi güvenlik kaynakları tarafından herhangi bir durum sağlanmadığında grup için görüntülenen simge türü
-
none
veyaprivacy
olması gereken bir dize olarak temsil edilen numaralandırma türü (gizlilik simgesi türü) - İsteğe bağlı (varsayılan
none
)
-
type
(Android 14'ten itibaren)- Bu grubun Güvenlik Merkezi ile nasıl etkileşimde bulunduğunu belirleyen açık bir tür
- Dize olarak temsil edilen numaralandırma türü aşağıdakilerden biri olmalıdır:
-
stateful
(genel Güvenlik Merkezi durumunu görüntüler ve buna katkıda bulunur) -
stateless
(genel Güvenlik Merkezi durumunu görüntüler ve buna katkıda bulunmaz) -
hidden
(görüntülenmiyor, tüm kaynaklar yalnızca sayı olmalıdır)
-
- İsteğe bağlı, varsayılan olarak grupta yer alan güvenlik kaynaklarının yanı sıra
summary
vestatelessIconType
kullanılarak çıkarılır.type
belirtilirse, grupta karşılaşılan kaynaklarla eşleştiğinden emin olmak için bazı ek değişmezler uygulanır (örneğin, kullanıcı tarafından görülebilen girişler içeriyorsa gruphidden
)
Güvenlik Merkezi kaynakları grup türleri
Güvenlik Merkezi kaynak grupları, belirli alanların durumuna göre durum bilgisi olan, durum bilgisi olmayan veya gizli olarak sınıflandırılır.
Durum bilgisi olan grup
Hem başlığı hem de özeti olan veya stateLessIconType="privacy"
olan bir grup, durum bilgisi olan olarak kabul edilir ve 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, kullanıcı arayüzünde daraltılabilir giriş olarak gösterilecektir. Android 14'te, alt sayfaya yönlendiren, kendi durumuna sahip bir giriş olarak gösterilecektir.
Vatansız grup
Başlığı olan ancak özeti olmayan ve stateLessIconType="none"
olan bir grup, durum bilgisi olmayan olarak 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 katı giriş listesi olarak gösterilecektir.
Gizli grup
Gizli bir grup yalnızca yalnızca sorunla ilgili güvenlik kaynaklarını içerir ve bir başlığı yoktur. Gizli gruplar kullanıcı arayüzünde gösterilmiyor:
<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 bir giriş için dinamik veriler
Dinamik Güvenlik Merkezi kaynağını, bazı koşullara bağlı olarak yeniden yönlendirme girişlerinin itilmesine ve içeriğinin çalışma zamanında özelleştirilmesine olanak tanıyan statik bir giriş olarak görüntüleyebilirsiniz. Örneğin iş politikası bilgi girişinize bağlı olarak durum bilgisi olmayan bir grup içindeki dinamik kaynağı tanımlayın.
Bu örnek, durum bilgisi olmayan bir grupta olduğundan güvenlik sinyali sağlamayan dinamik bir güvenlik kaynağını gösterir:
<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ı yayınlayabilir ve belirtilmemiş bir durum sağlayabilir. Diğer verileri sağlayabilmek için kaynağın durum bilgisi olan bir grup içinde olması gerekir.
Dizeleri ve kaplama alanlarını özelleştirin
Ana Hat güncellemelerini alacak şekilde yapılandırılmamış GMS cihazları için, tüm yapılandırma dosyasını üst üste koymak yerine, tüm özelleştirme ihtiyaçlarını karşılamak üzere altı dize kaynağını üst üste yerleştirebilirsiniz. Yer paylaşımı olan dize kaynakları tabloda listelenir.
Dize kaynağı | Tanım |
---|---|
google_lock_screen_sources_summary | Gruptaki tüm kaynaklar iyi durumda olduğunda (bilgi veya belirtilmemiş önem düzeyi) AndroidLockScreenSources grubu için görüntülenecek statik bir özeti tanımlamak için bu değeri kaplayın. Varsayılan olarak Güvenlik Merkezi, gruptaki tüm kaynakların başlığını grubun özeti olarak birleştirilmiş olarak görüntüler. |
google_biometrics_title | Kaynak tarafından dinamik veri sağlanmadığında kullanılan com.android.settings paketinin sahip olduğu biyometrik kaynak için statik bir başlık tanımlamak üzere bu değeri kaplayın. com.android.settings paketindeki kaynak tarafından dinamik olarak sağlanan başlığı da kaplarken bunu kaplayın. Kaynağın başlangıç görüntüleme durumu hidden olduğundan bu varsayılan olarak göz ardı edilir. |
google_biometrics_summary | Kaynak tarafından dinamik veri sağlanmadığında kullanılan com.android.settings paketinin sahip olduğu biyometrik kaynak için statik bir özet tanımlamak üzere bu değerin üzerine bindirin. Kaynağın başlangıç görüntüleme durumu hidden olduğundan bu varsayılan olarak göz ardı edilir. |
google_biometrics_search_terms | com.android.settings paketinin sahip olduğu biyometrik kaynağa yönelik bir arama terimleri listesini tanımlamak için bu değerin üzerine bindirin. |
google_biometrics_initial_display_state | Kaynak tarafından hiçbir dinamik veri sağlanmadığında com.android.settings paketinin sahip olduğu biyometrik kaynağa yönelik bir kullanıcı arayüzü girişini göstermek için bu değeri kaplayın. Varsayılan değer hidden . |
google_security_updates_intent | Kullanıcının güvenlik güncellemelerini kontrol etmesine ve yüklemesine olanak tanıyan etkinliği açmak için gereken amacı değiştirmek üzere bu değeri yerleştirin. Bu niyet eyleminin dışa aktarılan bir etkinlikle ilişkilendirilmesi gerekir. Varsayılan değer android.settings.SYSTEM_UPDATE_SETTINGS . |
com.google.android.safetycenter.resources
paketindeki başka hiçbir dize üst üste bindirilemez.
AOSP cihazları için com.android.safetycenter.resources
paketindeki tüm kaynaklar, içerikte herhangi bir kısıtlama olmaksızın yer paylaşımlıdır.
Ana Hat güncellemelerini alacak şekilde yapılandırılmamış GMS cihazları için, GTS testlerinin beklediği tüm dizeleri tanımlayan com.android.safetycenter.resources
yerini alan veya üzerine binen bir com.google.android.safetycenter.resources
paketi oluşturun.
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 formatı gereksinimleri
Yapılandırma dosyası bir XML dosyası olmalı ve Yapılandırma dosyasını güncelleme bölümünde açıklanan formata uymalıdır. Dosya ham raw
olmalıdır. Güvenlik Merkezi kaynaklarını Özelleştirme ve Güvenlik Merkezi kaynak gruplarını Özelleştirme'de açıklanan değişmezleri karşılaması gerekir. Yapılandırma dosyası yukarıdaki gereksinimlere uygun olarak iyi biçimlendirilmemişse özellik tamamen devre dışı bırakılır. Bu dosyanın ayrıştırılması, dosyanın iyi biçimlendirilmemesi durumunda ( logcat cihaz günlüklerinin üstünde) ek bağlam sağlayabilen CTS ve GTS testleri tarafından da desteklenir.
Google hizmetleri cihazları
GMS cihazlarında bu dosyaya bazı kısıtlamalar getirilmektedir. Bu, GTS testleriyle desteklenmektedir.
AOSP cihazları
AOSP cihazlarda konfigürasyon dosyasının iyi biçimlendirilmiş olması ve Güvenlik Merkezi için CTS testlerini geçmesi gerekir. Testler dosyanın iyi biçimlendirildiğini doğrular. GMS cihazlarının da bu testleri geçmesi gerekmektedir.