معلومات مقدِّم خدمة جهات الاتصال وشرائح الجمهور ذات الاهتمامات المشتركة

بدءًا من نظام Android 10، يتم الوصول إلى البيانات ذات الصلة بجهات الاتصال والتي يديرها مكوّن مقدِّم جهات الاتصال (مصدر البيانات الظاهر في تطبيق جهات الاتصال على الجهاز) بشكل مختلف عن Android 9 والإصدارات الأقدم.

قبل الإصدار Android 10، كانت التطبيقات تستخدم "مقدِّم جهات الاتصال" للوصول إلى البيانات ونقلها بين الجهاز والخدمات على الإنترنت. يتضمّن نظام التشغيل Android 10 تغييرات بشأن إمكانية الوصول إلى البيانات لضمان تعزيز خصوصية المستخدمين في جميع أجهزة Android 10 التي تستخدم مقدّم جهات الاتصال. على سبيل المثال، لا تحتوي قاعدة البيانات الأساسية على بيانات تفضيلات جهات الاتصال. وبالتالي، لا يمكن للتطبيقات الكتابة فيه أو القراءة منه. وتشمل التغييرات ما يلي:

  • لا يسجّل "مقدِّم جهات الاتصال" البيانات ذات الصلة بجهات الاتصال، مثل عدد المرات التي تم فيها التواصل مع المستخدم، أو آخر مرة تم فيها التواصل، أو التطبيق المستخدَم، أو الشخص الذي تم التواصل معه، أو أي بيانات سابقة ذات صلة.
  • لا ترتِّب الفئة MultiAutoCompleteTextView في واجهة برمجة التطبيقات "الإكمال التلقائي" لمقدّم خدمة "جهات الاتصال" نتائج طلبات البحث حسب عدّاد التفاعل.
  • لا يقدّم إطار عمل Android ترتيبًا ضمنيًا لجهات الاتصال. (ومع ذلك، سيظل ترتيب جهات الاتصال الواضح الذي يتحكم فيه المستخدم (مثل جهات الاتصال المميّزة بعلامة نجمية ) كما هو).

لتنفيذ هذه التغييرات، نفِّذ أحد الإجراءات التالية:

  • استخدِم أحدث إصدار من "مقدّم جهات الاتصال".
  • حدِّث الإصدار (إذا كنت تستخدم إصدارًا مقسمًا إلى أجزاء).

بالإضافة إلى ذلك، عليك تحديث أي تطبيقات تعتمد على ميزات "موفِّر جهات الاتصال" المتوقّفة نهائيًا. لا يُسمح باستخدامإصدارات واجهة برمجة التطبيقات المصمّمة كحلول بديلة للوظائف التي تم إيقافها نهائيًا.

بالنسبة إلى الإصدار 9 من Android والإصدارات الأقدم، لم تتم إزالة بيانات التفاعل مع جهات الاتصال من مقدّم جهات الاتصال. بدلاً من ذلك، يتم محو بيانات التفاعل مع جهات الاتصال بشكل دوري (مرة واحدة في اليوم تقريبًا) لمحاكاة الإجراء نفسه في Android 10. يخزِّن مقدّم جهات الاتصال هذه المعلومات، ولكن بشكل مؤقت فقط.

التغييرات في واجهة برمجة التطبيقات

من المتوقّع أن يكون لهذه التغييرات تأثير كبير في واجهات برمجة التطبيقات. على سبيل المثال، لن يحقّق ترتيب الإكمال التلقائي للطلبات أداءً جيدًا. تشمل الآثار المحتملة على سلوك واجهة برمجة التطبيقات ما يلي:

  • لن يخزِّن مقدّم جهات الاتصال الإعدادات المفضّلة للمستخدم أو تفاعلاته مع جهة الاتصال في أعمدة جدول ContactsContract.Contacts.
  • لن ترتِّب واجهة برمجة التطبيقات الخاصة بميزة "الإكمال التلقائي" النتائج حسب مقياس التفاعل.
  • لن يتم تعديل عمودَي TIMES_CONTACTED / TIMES_USED و LAST_TIME_CONTACTED / LAST_TIME_USED.
    • يتم محو هذه القيم (إما إلى null أو ضبطها على 0، حسب الأعمدة المتأثرة) عند الترقية إلى Android 10.
    • يؤدي الترتيب في واجهات برمجة التطبيقات لطلب البحث التلقائي إلى عرض نتائج مرتبة أبجديًا، وليس حسب معلومات التقارب.
    • لا تؤدي طلبات البيانات من واجهة برمجة التطبيقات لجهات الاتصال المتكررة (على سبيل المثال، باستخدام سلسلة الفلتر CONTENT_FREQUENT_URI) إلى عرض أي نتائج.

بشكل عام، إذا كان أيّ من عناصر واجهة برمجة تطبيقات موفِّر جهات الاتصال المتوقّفة نهائيًا يستخدم عدادات، تحتوي هذه العدادات (عند استخدامها في Android 10) على القيمة 0، وتُعرِض القيمة 0 عند الاستعلام عنها. يتم تجاهل طلبات التعديل الواردة من واجهات برمجة التطبيقات المتأثرة. على سبيل المثال، تم إيقاف فئة ContactsContract.DataUsageFeedback نهائيًا، لذا يتم تجاهل طلبات التعديل والحذف التي تستهدف هذه الفئة.

الحقول التي تؤثّر في واجهات برمجة التطبيقات

تم تغيير هذه الحقول في Android 10:

قد تكون الحقول المتأثرة في Android 10 متوفّرة في واجهات برمجة تطبيقات مختلفة، كما هو موضّح في الجدول أدناه. تعرض حقول واجهة برمجة التطبيقات المتوقّفة السلوكيات كما هو موضّح. يُرجى التحقّق من حالات الاستخدام لأنّ أحد هذه الحقول المتوقّفة نهائيًا قد يتم استخدامه في العديد من واجهات برمجة التطبيقات.

الفئة حقول واجهة برمجة التطبيقات 10 إرجاع المشتريات
ContactsContract.Contacts
ContactsContract.RawContacts
ContactsContract.Data
ContactsContract.Entity
ContactOptionsColumns
TIMES_CONTACTED
LAST_TIME_CONTACTED
تحتوي هذه الأعمدة دائمًا على القيمة 0، بغض النظر عن كيفية استخدامها. ويتم تجاهل محاولات تعديلها.
Contacts markAsContacted() لا توجد عملية.
ContactsContract.DataUsageFeedback

update
delete

لا توجد عملية.
ContactsContract.Contacts تطبيقات مُستخدَمة بشكل متكرّر (مميّزة بنجمة + مُستخدَمة بشكل متكرّر)
CONTENT_STREQUENT_FILTER_URI
CONTENT_STREQUENT_URI
CONTENT_FREQUENT_URI
تعرِض هذه السمة جهات الاتصال المميّزة بنجمة فقط. لم يتم عرض أي جهات اتصال متكرّرة.
ContactsContract.CommonDataKinds.Email
ContactsContract.CommonDataKinds.Phone
ContactsContract.CommonDataKinds.Callable
واجهات برمجة تطبيقات الفلاتر (المعروفة أيضًا باسم "الإكمال التلقائي")

CONTENT_FILTER_URI
ENTERPRISE_CONTENT_FILTER_URI

لم يتم ترتيب النتائج حسب الجمهور ذي الاهتمامات المشتركة. ويتم ترتيبها حسب المحتوى المميّز بنجمة والاسم.

الحلول البديلة

ما مِن بدائل لحقول واجهة برمجة التطبيقات التي تم إيقافها نهائيًا. لا يُسمح بالحلول البديلة المصمّمة للتحايل على هذه القيود، سواء كانت في شكل واجهات برمجة تطبيقات جديدة أو حقول جديدة.

التنفيذ

ليس عليك اتّخاذ أي إجراء لتنفيذ هذه التغييرات. وهي جزء من المبادرة التي تهدف إلى تعزيز خصوصية المستخدم على نظام التشغيل Android. ومع ذلك، إذا كانت تطبيقاتك تعتمد على ميزات تم إيقافها، قد تحتاج إلى تحديث تطبيقاتك لتعويض أي تغييرات. بالإضافة إلى ذلك، إذا كنت تستخدم إصدارًا متشعبًا من "مقدِّم جهات الاتصال"، يجب عليك تحديث "جهات الاتصال".

ما مِن تخصيص

لا تُعدِّل معلومات التشابه بين جهات الاتصال أو تحاول التحايل عليها. وهي مضمّنة في إطار العمل، وإجراء أي تغييرات يؤدي إلى عدم التزامك بالسياسة. عدم تغيير الإعدادات التلقائية أو تقديم بدائل من الباب الخلفي