تفعيل "مركز الأمان" أو إيقافه
لتفعيل "مركز الأمان" أو إيقافه، استخدِم الحقل المنطقي
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
لإيقافه.
عند إيقاف "مركز الأمان"، ستؤدي أي محاولة لإعادة التوجيه إلى صفحة "الأمان والخصوصية" إلى فتح تطبيق "الإعدادات" بدلاً من ذلك. يتم تجاهل أي محاولة للتفاعل مع واجهة برمجة التطبيقات أو عرض قيمة تلقائية. يتم أيضًا عرض مربّع "الإعدادات السريعة" المرتبط و"الإعدادات" أو إخفاؤهما بناءً على ما إذا كان "مركز الأمان" مفعَّلاً.
علامة DeviceConfig
بالإضافة إلى تفعيل "مركز السلامة" باستخدام config_enableSafetyCenter
الإعدادات، يتم استخدام علامة
DeviceConfig
(safety_center_is_enabled
) لتفعيل "مركز
السلامة" أو إيقافه عن بُعد.
في الإصدار 14 من Android والإصدارات الأحدث، ليس عليك اتّخاذ أي إجراء آخر،
لأنّ هذا الإعداد هو true
تلقائيًا.
في الإصدار 13 من نظام التشغيل Android، يكون تطبيق "مركز الأمان" غير مفعَّل تلقائيًا
من جهة الخادم ويتم تفعيله من خلال القائمة المسموح بها باستخدام هذا الإعداد. أرسِل بصمات إصبع
الجهاز وتواصَل مع مدير حسابك لدى فريق إدارة العملاء (TAM) لإضافتك إلى القائمة المسموح بها. يُرجى العِلم أنّه يجب إضافة الإصدار M-2022-11
من الإصدار الرئيسي أو إصدار أحدث إلى القائمة المسموح بها.
لتطوير واختبار التطبيقات على الجهاز، يمكن تفعيل العلامة أو إيقافها على الجهاز
(إلى أن تتم إعادة التشغيل) باستخدام الأمر adb
. على سبيل المثال، لتفعيل العلامة:
adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true
للتأكّد من تفعيل "مركز السلامة":
adb root
adb shell cmd safety_center enabled
سيعرض الإخراج ما إذا كان تطبيق "مركز الأمان" مفعَّلاً بشكل صحيح على الجهاز.
تعديل ملف الضبط
استخدِم ملف الإعدادات safety_center_config.xml
لتعديل محتوى screen.
Safety Center يمكنك تراكب هذا الملف بافتراض أنّك استوفيت
متطلبات التخصيص.
تراكب ملف الإعداد
لوضع ملف 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
). يجب أن يكون الحد الأدنى لحزمة التراكب أقل
من 34
، وإلا قد تتم إزالة العنصر المحدِّد v34
أثناء التحسين.
احرص أيضًا على استخدام تراكب ثابت، لأنّه يتم تحميل هذه القيمة في وقت التمهيد
تقريبًا.
بالنسبة إلى أجهزة "المشروع المفتوح المصدر لنظام Android" (AOSP)، استهدِف الحزمة
com.android.safetycenter.resources
. لا تتوفّر إعدادات تراكب لتحديد هدف. يمكن استخدام جميع الموارد بدون أي قيود على المحتوى.
بالنسبة إلى أجهزة GMS التي تم ضبطها لتلقّي تحديثات Mainline، استهدِف
الحزمة 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. على المصنّعين الأصليّين للأجهزة الذين يستخدمون حِزم 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
- كيفية عرض إدخال واجهة المستخدم في حال عدم تقديم أي بيانات من مصدر أمان
- نوع التعداد الذي يتم تمثيله كسلسلة، يجب أن يكون أحد الخيارات التالية:
enabled
(الإعداد التلقائي، يتم العرض بشكلٍ طبيعي)disabled
(يظهر باللون الرمادي ولا يمكن النقر عليه)hidden
(لا يتم عرضها)
- اختياري لمصادر الأمان الديناميكية (القيمة التلقائية هي
enabled
) - محظور لمصادر السلامة الثابتة ومصادر المشاكل فقط
profile
- ما إذا كان مصدر الأمان هذا يتفاعل مع الملف الشخصي المُدار للمستخدم
- نوع التعداد الذي يتم تمثيله كسلسلة، يجب أن يكون أحد الخيارات التالية:
primary_profile_only
(لا تتفاعل إلا مع الملف الشخصي الرئيسي)all_profiles
(يمكن أيضًا التفاعل مع الملفات الشخصية المُدارة و بدءًا من Android 15 الملف الشخصي الخاص)
- في
all_profiles
، يتم إنشاء العديد من إدخالات واجهة المستخدم (واحد لملف الوالد الشخصي، وواحد لكل ملف شخصي مُدار)، ويمكن أن يقدّم مصدر الأمان بيانات مختلفة لكل ملف شخصي. - مطلوبة لجميع مصادر السلامة
searchTerms
- قائمة بعبارات البحث التي ترتبط بإدخال "مركز الأمان" عند استخدام البحث في تطبيق "الإعدادات"
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال:
@package:string/my_search_terms
- اختياري لمصادر الأمان الديناميكية والثابتة (الإعداد التلقائي هو عدم استخدام عبارات بحث)
- محظور لمصادر الأمان التي تتعامل مع المشاكل فقط
title
- العنوان التلقائي لإدخال واجهة المستخدم، والذي يُستخدَم عندما لا يقدّم المصدر أي بيانات بشكل ديناميكي
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال،
@package:string/my_title
- مطلوبة لمصادر الأمان الديناميكية والثابتة (ما لم يكن هناك
initialDisplayState="hidden"
بدونsearchTerms
) - محظور لمصادر الأمان التي تتعامل مع المشاكل فقط
titleForWork
- العنوان التلقائي لإدخال واجهة المستخدم للملف الشخصي المُدار الذي يتم استخدامه عندما لا يتم تقديم البيانات بشكل ديناميكي من المصدر
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال:
@package:string/my_title_for_work
- مطلوب لمصادر الأمان الديناميكية والثابتة التي حدّدت
profile="all_profiles"
(ما لم تكنinitialDisplayState="hidden"
بدونsearchTerms
) - محظور لمصادر السلامة التي تتضمّن مشاكل فقط أو المصادر التي تتضمّن
profile="primary_profile_only"
summary
- الملخّص التلقائي لإدخال واجهة المستخدم (وهو وصف نصي أطول يظهر أسفل العنوان)، ويُستخدَم عندما لا يقدّم المصدر البيانات بشكل ديناميكي
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال:
@package:string/my_summary
- اختياري لمصادر الأمان الثابتة (الإعداد التلقائي هو عدم عرض ملخّص)
- مطلوب لمصادر السلامة الديناميكية (ما لم يكن
initialDisplayState
hidden
) - محظور لمصادر الأمان التي تتعامل مع المشاكل فقط
intentAction
- الإجراء الذي يتم تشغيله عند النقر على إدخال واجهة المستخدم
- نوع السلسلة، على سبيل المثال،
com.google.android.settings.security.SECURITY_ADVANCED_SETTINGS
، أو رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال،@package:string/my_intent_action
- إذا لم يتم حلّ إجراء النية هذا لل
packageName
المحدّد (إذا كان هناك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"
تخصيص مجموعات مصادر "مركز السلامة"
يجب أن تكون مصادر "مركز الأمان" مضمّنة في مجموعة مصادر "مركز الأمان". يتم عرض كل مجموعة مصادر في واجهة المستخدِم بالترتيب الذي يتم فيه إدراج مجموعات المصادر في الملف. يتم عرض كل مصدر ضمن المجموعة بالترتيب الذي يتم فيه إدراج المصادر في الملف. إذا كانت المجموعة تحتوي على مصدر أمان واحد، يتم عرضها كإدخال واحد بدلاً من مجموعة.
إعداد مجموعة مصادر "مركز السلامة"
استخدِم المتغيّرات التالية لتخصيص مجموعات مصادر "مركز الأمان":
id
- معرّف فريد لمجموعة مصادر الأمان، ويجب أن يكون فريدًا في الملف بأكمله
- نوع السلسلة
- مطلوب
title
- عنوان المجموعة في واجهة المستخدم
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال:
@package:string/my_title
- مطلوب إذا كان هناك مصدر أمان ديناميكي أو ثابت واحد على الأقل ضمن
المجموعة (أي أنّ المجموعة ليست من النوع
type="hidden"
)
summary
- وصف موجز للمجموعة في واجهة المستخدم، يظهر أسفل العنوان يتمّ عرضه في ظلّ شروط معيّنة، عادةً عندما لا يتمّ تقديم البيانات، وإلا، يتمّ احتساب الملخّص استنادًا إلى البيانات المقدّمة من المصادر ضمن المجموعة.
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال،
@package:string/my_summary
- اختياري (الإعداد التلقائي هو "بدون ملخص")
statelessIconType
- نوع الرمز المعروض للمجموعة عندما لا تقدّم مصادر الأمان أي حالة، على سبيل المثال، الإدخالات الثابتة
- نوع التعداد الممثَّل كسلسلة يجب أن تكون إما
none
أوprivacy
(نوع رمز الخصوصية) - اختياري (القيمة التلقائية هي
none
)
type
(بدءًا من Android 14)- نوع صريح لتصنيف كيفية تفاعل هذه المجموعة مع "مركز الأمان"
- نوع التعداد الذي يتم تمثيله كسلسلة، يجب أن يكون أحد الخيارات التالية:
stateful
(تعرض الحالة العامة لمركز الأمان ويساهم فيها)stateless
(يتم عرضها ولا تساهم في الحالة العامة لـ "مركز الأمان")hidden
(لا يتم عرضها، ويجب أن تكون جميع المصادر متعلّقة بالمشكلة فقط)
- اختياري، ويتم استنتاجه تلقائيًا باستخدام مصادر السلامة الواردة في
المجموعة بالإضافة إلى
summary
وstatelessIconType
. في حال تحديدtype
، يتم فرض بعض الثوابت الإضافية للتأكّد من أنّه يتطابق مع المصادر التي تم العثور عليها في المجموعة (على سبيل المثال، لا يمكن أن تكون المجموعةhidden
إذا كانت تحتوي على إدخالات تظهر للمستخدم).
أنواع مجموعات مصادر "مركز الأمان"
يتم تصنيف مجموعات مصادر "مركز السلامة" على أنّها ذات حالة أو بدون حالة أو مخفية، استنادًا إلى حالة حقول معيّنة.
مجموعة تتبّع حالة الاتصال
تساهم المجموعة التي تحتوي على عنوان وملخّص، أو stateLessIconType="privacy"
التي
تُعدّ ذات حالة، في الحالة العامة لـ "مركز الأمان":
<safety-sources-group
id="GoogleAppSecuritySources"
title="@com.google.android.safetycenter.resources:string/google_app_security_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_app_security_sources_summary">
<dynamic-safety-source
id="GooglePlayProtect"
packageName="com.android.vending"
profile="all_profiles"
intentAction="com.google.android.finsky.PLAY_PROTECT"
title="@com.google.android.safetycenter.resources:string/google_play_protect_title"
titleForWork="@com.google.android.safetycenter.resources:string/google_play_protect_title_for_work"
summary="@com.google.android.safetycenter.resources:string/google_play_protect_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_play_protect_search_terms"
refreshOnPageOpenAllowed="true"/>
<dynamic-safety-source
id="GoogleAppProtectionService"
packageName="com.google.android.odad"
profile="primary_profile_only"
initialDisplayState="hidden"
loggingAllowed="false"/>
</safety-sources-group>
في Android 13، ستظهر هذه المجموعة كإدخال قابل للطي في واجهة المستخدم. في Android 14، سيظهر كأحد الإدخالات التي تتضمّن حالته الخاصة وتعيد التوجيه إلى الصفحة الفرعية.
مجموعة لا تتبّع حالة الاتصال
مجموعة لها عنوان ولكن ليس لها ملخّص، وstateLessIconType="none"
يُعتبَر
أنّها لا تملك حالة ولا تساهم في الحالة العامة لمركز الأمان:
<safety-sources-group
id="AndroidPrivacySources"
title="@com.google.android.safetycenter.resources:string/google_privacy_sources_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_sources_summary"
statelessIconType="privacy">
<static-safety-source
id="AndroidPermissionUsage"
profile="primary_profile_only"
intentAction="android.intent.action.REVIEW_PERMISSION_USAGE"
title="@com.google.android.safetycenter.resources:string/google_permission_usage_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_usage_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_usage_search_terms"/>
<static-safety-source
id="AndroidPermissionManager"
profile="primary_profile_only"
intentAction="android.intent.action.MANAGE_PERMISSIONS"
title="@com.google.android.safetycenter.resources:string/google_permission_manager_title"
summary="@com.google.android.safetycenter.resources:string/google_permission_manager_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_permission_manager_search_terms"/>
<static-safety-source
id="AndroidPrivacyControls"
profile="primary_profile_only"
intentAction="android.settings.PRIVACY_CONTROLS"
title="@com.google.android.safetycenter.resources:string/google_privacy_controls_title"
summary="@com.google.android.safetycenter.resources:string/google_privacy_controls_summary"
searchTerms="@com.google.android.safetycenter.resources:string/google_privacy_controls_search_terms"/>
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidNotificationListener"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidBackgroundLocation"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
<issue-only-safety-source
id="AndroidPermissionAutoRevoke"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
وستظهر هذه المجموعة كقائمة جامدة للإدخالات في واجهة المستخدم.
مجموعة مخفية
لا تحتوي المجموعة المخفية إلا على مصادر أمان تتضمن مشاكل فقط، ولا يكون لها عنوان. لا تظهر المجموعات المخفية في واجهة المستخدم:
<safety-sources-group
id="HiddenGroup">
<issue-only-safety-source
id="AndroidAccessibility"
packageName="com.google.android.permissioncontroller"
profile="all_profiles"
refreshOnPageOpenAllowed="true"/>
</safety-sources-group>
البيانات الديناميكية لإدخال ثابت
يمكنك عرض مصدر Safety Center الديناميكي كإدخال ثابت، ما يسمح بإرسال إدخالات إعادة التوجيه استنادًا إلى بعض الشروط، ويسمح بتخصيص المحتوى الخاص به أثناء التشغيل. حدِّد المصدر الديناميكي ضمن مجموعة لا تتضمّن حالة، مثلاً، استنادًا إلى إدخال معلومات سياسة العمل.
يعرض هذا المثال مصدر أمان ديناميكيًا لا يقدّم إشارة أمان، لأنّه في مجموعة لا تتضمّن حالة:
<safety-sources-group
id="AndroidAdvancedSources"
title="@com.google.android.safetycenter.resources:string/google_advanced_title">
<dynamic-safety-source
id="AndroidWorkPolicyInfo"
packageName="com.google.android.permissioncontroller"
profile="primary_profile_only"
initialDisplayState="hidden"
refreshOnPageOpenAllowed="true"/>
<!-- … -->
</safety-sources-group>
في هذا المثال، يمكن للمصدر إرسال بطاقات التحذير الخضراء فقط وتقديم حالة غير محدّدة. لتتمكّن من تقديم بيانات أخرى، يجب أن يكون المصدر ضمن مجموعة ذات حالة.
تخصيص سلاسل الحقول والحقول التي تظهر على سطح الخريطة
بالنسبة إلى أجهزة GMS التي لم يتم ضبطها لتلقّي تحديثات Mainline، بدلاً من تداخل ملف الضبط بالكامل، يمكنك تداخل ستة موارد سلاسل برمجية لتلبية جميع احتياجات التخصيص. يتم إدراج موارد السلاسل التي تكون مركّبة في الجدول.
مورد سلسلة نصية | الوصف |
---|---|
google_lock_screen_sources_summary |
يمكنك تراكب هذه القيمة لتحديد ملخّص ثابت يتم عرضه لمحاولة
المجموعة AndroidLockScreenSources عندما تكون جميع المصادر في
المجموعة في حالة جيدة (معلومات أو مستوى شدة غير محدّد
للخطأ). يعرض تطبيق "مركز الأمان" تلقائيًا عنوان كل المصادر
في المجموعة معًا كملخّص للمجموعة. |
google_biometrics_title |
يمكنك استخدام هذه القيمة لتحديد عنوان ثابت لمصدر المقاييس الحيوية
الذي تملكه حزمة com.android.settings المستخدَمة عندما لا يتم تقديم
بيانات ديناميكية من المصدر. يجب عرض هذا العنوان عند عرض عنوان آخر مقدَّم ديناميكيًا من المصدر في حزمة
com.android.settings . يتم تجاهل هذا الإعداد تلقائيًا
لأنّ حالة العرض الأولية للمصدر هي
hidden . |
google_biometrics_summary |
يمكنك دمج هذه القيمة لتحديد ملخّص ثابت لمصدر البصمة المميّزة
الذي تملكه حزمة com.android.settings المستخدَمة
في حال عدم تقديم أي بيانات ديناميكية من المصدر. يتم تجاهل ذلك
تلقائيًا لأنّ حالة العرض الأولية للمصدر هي
hidden . |
google_biometrics_search_terms |
يمكنك استخدام هذه القيمة لتحديد قائمة بعبارات البحث لمصدر البصمة المميّزة
الذي تملكه حزمة com.android.settings . |
google_biometrics_initial_display_state |
يمكنك تراكب هذه القيمة لعرض إدخال واجهة مستخدم لمصدر البيانات الحيوية المملوك
لحزمة com.android.settings عندما لا يقدّم المصدر أي بيانات ديناميكية. القيمة التلقائية هي
hidden . |
google_security_updates_intent |
يمكنك إضافة هذه القيمة لتغيير النية المطلوبة لفتح النشاط
الذي يسمح للمستخدم بالاطّلاع على تحديثات الأمان وتثبيتها. يجب أن يكون
إجراء القصد هذا مرتبطًا بنشاط تم تصديره. تكون القيمة التلقائية
android.settings.SYSTEM_UPDATE_SETTINGS . |
لا يمكن تداخل أي سلاسل أخرى في حزمة com.google.android.safetycenter.resources
.
بالنسبة إلى أجهزة AOSP، يمكن تراكب جميع الموارد في حزمة com.android.safetycenter.resources
بدون أي قيود على المحتوى.
بالنسبة إلى أجهزة GMS التي لم يتم ضبطها لتلقّي تحديثات Mainline، أنشئ حزمة
com.google.android.safetycenter.resources
تستبدل أو تتراكب مع
com.android.safetycenter.resources
لتحديد جميع السلاسل المتوقّعة من اختبارات
GTS.
هذه السلاسل هي:
google_app_security_sources_title
google_app_security_sources_summary
google_play_protect_title
google_play_protect_title_for_work
google_play_protect_summary
google_play_protect_search_terms
google_lock_screen_sources_title
google_lock_screen_sources_summary
google_lock_screen_title
google_lock_screen_summary
google_lock_screen_search_terms
google_biometrics_title
google_biometrics_summary
google_biometrics_search_terms
google_biometrics_initial_display_state
google_accounts_sources_title
google_accounts_sources_summary
google_security_checkup_title
google_security_checkup_title_for_work
google_security_checkup_summary
google_security_checkup_search_terms
google_device_finder_sources_title
google_device_finder_sources_summary
google_find_my_device_title
google_find_my_device_summary
google_find_my_device_search_terms
google_updates_title
google_updates_summary
google_security_updates_title
google_security_updates_summary
google_security_updates_search_terms
google_security_updates_intent
google_play_system_update_title
google_play_system_update_summary
google_play_system_update_search_terms
google_privacy_sources_title
google_privacy_sources_summary
google_permission_usage_title
google_permission_usage_summary
google_permission_usage_search_terms
google_permission_manager_title
google_permission_manager_summary
google_permission_manager_search_terms
google_privacy_controls_title
google_privacy_controls_summary
google_privacy_controls_search_terms
google_advanced_title
google_advanced_security_title
google_advanced_security_summary
google_advanced_security_search_terms
google_advanced_privacy_title
google_advanced_privacy_summary
google_advanced_privacy_search_terms
متطلبات التخصيص
متطلبات تنسيق الملفات
يجب أن يكون ملف الإعدادات ملف XML وأن يتّبع التنسيق الموضّح في مقالة
تعديل ملف الإعدادات. يجب أن يكون الملف في المجلد
raw
. ويجب أن تستوفي الشروط الثابتة الموضّحة في مقالتَي تخصيص ملفّات Safety Center
المصدر وتخصيص ملفّات Safety Center
المجموعات. إذا لم يكن
ملف الضبط منسقًا بشكل جيد بما يتوافق مع المتطلبات أعلاه، يتم إيقاف
الميزة بالكامل. يتم أيضًا تحليل هذا الملف من خلال اختبارات CTS وGTS
التي يمكنها تقديم سياق إضافي في حال عدم صحة تنسيق الملف (بالإضافة إلى
سجلات الجهاز في
logcat).
أجهزة خدمات Google
على أجهزة GMS، يتم فرض بعض القيود على هذا الملف. تتيح اختبارات GTS إجراء ذلك.
أجهزة AOSP
على أجهزة AOSP، يجب أن يكون ملف الإعدادات منسقًا بشكل جيد وأن يجتاز اختبارات موافقة المطوّرين (CTS) لمركز Safety Center. تتحقّق الاختبارات من أنّ الملف منسَّق بشكل صحيح. ويجب أن تجتاز أجهزة GMS أيضًا هذه الاختبارات.