تفعيل "مركز الأمان" أو إيقافه
لتفعيل "مركز الأمان" أو إيقافه، استخدِم الحقل المنطقي
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
) لتفعيل "مركز
السلامة" أو إيقافه عن بُعد.
في نظام التشغيل Android 14 والإصدارات الأحدث، ليس عليك اتّخاذ أي إجراء إضافي لأنّ هذه العلامة هي true
تلقائيًا.
في نظام التشغيل Android 13، يتم إيقاف "مركز الأمان" تلقائيًا من جهة الخادم
وتفعيله من خلال القائمة المسموح بها باستخدام هذه العلامة. أرسِل بصمات إصبع
الجهاز وتواصَل مع مدير حسابك لدى فريق إدارة العملاء (TAM) لإضافتك إلى القائمة المسموح بها. يُرجى العِلم أنّه يجب إضافة الإصدار M-2022-11
من الإصدار الرئيسي أو إصدار أحدث إلى القائمة المسموح بها.
لأغراض التطوير والاختبار على الجهاز، يمكن تفعيل العلامة أو إيقافها محليًا
(إلى أن تتم إعادة التشغيل) باستخدام الأمر adb
. على سبيل المثال، لتفعيل هذه العلامة:
adb root
adb shell device_config set_sync_disabled_for_tests until_reboot
adb shell device_config put privacy safety_center_is_enabled true
وللتأكد مما إذا كان "مركز الأمان" مفعّلاً:
adb root
adb shell cmd safety_center enabled
وستعرض النتائج ما إذا كان قد تم تفعيل "مركز الأمان" بشكل صحيح على الجهاز.
تعديل ملف الضبط
استخدِم ملف الإعدادات safety_center_config.xml
لتعديل محتوى
شاشة "مركز السلامة". يمكنك تراكب هذا الملف بافتراض أنّك استوفيت
متطلبات التخصيص.
تركيب ملف الإعداد
لوضع تراكب على ملف safety_center_config.xml
، اطّلِع على مقالة تغيير قيمة موارد
التطبيق أثناء التشغيل
للحصول على معلومات عن تعديل تراكبات موارد وقت التشغيل (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
. ليست هناك تهيئة تراكب
للاستهداف. يمكن استخدام جميع الموارد كعناصر أساسية بدون أي قيود على المحتوى.
بالنسبة إلى أجهزة "خدمات Google للأجهزة الجوّالة" التي تم ضبطها لتلقّي تحديثات Mainline، يمكنك استهداف
الحزمة com.google.android.safetycenter.resources
. استهدف الإعدادات
SafetyCenterConfig
. تتطلب هذه الإعدادات أن تكون حزمة التراكب متضمّنة في
القسم product
أو system
أو vendor
. على المصنّعين الأصليين للأجهزة في "خدمات Google للأجهزة الجوّالة" نسخ
ملف
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. وعلى المصنّعين الأصليين للأجهزة في "خدمات Google للأجهزة الجوّالة" (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
(يمكنه أيضًا التفاعل مع الملفات الشخصية المُدارة والملف الشخصي الخاص في الإصدار 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
- إذا لم يتم حلّ الإجراء المطلوب لـ
packageName
المحدَّد (إن وُجد)، سيتصرف إدخال واجهة المستخدم بالطريقة نفسها التي يعمل بها رمزinitialDisplayState="disabled"
- مطلوب لمصادر الأمان الثابتة ومصادر أمان
dynamic
التي تتضمّنinitialDisplayState="enabled"
- لا يُسمَح باستخدامه لمصادر الأمان المعنيّة بالمشاكل فقط
maxSeverityLevel
- أقصى مستوى خطورة يمكن أن يوفره مصدر "مركز الأمان" هذا
- يتم تمثيل عدد صحيح كسلسلة، مثلاً
300
. - اختياري لمصادر الأمان الديناميكية والمخصصة لمشكلات فقط (الإعداد التلقائي ليس حدًا أقصى)
- محظور لمصادر السلامة الثابتة
loggingAllowed
- ما إذا كان بإمكان "مركز السلامة" تسجيل التفاعلات أو البيانات المرتبطة بهذا المصدر
- يتم تمثيل قيمة منطقية كسلسلة، مثلاً
false
. - اختياري لمصادر الأمان الديناميكية والمخصصة لمعالجة المشاكل فقط (القيمة التلقائية هي
true
) - محتوى يُحظر استخدامه في مصادر الأمان الثابتة
refreshOnPageOpenAllowed
- ما إذا كان يجب إرسال إشارة إلى مصدر السلامة لإعادة تحميل بياناته عند فتح شاشة "مركز السلامة"
- قيمة منطقية تم تمثيلها كسلسلة، على سبيل المثال،
true
- اختياري لمصادر الأمان الديناميكية ومصادر المشاكل فقط (الإعداد التلقائي هو
false
) - محتوى يُحظر استخدامه لمصادر الأمان الثابتة
notificationsAllowed
(بدءًا من الإصدار 14 من نظام Android)- ما إذا كان يمكن لمصدر الأمان تقديم إشعار اختياريًا عند الإبلاغ عن مشكلة
- قيمة منطقية تم تمثيلها كسلسلة، على سبيل المثال،
true
- اختياري لمصادر الأمان الديناميكية ومصادر المشاكل فقط (الإعداد التلقائي هو
false
) - محظور لمصادر السلامة الثابتة
deduplicationGroup
(بدءًا من الإصدار 14 من نظام Android)- معرّف فريد محتمل يمكن استخدامه لإزالة تكرار المشاكل التي تأتي من مصادر مختلفة. يمكن للمصادر داخل مجموعة إزالة التكرار نفسها إرسال مشكلات بمعرف إزالة تكرار اختياري. جدير بالذكر أنّ المشاكل التي تتضمن معرّف إزالة التكرار نفسه لن تظهر سوى مرة واحدة في واجهة المستخدم، حتى إذا كانت هناك مصادر متعددة تُرسلها.
- نوع السلسلة
- اختياري لمصادر الأمان الديناميكية والمخصصة لمعالجة المشاكل فقط (الإعداد التلقائي هو عدم إزالة التكرار)
- محتوى يُحظر استخدامه في مصادر الأمان الثابتة
packageCertificateHashes
(بدءًا من Android 14)- قائمة مفصولة بفواصل لتجزئات الشهادات الخاصة بالملف الشخصي
packageName
المحدَّد في حال ضبط هذا الخيار، سيتم التحقّق من الشهادات باستخدامpackageCertificateHashes
المحدّد لpackageName
المحدّد عند التفاعل مع مصدر السلامة لأغراض تتعلّق بالأمان. - نوع السلسلة
- اختياري لمصادر السلامة الديناميكية والمتعلقة بالمشاكل فقط (الإعداد التلقائي هو عدم التحقّق من الشهادات)
- محتوى يُحظر استخدامه لمصادر الأمان الثابتة
- قائمة مفصولة بفواصل لتجزئات الشهادات الخاصة بالملف الشخصي
titleForPrivateProfile
(بدءًا من الإصدار 15 من نظام Android)- العنوان التلقائي لإدخال واجهة المستخدم للملف الشخصي الخاص الذي يتم استخدامه عندما لا يوفر المصدر البيانات ديناميكيًا
- رقم تعريف المورد الذي تم تمثيله كاسم مورد مؤهَّل بالكامل، على سبيل المثال،
@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>
في هذا المثال، يمكن للمصدر إرسال بطاقات تحذير خضراء فقط وتقديم حالة غير محدّدة. للتمكّن من تقديم بيانات أخرى، يجب أن يكون المصدر ضمن مجموعة ذات حالة.
تخصيص سلاسل الحقول والحقول التي تظهر على سطح الخريطة
بالنسبة إلى أجهزة "خدمات Google للأجهزة الجوّالة" التي لم يتم ضبطها لتلقّي تحديثات 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
. يجب أن يستوفي المتطلبات الثابتة الموضّحة في تخصيص مصادر مركز الأمان
وتخصيص مجموعات مصادر "مركز الأمان". إذا لم يكن
ملف الضبط منسقًا بشكل جيد بما يتوافق مع المتطلبات أعلاه، يتم إيقاف
الميزة بالكامل. يتم أيضًا تحليل هذا الملف من خلال اختبارات CTS وGTS
التي يمكنها تقديم سياق إضافي في حال عدم صحة تنسيق الملف (بالإضافة إلى
سجلات الجهاز في
logcat).
أجهزة خدمات Google
على أجهزة GMS، يتم فرض بعض القيود على هذا الملف. ويمكنك إجراء ذلك من خلال اختبارات GTS.
أجهزة AOSP
على أجهزة AOSP، يجب أن يكون ملف الإعداد مكتوبًا بشكل صحيح وأن يجتاز اختبارات CTS لمركز الأمان. تتحقّق الاختبارات من تنسيق الملف بشكل صحيح. يجب أن تجتاز أجهزة GMS أيضًا هذه الاختبارات.