הפעלה או השבתה של מרכז הבטיחות
כדי להפעיל או להשבית את מרכז הבטיחות, משתמשים בשדה הבוליאני config_enableSafetyCenter
שניתן שכבת-על בקובץ frameworks/base/core/res/res/values/config.xml
.
רוב המכשירים, כמו טלפונים וטאבלטים, תומכים במרכז הבטיחות כברירת מחדל. בחלק מגורמי הצורה, מרכז הבטיחות מושבת כברירת מחדל, למשל ב-Auto, ב-TV וב-Wear.
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- ... -->
<!-- Determines whether SafetyCenter feature is enabled. -->
<bool name="config_enableSafetyCenter">true</bool>
<!-- ... -->
</resources>
כדי לתמוך במרכז הבטיחות, צריך להגדיר את config_enableSafetyCenter
כ-true
. אם אתם לא רוצים לתמוך במרכז הבטיחות, צריך להגדיר את הערך הזה כ-false
כדי להשבית אותו.
כשמרכז הבטיחות מושבת, כל ניסיון להפנות לדף 'אבטחה ופרטיות' יגרום לפתיחת אפליקציית ההגדרות במקום זאת. המערכת תתעלם מכל ניסיון לבצע אינטראקציה עם ממשקי ה-API או להחזיר ערך ברירת מחדל. גם המשבצת של ההגדרות המהירות והרשומה בהגדרות יהיו גלויות או מוסתרות, בהתאם להפעלה או להשבתה של מרכז הבטיחות.
הדגל DeviceConfig
בנוסף להפעלה של מרכז הבטיחות באמצעות ההגדרה config_enableSafetyCenter
, אפשר להשתמש בדגל DeviceConfig
(safety_center_is_enabled
) כדי להפעיל או להשבית את מרכז הבטיחות מרחוק.
ב-Android מגרסה 14 ואילך, אין צורך לבצע פעולה נוספת כי הדגל הזה מוגדר כברירת מחדל כ-true
.
ב-Android 13, מרכז הבטיחות מושבת כברירת מחדל בצד השרת ומופעל באמצעות רשימת ההיתרים באמצעות הדגל הזה. שולחים את טביעות האצבע של המכשיר ופונים למנהל החשבון הטכני (TAM) כדי שיוסיפו אתכם לרשימת ההיתרים. שימו לב: צריך להוסיף לרשימת ההיתרים את הגרסה הראשית M-2022-11
ואילך.
לפיתוח ובדיקות מקומיים, אפשר להפעיל או להשבית את הדגל באופן מקומי (עד להפעלה מחדש) באמצעות הפקודה adb
. לדוגמה, כדי להפעיל את הדגל:
adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true
כדי לוודא ש-Safety Center מופעל:
adb root
adb shell cmd safety_center enabled
הפלט יציג אם מרכז הבטיחות מופעל כראוי במכשיר.
עדכון קובץ התצורה
משתמשים בקובץ התצורה safety_center_config.xml
כדי לשנות את התוכן של המסך של מרכז הבטיחות. תוכלו להוסיף שכבת-על לקובץ הזה בהנחה שאתם עומדים בדרישות להתאמה אישית.
שכבת-על של קובץ התצורה
כדי להוסיף שכבת-על לקובץ safety_center_config.xml
, אפשר לעיין במאמר שינוי הערך של משאבי האפליקציה בזמן הריצה כדי לקבל מידע על שינוי שכבות-על של משאבים בסביבת זמן הריצה (RRO).
ב-Android 14, חשוב להוסיף שכבת-על לקובץ res/raw-v34/safety_center_config.xml
ולא res/raw/safety_center_config.xml
כי הקוד הקודם מקבל קדימות (הפעולה הזאת חלה גם על קבצים אחרים שהרמה שלהם היא v34
, למשל res/values-v34/strings.xml
). חבילת שכבת-העל צריכה לכלול SDK מינימלי מ-34
, אחרת יכול להיות שהמאפיין v34
יוסר במהלך האופטימיזציה.
כמו כן, חשוב להשתמש בשכבת-על סטטית, כי הערך הזה נטען בסביבות זמן האתחול.
במכשירי Android Open Source Project (AOSP), מטרגטים את החבילה com.android.safetycenter.resources
. אין הגדרת שכבת-על לטרגוט. כל המשאבים יכולים להיות בשכבת-על בלי הגבלה על התוכן.
במכשירי GMS שמוגדרים לקבל עדכוני Minline, מטרגטים את החבילה com.google.android.safetycenter.resources
. מטרגטים את ההגדרה SafetyCenterConfig
. כדי להשתמש בתצורה הזו, חבילת שכבת-העל צריכה להיות במחיצה product
, system
או vendor
. יצרני ציוד מקורי ל-GMS צריכים להעתיק את הקובץ safety_center_config.xml
ש-Google מספקת, ולהגביל את השינויים רק לאלה שמותרים לפי הבדיקות של GTS. ההגדרה של שכבת-העל אמורה להיות דומה לזו:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.overlay.package"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />
<overlay
android:targetPackage="com.google.android.safetycenter.resources"
android:targetName="SafetyCenterConfig"
android:isStatic="true"
android:priority="0"/>
</manifest>
במכשירי GMS שלא מוגדרים לקבל עדכוני Mainline, מטרגטים את החבילה com.android.safetycenter.resources
. אין הגדרות של שכבת-על לטירגוט. שם החבילה של שכבת-העל צריך להיות com.google.android.safetycenter.resources
.
יצרני ציוד מקורי ל-GMS צריכים להעתיק את הקובץ safety_center_config.xml
ש-Google מספקת, ולהגביל את השינויים לשינויים שמותר לבצע לפי בדיקות GTS. יצרני ציוד מקורי (OEM) של GMS חייבים גם להגדיר את המחרוזות שבהן נעשה שימוש בהגדרת ה-XML.
מבנה הקובץ
באופן כללי, הקובץ safety_center_config.xml
הוא רשימה של מקורות בטיחות. מקורות הבטיחות האלה מאורגנים בקבוצות כדי לנהל את האותות במסך של מרכז הבטיחות, לדוגמה, 'אבטחת אפליקציות' או 'נעילת מסך'. הסדר של הרשימה הזו קובע את סדר ההצגה:
<safety-center-config> <!-- Wrapper for the Safety Center configuration -->
<safety-sources-config>< !-- Wrapper for the safety sources groups -->
<safety-sources-group> <!-- Contains information about a safety sources group -->
<dynamic-safety-source /> <!-- Contains information about a safety source -->
<!-- More safety sources in the group -->
</safety-sources-group> <!-- More safety sources groups -->
</safety-sources-config>
</safety-center-config>
קובץ תצורה של Google
קובץ התצורה של AOSP נמצא ב-packages/modules/Permission/SafetyCenter/Resources/res/raw/safety_center_config.xml
.
ב-Android 13, קובץ התצורה של Google הוא:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
maxSeverityLevel="300"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidAdvancedSecurity"
profile="primary_profile_only"
intentAction="com.android.settings.security.SECURITY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_security_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_security_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_security_search_terms"/>
<static-safety-source
id="AndroidAdvancedPrivacy"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_privacy_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_privacy_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_privacy_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
ב-Android 14, קובץ התצורה של Google הוא:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
deduplicationGroup="AppSecurity"/>
<issue-only-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
loggingAllowed="false"
deduplicationGroup="AppSecurity"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
notificationsAllowed="true"
maxSeverityLevel="300"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePasswordCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_password_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_work"
searchTerms="@com.google.android.safetycenter.resources:string/google_password_checkup_search_terms"
initialDisplayState="hidden"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"/>
<dynamic-safety-source
id="GoogleBackupAndRestore"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
title="@com.google.android.safetycenter.resources:string/google_backup_title"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_backup_search_terms"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="GoogleAdsIdentity"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.adsidentity.ACTION_ADS_IDENTITY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_ads_identity_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_ads_identity_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_ads_identity_search_terms"/>
<dynamic-safety-source
id="AndroidHealthConnect"
profile="primary_profile_only"
packageName="com.google.android.healthconnect.controller"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="false"
title="@com.google.android.safetycenter.resources:string/google_health_connect_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_health_connect_search_terms"/>
<dynamic-safety-source
id="AndroidPrivacyAppDataSharingUpdates"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"
title="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<static-safety-source
id="GoogleActivityControls"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.accountsettings.action.ACTIVITY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_activity_controls_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_activity_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_activity_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_work_policy_title"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidMoreSettings"
profile="primary_profile_only"
intentAction="com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_more_settings_title"
summary="@com.google.android.safetycenter.resources:string/google_more_settings_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_more_settings_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
ב-Android 15, קובץ התצורה של Google הוא:
<safety-center-config>
<safety-sources-config>
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
deduplicationGroup="AppSecurity"/>
<issue-only-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
loggingAllowed="false"
deduplicationGroup="AppSecurity"/>
</safety-sources-group>
<safety-sources-group
id="AndroidLockScreenSources"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_sources_summary">
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
notificationsAllowed="true"
maxSeverityLevel="300"/>
<dynamic-safety-source
id="AndroidBiometrics"
packageName="com.android.settings"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_biometrics_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_biometrics_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_biometrics_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_biometrics_search_terms"
initialDisplayState="@com.google.android.safetycenter.resources:string/google_biometrics_initial_display_state"
maxSeverityLevel="0"/>
<dynamic-safety-source
id="GoogleAutoLock"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
maxSeverityLevel="0"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"/>
</safety-sources-group>
<safety-sources-group
id="GoogleAccountsSources"
title="@com.google.android.safetycenter.resources:string/google_accounts_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_accounts_sources_summary">
<dynamic-safety-source
id="GoogleSecurityCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
intentAction="com.google.android.gms.accountsettings.action.SAFETY_CENTER_SECURITY_CHECKUP"
title="@com.google.android.safetycenter.resources:string/google_security_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_security_checkup_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_security_checkup_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_checkup_search_terms"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GooglePasswordCheckup"
packageName="com.google.android.gms"
profile="all_profiles"
title="@com.google.android.safetycenter.resources:string/google_password_checkup_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_password_checkup_title_for_private_profile"
searchTerms="@com.google.android.safetycenter.resources:string/google_password_checkup_search_terms"
initialDisplayState="hidden"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
refreshOnPageOpenAllowed="false"/>
</safety-sources-group>
<safety-sources-group
id="GoogleDeviceFinderSources"
title="@com.google.android.safetycenter.resources:string/google_device_finder_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_device_finder_sources_summary">
<dynamic-safety-source
id="GoogleFindMyDevice"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="com.google.android.gms.settings.FIND_MY_DEVICE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_find_my_device_title"
summary="@com.google.android.safetycenter.resources:string/google_find_my_device_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_find_my_device_search_terms"/>
<dynamic-safety-source
id="GoogleRogueTag"
packageName="com.google.android.gms"
profile="primary_profile_only"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="GoogleUpdateSources"
title="@com.google.android.safetycenter.resources:string/google_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_updates_summary">
<dynamic-safety-source
id="GoogleSecurityUpdates"
packageName="com.google.android.gms"
profile="primary_profile_only"
intentAction="@com.google.android.safetycenter.resources:string/google_security_updates_intent"
title="@com.google.android.safetycenter.resources:string/google_security_updates_title"
summary="@com.google.android.safetycenter.resources:string/google_security_updates_summary"
notificationsAllowed="true"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_security_updates_search_terms"/>
<dynamic-safety-source
id="GooglePlaySystemUpdate"
packageName="com.android.vending"
profile="primary_profile_only"
intentAction="android.settings.MODULE_UPDATE_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_play_system_update_title"
summary="@com.google.android.safetycenter.resources:string/google_play_system_update_summary"
notificationsAllowed="true"
deduplicationGroup="AccountRequired"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_system_update_search_terms"/>
<dynamic-safety-source
id="GoogleBackupAndRestore"
packageName="com.google.android.gms"
profile="primary_profile_only"
initialDisplayState="hidden"
title="@com.google.android.safetycenter.resources:string/google_backup_title"
packageCertificateHashes="1975b2f17177bc89a5dff31f9e64a6cae281a53dc1d1d59b1d147fe1c82afa00,f0fd6c5b410f25cb25c3b53346c8972fae30f8ee7411df910480ad6b2d60db83,d22cc500299fb22873a01a010de1c82fbe4d061119b94814dd301dab50cb7678,7ce83c1b71f3d572fed04c8d40c5cb10ff75e6d87d9df6fbd53f0468c2905053"
searchTerms="@com.google.android.safetycenter.resources:string/google_backup_search_terms"/>
</safety-sources-group>
<safety-sources-group
id="AndroidCellularNetworkSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_cellular_network_security_title"
summary="@com.google.android.safetycenter.resources:string/google_cellular_network_security_summary">
<dynamic-safety-source
id="AndroidCellularNetworkSecurity"
packageName="com.android.phone"
profile="primary_profile_only"
notificationsAllowed="true"
initialDisplayState="hidden"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary">
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="GoogleAdsIdentity"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.adsidentity.ACTION_ADS_IDENTITY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_ads_identity_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_ads_identity_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_ads_identity_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_ads_identity_search_terms"/>
<dynamic-safety-source
id="AndroidHealthConnect"
profile="primary_profile_only"
packageName="com.google.android.healthconnect.controller"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="false"
title="@com.google.android.safetycenter.resources:string/google_health_connect_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_health_connect_search_terms"/>
<dynamic-safety-source
id="AndroidPrivacyAppDataSharingUpdates"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"
title="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_title"
searchTerms="@com.google.android.safetycenter.resources:string/google_app_data_sharing_updates_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<static-safety-source
id="GoogleActivityControls"
profile="all_profiles"
packageName="com.google.android.gms"
intentAction="com.google.android.gms.accountsettings.action.ACTIVITY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_activity_controls_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_work"
titleForPrivateProfile="@com.google.android.safetycenter.resources:string/google_activity_controls_title_for_private_profile"
summary="@com.google.android.safetycenter.resources:string/google_activity_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_activity_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
notificationsAllowed="true"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
<safety-sources-group
id="AndroidPrivacySourcesAdditional"
title="@com.google.android.safetycenter.resources:string/google_privacy_additional_title">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<dynamic-safety-source
id="AndroidPrivateSpace"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_private_space_title"
summary="@com.google.android.safetycenter.resources:string/google_private_space_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_private_space_search_terms"
initialDisplayState="hidden"
maxSeverityLevel="0"/>
</safety-sources-group>
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_work_policy_title"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<static-safety-source
id="AndroidMoreSettings"
profile="primary_profile_only"
intentAction="com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_more_settings_title"
summary="@com.google.android.safetycenter.resources:string/google_more_settings_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_more_settings_search_terms"/>
</safety-sources-group>
</safety-sources-config>
</safety-center-config>
התאמה אישית של המקורות במרכז הבטיחות
סוגי מקורות במרכז הבטיחות
המקורות יכולים להיות דינמיים, תלויים בלבד או סטטיים, בהתאם לסוג הנתונים שהם מספקים למרכז הבטיחות.
מקורות דינמיים
מסמנים את מקור המידע בנושא בטיחות בתור dynamic-safety-source
אם הוא יכול לספק ל'מרכז הבטיחות' נתונים דינמיים גם לגבי הכניסה שלו וגם לגבי כרטיסי האזהרה הפוטנציאליים:
<dynamic-safety-source
id="AndroidLockScreen"
packageName="com.android.settings"
profile="primary_profile_only"
title="@com.google.android.safetycenter.resources:string/google_lock_screen_title"
summary="@com.google.android.safetycenter.resources:string/google_lock_screen_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_lock_screen_search_terms"
initialDisplayState="disabled"
maxSeverityLevel="300"
refreshOnPageOpenAllowed="true"/>
מקורות של בעיות בלבד
מסמנים את המקור כ-issue-only-safety-source
אם אין רשומת הגדרות משויכת, אבל עדיין מוצגות אזהרות. תוכלו להציג רק אזהרות. שליחת רשומת הגדרות תוביל לשגיאה:
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
מקורות סטטיים
מסמנים את המקור כ-static-safety-source
אם מדובר ברשומה להפניה אוטומטית ללא נתונים דינמיים:
<static-safety-source
id="AndroidAdvancedSecurity"
profile="primary_profile_only"
intentAction="com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS"
title="@com.google.android.safetycenter.resources:string/google_advanced_security_title"
summary="@com.google.android.safetycenter.resources:string/google_advanced_security_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_advanced_security_search_terms"/>
הגדרת המקור של מרכז הבטיחות
בהתאם לסוג המקור של מרכז הבטיחות ולמשתנים קבועים אחרים, השדות של קובצי התצורה הם אופציונליים, חובה או אסורים, ואפשר להתאים אותם אישית:
id
- מזהה ייחודי של מקור הבטיחות, חייב להיות ייחודי בכל הקובץ ולהיות מורכב מתווים אלפביתיים בלבד (a-z, A-Z) והוא תלוי אותיות רישיות.
- סוג המחרוזת
- חובה לכל סוגי המקורות של מידע בנושא בטיחות
packageName
- שם החבילה שמקור הבטיחות הזה שייך לה. לדוגמה:
com.google.android.permissioncontroller
- סוג המחרוזת
- חובה למקורות בטיחות דינמיים ומקורות בטיחותיים לבעיות בלבד
- אסור להשתמש בהם במקורות בטיחות סטטיים ב-Android 13. ב-Android 14 אפשר להגדיר אותם כך שיטרגטו את
intentAction
של המקור באופן מפורש ולא משתמע (פרטים נוספים זמינים במסמכי התיעוד בנושא פתרון כוונות).
- שם החבילה שמקור הבטיחות הזה שייך לה. לדוגמה:
initialDisplayState
- איך הרשומה בממשק המשתמש מוצגת כשלא סופק נתונים על ידי מקור הבטיחות
- סוג הטיפוס בן המנייה (enum) שמיוצג כמחרוזת חייב להיות אחד מהבאים:
enabled
(ברירת מחדל, מוצג כרגיל)disabled
(מוצג באפור, לא ניתן ללחוץ עליו)hidden
(לא מוצג)
- אופציונלי למקורות בטיחות דינמיים (ברירת המחדל היא
enabled
) - אסור להשתמש בקוד הזה במקורות בטיחות סטטיים ומקורות בטיחות שמכילים רק בעיות
profile
- אם מקור הבטיחות הזה יוצר אינטראקציה עם הפרופיל המנוהל של המשתמש
- סוג הטיפוס בן המנייה (enum) שמיוצג כמחרוזת חייב להיות אחד מהבאים:
primary_profile_only
(אינטראקציה רק עם ההורה של הפרופיל)all_profiles
(אפשר גם לקיים אינטראקציה עם הפרופילים המנוהלים, ועם הפרופיל הפרטי החל מגרסה 15 של Android)
- ב-
all_profiles
נוצרות כמה רשומות בממשק המשתמש (אחת להורה של הפרופיל ואחת לכל פרופיל מנוהל). מקור הבטיחות יכול לספק נתונים שונים לכל פרופיל. - חובה לכל מקורות הבטיחות
searchTerms
- רשימה של מונחי חיפוש למפות לרשומה במרכז הבטיחות במהלך שימוש בחיפוש באפליקציית ההגדרות
- מזהה משאב מיוצג כשם משאב שמוגדר במלואו, לדוגמה,
@package:string/my_search_terms
- אופציונלי למקורות בטיחות דינמיים וסטטיים (ברירת המחדל היא ללא מונחי חיפוש)
- אסור למקורות בטיחות שמציגים רק בעיות
title
- כותרת ברירת המחדל של רשומת ממשק המשתמש, משמשת כאשר לא מתקבלים נתונים באופן דינמי על ידי המקור
- מזהה משאב מיוצג כשם משאב שמוגדר במלואו, לדוגמה,
@package:string/my_title
- חובה למקורות בטיחות דינמיים וסטטיים (אלא אם
initialDisplayState="hidden"
בליsearchTerms
) - אסור למקורות בטיחות שמציגים רק בעיות
titleForWork
- כותרת ברירת המחדל של הרשומה בממשק המשתמש של הפרופיל המנוהל, שמשמשת כשהמקור לא מספק נתונים באופן דינמי
- מזהה משאב מיוצג כשם משאב שמוגדר במלואו, לדוגמה,
@package:string/my_title_for_work
- חובה למקורות בטיחות דינמיים וסטטיים שצוין בהם
profile="all_profiles"
(אלא אםinitialDisplayState="hidden"
ללאsearchTerms
) - אסור להשתמש בהם במקורות בטיחות שמציגים רק בעיות או במקורות עם
profile="primary_profile_only"
summary
- סיכום ברירת המחדל של הרשומה בממשק המשתמש (תיאור טקסט ארוך יותר שמוצג מתחת לשם), שמשמש כשהמקור לא מספק נתונים באופן דינמי
- מזהה משאב מיוצג כשם משאב שמוגדר במלואו, לדוגמה,
@package:string/my_summary
- אופציונלי למקורות בטיחות סטטיים (ברירת המחדל היא ללא סיכום)
- חובה עבור מקורות בטיחות דינמיים (אלא אם
initialDisplayState
הואhidden
) - אסור להשתמש במקורות בטיחות שעוסקים בבעיות בלבד
intentAction
- הפעולה שתופעל כשלוחצים על הערך בממשק המשתמש
- סוג מחרוזת, לדוגמה
com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS
, או מזהה משאב שמוצג בתור שם משאב מלא, לדוגמה@package:string/my_intent_action
- אם פעולת ה-Intent הזו לא מובילה ל-
packageName
הנתון (אם בכלל), הרשומה בממשק המשתמש תפעל באותו אופן כמו עםinitialDisplayState="disabled"
- חובה למקורות בטיחות סטטיים ול-
dynamic
מקורות בטיחות עםinitialDisplayState="enabled"
- אסור להשתמש במקורות בטיחות שעוסקים בבעיות בלבד
maxSeverityLevel
- רמת החומרה המקסימלית שהמקור הזה של מרכז הבטיחות יכול לספק
- מספר שלם שמיוצג כמחרוזת, לדוגמה
300
- אופציונלי למקורות בטיחות דינמיים ומקורות בטיחותיים לבעיות בלבד (ברירת המחדל היא אין ערך מקסימלי)
- אסור להשתמש בהם במקורות בטיחות סטטיים
loggingAllowed
- אם מרכז הבטיחות יכול לתעד אינטראקציות או נתונים שקשורים למקור הזה
- ערך בוליאני מיוצג כמחרוזת, לדוגמה
false
- אופציונלי למקורות דינמיים ולמקורות אבטחה של בעיות בלבד (ברירת המחדל היא
true
) - אסור להשתמש במקורות בטיחות סטטיים
refreshOnPageOpenAllowed
- האם צריך לשלוח אות למקור המידע בנושא בטיחות כדי לרענן את הנתונים שלו כשמסך מרכז הבטיחות נפתח
- ערך בוליאני שמיוצג כמחרוזת, לדוגמה,
true
- אופציונלי למקורות בטיחות דינמיים ומקורות בטיחותיים לבעיות בלבד (ברירת המחדל היא
false
) - אסור להשתמש בהם במקורות בטיחות סטטיים
notificationsAllowed
(החל מ-Android 14)- אם מקור הבטיחות יכול לתת התראה בזמן דיווח על בעיה
- ערך בוליאני שמיוצג כמחרוזת, לדוגמה,
true
- אופציונלי למקורות בטיחות דינמיים ומקורות בטיחותיים לבעיות בלבד (ברירת המחדל היא
false
) - אסור להשתמש בהם במקורות בטיחות סטטיים
deduplicationGroup
(החל מ-Android 14)- מזהה ייחודי פוטנציאלי שאפשר להשתמש בו כדי לבטל כפילויות של בעיות שמקורן במקורות שונים. מקורות באותה קבוצה לביטול כפילויות יכולים לשלוח בעיות עם מזהה אופציונלי של ביטול כפילויות. בעיות עם אותו מזהה של ביטול כפילויות יופיעו רק פעם אחת בממשק המשתמש, גם אם מספר מקורות שולחים אותן.
- טיפוס מחרוזת
- אופציונלי למקורות בטיחות דינמיים ומקורות בטיחות של בעיות בלבד (ברירת המחדל היא ללא ביטול כפילויות)
- אסור להשתמש במקורות בטיחות סטטיים
packageCertificateHashes
(החל מ-Android 14)- רשימה מופרדת בפסיקים של גיבובים של אישורים ל-
packageName
הנתון. אם ההגדרה הזו מוגדרת, בדיקת אישורים תתבצע מולpackageCertificateHashes
שצוין עבורpackageName
שצוין במהלך האינטראקציה עם מקור הבטיחות, למטרות אבטחה. - טיפוס מחרוזת
- אופציונלי למקורות אבטחה דינמיים ולמקורות אבטחה שמכילים רק בעיות (ברירת המחדל היא ללא בדיקות אישורים)
- אסור להשתמש במקורות בטיחות סטטיים
- רשימה מופרדת בפסיקים של גיבובים של אישורים ל-
titleForPrivateProfile
(החל מ-Android 15)- כותרת ברירת המחדל של רשומת ממשק המשתמש עבור הפרופיל הפרטי, שמשמשת כשהמקור לא מספק נתונים באופן דינמי
- מזהה משאב מיוצג כשם משאב שמוגדר במלואו, לדוגמה,
@package:string/my_title_for_private_profile
- נדרש למקורות בטיחות דינמיים וסטטיים שצוין בהם
profile="all_profiles"
(אלא אםinitialDisplayState="hidden"
ללאsearchTerms
) - אסור להשתמש בהם במקורות בטיחות שמכילים רק בעיות, או במקורות עם
profile="primary_profile_only"
התאמה אישית של קבוצות מקורות ב-Safety Center
המקורות של מרכז הבטיחות צריכים להיות שייכים לקבוצת מקורות של מרכז הבטיחות. כל קבוצת מקורות מוצגת בממשק המשתמש לפי הסדר שבו קבוצות המקורות מפורטות בקובץ. כל מקור מוצג בתוך הקבוצה לפי הסדר שבו המקורות מופיעים בקובץ. אם הקבוצה מכילה מקור בטיחות אחד, היא תוצג כרשומה יחידה ולא כקבוצה.
הגדרה של קבוצת מקורות במרכז הבטיחות
משתמשים במשתנים הבאים כדי להתאים אישית את קבוצות המקור במרכז הבטיחות:
id
- מזהה ייחודי של קבוצת מקורות המידע בנושא בטיחות. המזהה חייב להיות ייחודי בכל הקובץ.
- טיפוס מחרוזת
- חובה
title
- שם הקבוצה בממשק המשתמש
- מזהה המשאב מיוצג בתור שם משאב מלא, לדוגמה,
@package:string/my_title
- חובה אם יש לפחות מקור בטיחות דינמי או סטטי אחד בקבוצה (כלומר שהקבוצה לא משתייכת ל-
type="hidden"
)
summary
- תיאור קצר של הקבוצה בממשק המשתמש, שמוצג מתחת לשם. מוצג בתנאים ספציפיים, בדרך כלל כשלא צוינו נתונים. במקרים אחרים, הסיכום מחושב על סמך הנתונים שסופקו על ידי המקורות בקבוצה.
- מזהה משאב מיוצג כשם משאב שמוגדר במלואו, לדוגמה,
@package:string/my_summary
- אופציונלי (ברירת המחדל היא לא סיכום)
statelessIconType
- סוג הסמל שמוצג לקבוצה כשמקורות הבטיחות לא מספקים מצב, למשל רשומות סטטיות
- סוג Enum שמוצג כמחרוזת, והוא חייב להיות
none
אוprivacy
(סוג סמל הפרטיות) - אופציונלי (ברירת המחדל היא
none
)
type
(החל מ-Android 14)- סוג מפורש שמציין את אופן האינטראקציה של הקבוצה הזו עם מרכז הבטיחות
- סוג הטיפוס בן המנייה (enum) שמיוצג כמחרוזת חייב להיות אחד מהבאים:
stateful
(מציג ותורם לסטטוס הכולל של מרכז הבטיחות)stateless
(מוצג ולא משפיע על הסטטוס הכולל של מרכז הבטיחות)hidden
(לא מוצג, כל המקורות חייבים להיות קשורים לבעיות בלבד)
- אופציונלי, נגזר כברירת מחדל באמצעות מקורות הבטיחות שמכילים את הקבוצה, וגם את
summary
ו-statelessIconType
. אם מציינים אתtype
משתנים קבועים נוספים כדי לוודא שהוא תואם למקורות בקבוצה (לדוגמה, הקבוצה לא יכולה להיותhidden
אם היא מכילה ערכים שגלויים למשתמשים).
סוגי הקבוצות של מקורות המידע במרכז הבטיחות
קבוצות המקור במרכז הבטיחות מסווגות בתור שמירת מצב, ללא שמירת מצב או מוסתרת, לפי המצב של שדות מסוימים.
קבוצה עם שמירת מצב
קבוצה שיש לה גם כותרת וגם סיכום, או ש-stateLessIconType="privacy"
נחשבת לקבוצה עם מצב, תורמת לסטטוס הכולל של מרכז הבטיחות:
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
ב-Android 13, קבוצה כזו תוצג כרשומה שניתן לכווץ בממשק המשתמש. ב-Android 14, הוא יוצג כרשומה עם סטטוס משלו שמפנה לדף המשנה.
קבוצה ללא מצב
קבוצה שיש לה שם אבל אין לה סיכום, ו-stateLessIconType="none"
נחשבת ללא מצב ולא תורמת לסטטוס הכולל של מרכז הבטיחות:
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
קבוצה כזו תוצג כרשימה נוקשה של רשומות בממשק המשתמש.
קבוצה מוסתרת
קבוצה מוסתרת מכילה רק מקורות בטיחות לבעיות ואין לה שם. קבוצות מוסתרות לא מופיעות בממשק המשתמש:
<safety-sources-group
id="HiddenGroup">
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
נתונים דינמיים לרשומה סטטית
אפשר להציג את המקור הדינמי של מרכז הבטיחות כרשומה סטטית, שמאפשרת לדחוף רשומות של הפניות אוטומטיות בהתאם לתנאים מסוימים, ולהתאים אישית את התוכן שלה בזמן הריצה. מגדירים את המקור הדינמי בקבוצה ללא מצב (stateless), למשל, בהתאם לרשומה של פרטי המדיניות של מקום העבודה.
בדוגמה הזו מוצג מקור בטיחות דינמי שלא מספק אות בטיחות, כי הוא נמצא בקבוצה ללא מצב:
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<!-- … -->
</safety-sources-group>
בדוגמה הזו, המקור יכול לדחוף רק כרטיסי אזהרה ירוקים ולספק סטטוס לא מוגדר. כדי שתהיה אפשרות לספק נתונים אחרים, המקור צריך להיות בתוך קבוצה עם שמירת מצב.
התאמה אישית של מחרוזות ושדות שכבת-על
במכשירי GMS שלא מוגדרים לקבלת עדכוני Mainline, במקום להוסיף שכבה על כל קובץ התצורה, אפשר להוסיף שכבה על שישה משאבי מחרוזות כדי לענות על כל הצרכים של ההתאמה האישית. משאבי המחרוזת שמוצגים כשכבת-על מפורטים בטבלה.
משאב מחרוזות | תיאור |
---|---|
google_lock_screen_sources_summary |
כדאי להוסיף שכבת-על לערך הזה כדי להגדיר סיכום סטטי שיוצג לקבוצה AndroidLockScreenSources כשכל המקורות בקבוצה נמצאים במצב טוב (מידע או רמת חומרה שלא צוינה). כברירת מחדל, מרכז הבטיחות מציג את הכותרות של כל המקורות בקבוצה כסיכום של הקבוצה. |
google_biometrics_title |
אפשר להוסיף שכבה על הערך הזה כדי להגדיר כותרת סטטית למקור הביומטרי שבבעלות החבילה com.android.settings , שתופעל כשהמקור לא מספק נתונים דינמיים. מוסיפים את שכבת-העל הזו כשמוסיפים גם את השם שמסופק באופן דינמי על ידי המקור בחבילה com.android.settings . כברירת מחדל, המערכת מתעלמת מהמצב הזה כי מצב התצוגה הראשוני של המקור הוא hidden . |
google_biometrics_summary |
אפשר להוסיף שכבה על הערך הזה כדי להגדיר סיכום סטטי של המקור הביומטרי שבבעלות החבילה com.android.settings , שמשומש כשהמקור לא מספק נתונים דינמיים. כברירת מחדל, המערכת מתעלמת מהמצב הזה כי מצב התצוגה הראשוני של המקור הוא hidden . |
google_biometrics_search_terms |
יש להוסיף שכבת-על לערך הזה כדי להגדיר רשימה של מונחי חיפוש עבור המקור הביומטרי
שבבעלות החבילה com.android.settings . |
google_biometrics_initial_display_state |
אפשר להוסיף את הערך הזה כדי להציג רשומה בממשק המשתמש של המקור הביומטרי שבבעלות החבילה com.android.settings , כשהמקור לא מספק נתונים דינמיים. ערך ברירת המחדל הוא
hidden . |
google_security_updates_intent |
אפשר להוסיף שכבה על הערך הזה כדי לשנות את הכוונה שנדרשת כדי לפתוח את הפעילות שמאפשרת למשתמש לבדוק ולהתקין עדכוני אבטחה. הפעולה
הזו של Intent צריכה להיות משויכת לפעילות שמיוצאת. ערך ברירת המחדל הוא android.settings.SYSTEM_UPDATE_SETTINGS . |
אף מחרוזות אחרות בחבילה com.google.android.safetycenter.resources
לא ניתנות לשכבת-על.
במכשירי AOSP, כל המשאבים בחבילה com.android.safetycenter.resources
ניתנים לשכבת-על ללא הגבלה על התוכן.
במכשירי GMS שלא מוגדרים לקבלת עדכוני Mainline, יוצרים חבילת com.google.android.safetycenter.resources
שמחליפת את com.android.safetycenter.resources
או מוטמעת מעל com.android.safetycenter.resources
ומגדירה את כל המחרוזות שצפויות בבדיקות GTS.
המחרוזות האלה הן:
google_app_security_sources_title
google_app_security_sources_summary
google_play_protect_title
google_play_protect_title_for_work
google_play_protect_summary
google_play_protect_search_terms
google_lock_screen_sources_title
google_lock_screen_sources_summary
google_lock_screen_title
google_lock_screen_summary
google_lock_screen_search_terms
google_biometrics_title
google_biometrics_summary
google_biometrics_search_terms
google_biometrics_initial_display_state
google_accounts_sources_title
google_accounts_sources_summary
google_security_checkup_title
google_security_checkup_title_for_work
google_security_checkup_summary
google_security_checkup_search_terms
google_device_finder_sources_title
google_device_finder_sources_summary
google_find_my_device_title
google_find_my_device_summary
google_find_my_device_search_terms
google_updates_title
google_updates_summary
google_security_updates_title
google_security_updates_summary
google_security_updates_search_terms
google_security_updates_intent
google_play_system_update_title
google_play_system_update_summary
google_play_system_update_search_terms
google_privacy_sources_title
google_privacy_sources_summary
google_permission_usage_title
google_permission_usage_summary
google_permission_usage_search_terms
google_permission_manager_title
google_permission_manager_summary
google_permission_manager_search_terms
google_privacy_controls_title
google_privacy_controls_summary
google_privacy_controls_search_terms
google_advanced_title
google_advanced_security_title
google_advanced_security_summary
google_advanced_security_search_terms
google_advanced_privacy_title
google_advanced_privacy_summary
google_advanced_privacy_search_terms
דרישות להתאמה אישית
הדרישות לגבי פורמט הקובץ
קובץ התצורה צריך להיות קובץ XML ותואם לפורמט שמתואר בקטע עדכון קובץ התצורה. הקובץ צריך להיות בתיקייה raw
. הוא צריך לעמוד במשתנים הקבועים שמתוארים במאמר התאמה אישית של המקורות במרכז הבטיחות ובהתאמה אישית של קבוצות המקורות במרכז הבטיחות. אם קובץ התצורה לא תקין בהתאם לדרישות שלמעלה, התכונה תושבת לחלוטין. ניתוח הקובץ הזה נתמך גם בבדיקות CTS ו-GTS, שיכולות לספק הקשר נוסף במקרה שהקובץ לא בפורמט תקין (בנוסף ליומני המכשיר של logcat).
מכשירים של שירותי Google
במכשירי GMS, יש מגבלות מסוימות על הקובץ הזה. אפשר להשתמש בו בבדיקות של GTS.
מכשירי AOSP
במכשירי AOSP, קובץ התצורה צריך להיות תקין ולעבור את הבדיקות של CTS ל-Safety Center. הבדיקות מוודאות שהקובץ תקין. גם מכשירי GMS צריכים לעבור את הבדיקות האלה.