פרטי ספק וזיקות מידע

החל ב 10 אנדרואיד, נתוני אנשי קשר-הקשורות זיקה, המנוהל על ידי ספק מגעים רכיב (מקור נתונים לראות אפליקציית אנשי הקשר השמורים במכשיר), מתבצעת באופן שונה מאשר אנדרואיד 9 ולהפחית.

לפני אנדרואיד 10, אפליקציות השתמשו בספק אנשי הקשר כדי לגשת לנתונים ולהעביר אותם בין מכשיר לבין שירותים מקוונים. Android 10 כולל שינויים בנוגע לנגישות הנתונים בכדי להבטיח פרטיות משתמש מוגברת בכל מכשירי Android 10 המשתמשים בספק אנשי הקשר. ראשית, מסד הנתונים הבסיסי אינו מכיל נתוני זיקה ליצירת קשר. לכן אפליקציות לא יכולות לכתוב או לקרוא ממנו. השינויים כוללים את הדברים הבאים:

  • ספק אנשי הקשר אינו רושם נתונים הקשורים לאנשי קשר הקשורים לזיקה, כגון מספר הפעמים שפנו למשתמש, הפעם האחרונה שבה יצר קשר, האפליקציה שבה נעשה שימוש, האדם שאליו יצרת קשר או כל מידע היסטורי קשור.
  • MultiAutoCompleteTextView בכיתה ב API השלמה אוטומטית ספק הקשר אינה מיין תוצאות השאילתה על ידי מרשם אינטראקציה.
  • מסגרת אנדרואיד אינה מספקת דירוג אנשי קשר מרומז. (עם זאת, נשלט משתמש, קשרים מפורשים בדירוג (כגון אנשי קשר בכוכבית) שרידים).

כדי ליישם שינויים אלה, בצע אחת מהפעולות הבאות:

  • השתמש בספק אנשי הקשר העדכני ביותר.
  • עדכן את הגרסה שלך (אם אתה משתמש בגרסה מסולסלת).

בנוסף, לעדכן כול אפליקציות המסתמכות על תכונות ספק מגעים עוד בשימוש . גרסות ה- API נועדו להיות מעקפים לפונקציות שהוצאו משימוש אסור.

עבור Android 9 ואילך, נתוני אינטראקציה של אנשי קשר מספק הקשר לא הוסרו. במקום זאת, נתוני אינטראקציה של מגעים מתנקים מעת לעת (בערך פעם ביום) כדי לדמות את המקבילה ב- Android 10. ספק אנשי הקשר שומר מידע זה, אך באופן זמני בלבד.

שינויים ב- API

לשינויים אלה יש השפעה רבה על ממשקי ה- API. לדוגמה, דירוג ההשלמה האוטומטית לא יפקוד גם כן. ההשפעות האפשריות על התנהגות ה- API כוללות את הדברים הבאים:

  • ספק המגעים לא לאחסן העדפות המשתמש עבור, או אינטראקציות עם, איש קשר ContactsContract.Contacts עמודות הטבלה.
  • ה- API להשלמה אוטומטית לא ימיין את התוצאות לפי מונה האינטראקציות.
  • TIMES_CONTACTED / TIMES_USED ו LAST_TIME_CONTACTED / LAST_TIME_USED עמודות לא יעודכן.
    • ברור אלו (או כדי null או סט ל 0, תלוי העמודות הפגועות) על שדרוג אנדרואיד 10.
    • הדירוג בממשקי ה- API של השאילתה האוטומטית מחזיר תוצאות ממוינות לפי סדר אלפביתי, לעולם לא לפי מידע זיקה.
    • שיחות API עבור מגעים תכופים (למשל, באמצעות מחרוזת מסנן CONTENT_FREQUENT_URI ) לא מחזיר תוצאות.

באופן כללי, אם אחד מרכיבי ה- API של ספק אנשי הקשר שהוצא משימוש משתמשים במונים, מונים אלה (כאשר משתמשים בהם ב- Android 10) מכילים 0, ומחזירים 0 כאשר הם מתבקשים. התעלמות מבקשות עדכון מממשקי API מושפעים. לדוגמה, ContactsContract.DataUsageFeedback בכיתה בוטלה, כך שיחות עדכון ומחיקים לשיעור הזה הם התעלמו.

שדות שמשפיעים על ממשקי API

שדות אלה השתנו ב- Android 10:

השדות המושפעים ב- Android 10 עשויים להיות קיימים בממשקי API שונים, כפי שמצוין בטבלה שלהלן. שדות API שהוצאו משימוש מחזירים התנהגויות כפי שמופיעות. מכיוון שניתן להשתמש באחד השדות האלה שהוצאו משימוש במספר ממשקי ה- 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
מסנני API (נקראים גם השלמה אוטומטית)

CONTENT_FILTER_URI
ENTERPRISE_CONTENT_FILTER_URI

התוצאות לא ממוינות לפי זיקה. אלה מסודרים על ידי עטורי כוכבים שם.

חלופות

אין חלופות לשדות ה- API שהוצאו משימוש. דרכים לעקיפת הבעיה שנועדו לעקוף מגבלות אלה, בין אם הן בממשקי API חדשים או בשדות חדשים, אינן מותרות.

יישום

אינך צריך לעשות דבר כדי ליישם את השינויים הללו. הם חלק מהיוזמה להגברת פרטיות המשתמשים בפלטפורמת מערכת ההפעלה אנדרואיד. עם זאת, אם האפליקציות שלך מסתמכות על תכונות שהוצאו משימוש, ייתכן שתרצה לעדכן את האפליקציות שלך כדי לפצות על כל שינוי. בנוסף, אם אתה משתמש בגרסה מסולקת של ספק אנשי הקשר, עליך לעדכן את ספק אנשי הקשר שלך.

אין התאמה אישית

אין להתאים אישית או לעקוף את שינויי מידע הזיקה של אנשי הקשר. הם מובנים במסגרת, ושינוי כלשהו מוציא אותך מהתאימות. לעולם אל תשנה את הגדרות ברירת המחדל או ספק חלופות לדלת האחורית.