ContactKeyClient


interface ContactKeyClient : HasApiKey


לקוח ל-Contact Key API.

סיכום

פונקציות ציבוריות

Flow<List<E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAccountContactKeysFlow(accountIds: List<String>)

מחזירה זרם של עדכונים של מפתחות אנשי קשר בחשבון.

Task<E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllE2eeContactKeys(lookupKey: String)

אחזור של כל הרשומות של מפתחות אנשי הקשר להצפנה מקצה לקצה ששייכות לאפליקציות שגלויות למתקשר.

Task<E2eeSelfKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllE2eeSelfKeys()

הפונקציה מחזירה את כל הרשומות של מפתחות עצמיים להצפנה מקצה לקצה ששייכות לאפליקציות שגלויות למתקשר.

Task<ImmutableList<E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllOwnerE2eeAccountContactKeys()

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

Task<E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllOwnerE2eeContactKeys()

אחזור של כל מפתחות אנשי הקשר להצפנה מקצה לקצה ששייכים לאפליקציה שמתקשרת, בכל אנשי הקשר.

Task<ImmutableList<E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeAccountKeysForAccount(accountId: String)

מאחזר את כל רשומות מפתחות אנשי הקשר של ההצפנה מקצה לקצה ששייכות לאפליקציה של המתקשר ולחשבון של המתקשר, בכל אנשי הקשר.

Task<E2eeContactKeyParcelable?>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeContactKey(lookupKey: String, deviceId: String, accountId: String)

מאחזר רשומה של מפתח איש קשר להצפנה מקצה לקצה בהינתן lookupKey, ‏ deviceId, ‏ accountId ושם החבילה של המתקשר שנקבע על סמך נתונים קיימים.

Task<E2eeSelfKeyParcelable?>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeSelfKey(deviceId: String, accountId: String)

מחזירה רשומה של מפתח עצמי להצפנה מקצה לקצה בהינתן deviceId, ‏ accountId ושם החבילה המשוער של המתקשר.

Task<Int>

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

Task<PendingIntent>
getOnboardingIntent(
    nextActivity: OnboardingNextActivity,
    lookupKey: String?,
    packageName: String?
)

מחזירה כוונה להצגת פעילות ההצטרפות, ומסמנת שההצטרפות הוצגה במכשיר הזה.

Task<E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getOwnerE2eeContactKeys(lookupKey: String)

אחזור כל הרשומות של מפתחות אנשי הקשר להצפנה מקצה לקצה עבור lookupKey נתון ששייך לאפליקציה של המתקשר.

Task<E2eeSelfKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getOwnerE2eeSelfKeys()

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

Task<PendingIntent>
getScanQrCodeIntent(lookupKey: String, skipOnboarding: Boolean)

מחזירה כוונה לפעילות 'סריקת קוד QR'.

Task<PendingIntent>
getScanQrCodeIntentForAccount(packageName: String, accountId: String)

מחזירה כוונה לפעילות 'סריקת קוד QR' עבור חשבון ספציפי.

Task<PendingIntent>
getShowQrCodeIntent(packageName: String?, skipOnboarding: Boolean)

מחזירה כוונה לפעילות 'הצגת קוד QR'.

Task<Boolean>

מחזירה Task שמושלם בהצלחה, בין אם ה-API זמין ובין אם לא.

Task<Void>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
registerAccountContactKeysListener(
    accountIds: List<String>,
    listener: OnAccountContactKeysUpdatedListener
)

רושם מאזין לעדכונים של מפתחות אנשי קשר בחשבון.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeAccountContactKey(deviceId: String, accountId: String)

מסירה רשומה של מפתח איש קשר בחשבון עם הצפנה מקצה לקצה ששייכת לאפליקציית המתקשר.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String
)

מסירה רשומה של מפתח ליצירת קשר עם הצפנה מקצה לקצה ששייכת לאפליקציה של המתקשר.

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeSelfKey(deviceId: String, accountId: String)

מסיר רשומה של מפתח עצמי להצפנה מקצה לקצה, בהינתן deviceId ושם החבילה המשוער של המתקשר.

Task<Boolean>

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

Task<Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateAllE2eeAccountKeys(accountKeyInfos: List<E2eeAccountKeyInfo>)

הוספה של קבוצת מפתחות של אנשי קשר בחשבון.

Task<Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateOrInsertE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
)

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

Task<Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateOrInsertE2eeContactKey(
    lookupKeys: List<String>,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
)

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

Task<Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
updateOrInsertE2eeSelfKey(
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
)

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

פונקציות ציבוריות

getAccountContactKeysFlow

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAccountContactKeysFlow(accountIds: List<String>): Flow<List<E2eeAccountContactKeyParcelable>>

מחזירה זרם של עדכונים של מפתחות אנשי קשר בחשבון.

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

פרמטרים
accountIds: List<String>

רשימת מספרי החשבונות שרוצים לקבל עדכונים לגביהם.

החזרות
Flow<List<E2eeAccountContactKeyParcelable>>

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

הקפצת הודעות שגיאה (throw)
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

אם העיבוד של אירועי הקריאה החוזרת איטי מדי.

getAllE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllE2eeContactKeys(lookupKey: String): Task<E2eeContactKeyListParcelable>

אחזור של כל הרשומות של מפתחות אנשי הקשר להצפנה מקצה לקצה ששייכות לאפליקציות שגלויות למתקשר. הנתונים של deviceId, timeUpdated ו-keyValue יוסרו מהמפתחות.

פרמטרים
lookupKey: String

הערך שמפנה לאיש הקשר

החזרות
Task<E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable שמכיל רשימה של פרטי מפתח איש הקשר להצפנה מקצה לקצה, או רשימה ריקה אם לא נמצאו מפתחות.

getAllE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllE2eeSelfKeys(): Task<E2eeSelfKeyListParcelable>

הפונקציה מחזירה את כל הרשומות של מפתחות עצמיים להצפנה מקצה לקצה ששייכות לאפליקציות שגלויות למתקשר. הנתונים של deviceId, timeUpdated ו-keyValue יוסרו מהמפתחות.

החזרות
Task<E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable שמכיל רשימה של פרטי המפתח העצמי להצפנה מקצה לקצה, או רשימה ריקה אם לא נמצאו מפתחות עצמיים.

getAllOwnerE2eeAccountContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllOwnerE2eeAccountContactKeys(): Task<ImmutableList<E2eeAccountContactKeyParcelable>>

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

החזרות
Task<ImmutableList<E2eeAccountContactKeyParcelable>>

רשימה של אובייקטים מסוג E2eeAccountContactKeyParcelable שמכילים את פרטי מפתח ההצפנה מקצה לקצה של איש הקשר, או רשימה ריקה אם לא נמצאו מפתחות.

getAllOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getAllOwnerE2eeContactKeys(): Task<E2eeContactKeyListParcelable>

אחזור של כל מפתחות אנשי הקשר להצפנה מקצה לקצה ששייכים לאפליקציה שמתקשרת, בכל אנשי הקשר.

צריך להשתמש בשיטה הזו רק כדי לאחזר מפתחות שמשויך אליהם לפחות איש קשר אחד. אם אתם צריכים לאחזר מפתחות שלא משויכים לאנשי קשר, אתם יכולים להשתמש במקום זאת ב-getAllOwnerE2eeAccountContactKeys.

החזרות
Task<E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable שמכיל רשימה של פרטי מפתח איש הקשר להצפנה מקצה לקצה, או רשימה ריקה אם לא נמצאו מפתחות.

getE2eeAccountKeysForAccount

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getE2eeAccountKeysForAccount(accountId: String): Task<ImmutableList<E2eeAccountContactKeyParcelable>>

מאחזר את כל רשומות מפתחות אנשי הקשר של ההצפנה מקצה לקצה ששייכות לאפליקציה של המתקשר ולחשבון של המתקשר, בכל אנשי הקשר. כולל מפתחות שלא משויכים לאיש קשר.

החזרות
Task<ImmutableList<E2eeAccountContactKeyParcelable>>

רשימה של אובייקטים מסוג E2eeAccountContactKeyParcelable שמכילים את פרטי מפתח ההצפנה מקצה לקצה של איש הקשר, או רשימה ריקה אם לא נמצאו מפתחות.

getE2eeContactKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getE2eeContactKey(lookupKey: String, deviceId: String, accountId: String): Task<E2eeContactKeyParcelable?>

מאחזר רשומה של מפתח איש קשר להצפנה מקצה לקצה בהינתן lookupKey, ‏ deviceId, ‏ accountId ושם החבילה של המתקשר שנקבע על סמך נתונים קיימים.

פרמטרים
lookupKey: String

הערך שמפנה לאיש הקשר

deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

החזרות
Task<E2eeContactKeyParcelable?>

E2eeContactKeyParcelable שמכיל את פרטי המפתח של איש הקשר, או null אם לא נמצא מפתח של איש קשר.

getE2eeSelfKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getE2eeSelfKey(deviceId: String, accountId: String): Task<E2eeSelfKeyParcelable?>

מחזירה רשומה של מפתח עצמי להצפנה מקצה לקצה בהינתן deviceId, ‏ accountId ושם החבילה המשוער של המתקשר.

פרמטרים
deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

החזרות
Task<E2eeSelfKeyParcelable?>

E2eeSelfKeyParcelable שמכיל את פרטי המפתח העצמי של ההצפנה מקצה לקצה, או null אם לא נמצא מפתח עצמי.

getMaxKeySizeBytes

fun getMaxKeySizeBytes(): Task<Int>

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

getOnboardingIntent

fun getOnboardingIntent(
    nextActivity: OnboardingNextActivity,
    lookupKey: String?,
    packageName: String?
): Task<PendingIntent>

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

פרמטרים
nextActivity: OnboardingNextActivity

הפעילות הבאה שתוצג אחרי פעילות ההצטרפות. הערך חייב להיות show או scan.

lookupKey: String?

הערך שמפנה לאיש הקשר. חובה אם הערך של nextActivity הוא scan.

packageName: String?

שם החבילה שמשויכת לאפליקציה שנדרשים המפתחות שלה (אופציונלי).

getOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getOwnerE2eeContactKeys(lookupKey: String): Task<E2eeContactKeyListParcelable>

אחזור כל הרשומות של מפתחות אנשי הקשר להצפנה מקצה לקצה עבור lookupKey נתון ששייך לאפליקציה של המתקשר.

פרמטרים
lookupKey: String

הערך שמפנה לאיש הקשר

החזרות
Task<E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable שמכיל רשימה של פרטי מפתח איש הקשר להצפנה מקצה לקצה, או רשימה ריקה אם לא נמצאו מפתחות.

getOwnerE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun getOwnerE2eeSelfKeys(): Task<E2eeSelfKeyListParcelable>

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

החזרות
Task<E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable שמכיל את המידע על המפתח העצמי של ההצפנה מקצה לקצה, או רשימה ריקה אם לא נמצאו מפתחות עצמיים.

getScanQrCodeIntent

fun getScanQrCodeIntent(lookupKey: String, skipOnboarding: Boolean = false): Task<PendingIntent>

מחזירה כוונה לפעילות 'סריקת קוד QR'.

פרמטרים
lookupKey: String

הערך שמפנה לאיש הקשר

skipOnboarding: Boolean = false

כרגע לא בשימוש.

getScanQrCodeIntentForAccount

fun getScanQrCodeIntentForAccount(packageName: String, accountId: String): Task<PendingIntent>

מחזירה כוונה לפעילות 'סריקת קוד QR' עבור חשבון ספציפי.

פרמטרים
packageName: String

שם החבילה שמשויך לחשבון שהמשתמש רוצה לאמת

accountId: String

מזהה החשבון שמשויך לחשבון שהמשתמש רוצה לאמת

getShowQrCodeIntent

fun getShowQrCodeIntent(packageName: String?, skipOnboarding: Boolean = false): Task<PendingIntent>

מחזירה כוונה לפעילות 'הצגת קוד QR'.

פרמטרים
packageName: String?

שם החבילה שמשויך לאפליקציה שנדרשים המפתחות שלה (אופציונלי)

skipOnboarding: Boolean = false

כרגע לא בשימוש.

isEnabled

fun isEnabled(): Task<Boolean>

מחזירה Task שמושלם בהצלחה, בין אם ה-API זמין ובין אם לא.

אם ה-API זמין, המשימה שמוחזרת תהיה עם תוצאה true, אחרת false.

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

registerAccountContactKeysListener

@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun registerAccountContactKeysListener(
    accountIds: List<String>,
    listener: OnAccountContactKeysUpdatedListener
): Task<Void>

רושם מאזין לעדכונים של מפתחות אנשי קשר בחשבון.

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

פרמטרים
accountIds: List<String>

רשימת מספרי החשבונות שרוצים לרשום את מאזין האירועים עבורם.

listener: OnAccountContactKeysUpdatedListener

ה-listener להירשם.

removeE2eeAccountContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun removeE2eeAccountContactKey(deviceId: String, accountId: String): Task<Void>

הסרת רשומה של מפתח איש קשר בחשבון עם הצפנה מקצה לקצה ששייכת לאפליקציית המתקשר.

פרמטרים
deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

removeE2eeContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun removeE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String
): Task<Void>

מסירה רשומה של מפתח ליצירת קשר עם הצפנה מקצה לקצה ששייכת לאפליקציה של המתקשר.

פרמטרים
lookupKey: String

הערך שמפנה לאיש הקשר

deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

removeE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun removeE2eeSelfKey(deviceId: String, accountId: String): Task<Void>

מסיר רשומה של מפתח עצמי להצפנה מקצה לקצה, בהינתן deviceId ושם החבילה המשוער של המתקשר.

פרמטרים
deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

unregisterAccountContactKeysListener

@CanIgnoreReturnValue
fun unregisterAccountContactKeysListener(
    listener: OnAccountContactKeysUpdatedListener
): Task<Boolean>

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

פרמטרים
listener: OnAccountContactKeysUpdatedListener

ה-listener שרוצים לבטל את הרישום שלו.

updateAllE2eeAccountKeys

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
fun updateAllE2eeAccountKeys(accountKeyInfos: List<E2eeAccountKeyInfo>): Task<Void>

הוספה של קבוצת מפתחות של אנשי קשר בחשבון.

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

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

לכל מפתח, אם מסופק lookupKey אבל לא מסופקים הפרטים הבסיסיים של איש הקשר (displayName,‏ phoneNumber,‏ emailAddress), ה-API הזה ינסה גם לאחזר את השם, מספר הטלפון וכתובת האימייל של איש הקשר מניהול אנשי הקשר. כשמאחזרים את המפתח, אפליקציות לניהול אנשי קשר צריכות להשתמש במידע הזה כדי לוודא שהמפתח משמש רק לאיש הקשר שאליו הוא מיועד.

אפליקציית אימות המפתחות ל-Android מאחסנת את המידע הזה במכשיר וחושפת אותו רק למבצעי קריאות ל-API שמחזיקים בהרשאה READ_CONTACTS.

אם לא מספקים מפתח lookupKey למפתח, ה-API הזה ישמור מפתח שלא מקושר לאיש מאנשי הקשר.

פרמטרים
accountKeyInfos: List<E2eeAccountKeyInfo>

רשימת אובייקטים מסוג E2eeAccountKeyInfo שמכילים את פרטי מפתח איש הקשר להצפנה מקצה לקצה.

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
fun updateOrInsertE2eeContactKey(
    lookupKey: String,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
): Task<Void>

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

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

אפליקציית אימות המפתחות ל-Android מאחסנת את המידע הזה במכשיר וחושפת אותו רק למבצעי קריאות ל-API שמחזיקים בהרשאה READ_CONTACTS.

פרמטרים
lookupKey: String

ערך שמפנה לאיש הקשר

deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

keyValue: ByteArray

הבייטים הגולמיים של המפתח (הגודל המקסימלי הוא getMaxKeySizeBytes בייטים)

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
fun updateOrInsertE2eeContactKey(
    lookupKeys: List<String>,
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
): Task<Void>

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

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

אפליקציית אימות המפתחות ל-Android מאחסנת את המידע הזה במכשיר וחושפת אותו רק למבצעי קריאות ל-API שמחזיקים בהרשאה READ_CONTACTS.

אם רשימת מפתחות החיפוש ריקה, ה-API הזה ישמור מפתח שלא משויך לאיש איש קשר.

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

פרמטרים
lookupKeys: List<String>

רשימה של מפתחות חיפוש של CP2 שאולי ריקה, עם הפניה לאנשי קשר שהמפתח משויך אליהם

deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

keyValue: ByteArray

הבייטים הגולמיים של המפתח (הגודל המקסימלי הוא getMaxKeySizeBytes בייטים)

updateOrInsertE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun updateOrInsertE2eeSelfKey(
    deviceId: String,
    accountId: String,
    keyValue: ByteArray
): Task<Void>

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

פרמטרים
deviceId: String

מזהה שצוין באפליקציה למכשיר

accountId: String

מזהה שצוין באפליקציה לחשבון

keyValue: ByteArray

הבייטים הגולמיים של המפתח (הגודל המקסימלי הוא getMaxKeySizeBytes בייטים)