مزود جهات الاتصال والمعلومات ذات الصلة

ابتداء من الروبوت 10، البيانات ذات الصلة الاتصالات تقارب، التي تديرها اتصالات مزود العنصر (مصدر بيانات ينظر في التطبيق جهات الاتصال الجهاز)، يتم الوصول بشكل مختلف مما كانت عليه في الروبوت 9 وخفض.

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

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

لتنفيذ هذه التغييرات ، قم بأحد الإجراءات التالية:

  • استخدم أحدث موفر جهات الاتصال.
  • قم بتحديث إصدارك (إذا كنت تستخدم إصدارًا متشعبًا).

وبالإضافة إلى ذلك، تحديث أي التطبيقات التي تعتمد على ميزات اتصالات مزود إهمال . لا يسمح إصدارات API مصممة لتكون الحلول إلى وظائف إهمال.

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

تغييرات API

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

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

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

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

لقد تغيرت هذه المجالات في Android 10:

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

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

update
delete

لايوجد عملية.
ContactsContract.Contacts Strequent (تألق + متكررة)
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

النتائج غير مرتبة حسب التقارب. يتم فرز هذه من بطولته الاسم.

البدائل

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

تطبيق

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

لا تخصيص

لا تخصص أو تتغلب على تغييرات معلومات تقارب جهات الاتصال. لقد تم تضمينها في إطار العمل ، وإجراء أي تغييرات يأخذك بعيدًا عن الامتثال. لا تقم أبدًا بتغيير الإعدادات الافتراضية أو توفير بدائل مستتر.