ContactKeyClient


public interface ContactKeyClient extends HasApiKey


عميل لواجهة برمجة التطبيقات Contact Key

ملخّص

الإجراءات العامة

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

تعرض هذه الطريقة تدفقًا لتعديلات مفاتيح جهات اتصال الحساب.

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

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

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

تعرض هذه الطريقة جميع إدخالات مفاتيح التشفير الذاتي التام بين الأطراف التي تخص التطبيقات المرئية للمتصل.

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

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

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

يستردّ هذا الإجراء جميع مفاتيح جهات الاتصال التي تخضع للتشفير التام بين الأطراف والتي تخص تطبيق المتصل، وذلك لجميع جهات الاتصال.

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

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

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

يستردّ هذا الإجراء إدخال مفتاح جهة اتصال مشفَّرًا بشكل تام بين الأطراف، وذلك بالنظر إلى lookupKey وdeviceId وaccountId واسم حزمة المتصل المستنتَج.

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

تعرض هذه الدالة إدخال مفتاح ذاتي للتشفير التام بين الأطراف، وذلك بالنظر إلى deviceId وaccountId واسم الحزمة المستنتَج للمتصل.

abstract @NonNull Task<@NonNull Integer>

تعرض هذه السمة الحد الأقصى المسموح به لحجم المفتاح بالبايت.

abstract @NonNull Task<@NonNull PendingIntent>
getOnboardingIntent(
    @NonNull OnboardingNextActivity nextActivity,
    String lookupKey,
    String packageName
)

تعرض هذه الدالة غرضًا لعرض نشاط الخطوات الإرشادية، وتحدّد أنّه تم عرض الخطوات الإرشادية على هذا الجهاز.

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

يستردّ هذا الإجراء جميع إدخالات مفاتيح جهات الاتصال التي تستخدم التشفير التام بين الأطراف والمخصّصة lookupKey معيّنًا وتخصّ تطبيق المتّصل.

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

تعرض هذه الطريقة جميع إدخالات مفتاح التشفير الذاتي التام بين الأطراف التي يملكها تطبيق المتصل.

abstract @NonNull Task<@NonNull PendingIntent>
getScanQrCodeIntent(@NonNull String lookupKey, boolean skipOnboarding)

تعرض هذه الطريقة غرضًا لنشاط "مسح رمز الاستجابة السريعة ضوئيًا".

abstract @NonNull Task<@NonNull PendingIntent>
getScanQrCodeIntentForAccount(
    @NonNull String packageName,
    @NonNull String accountId
)

تعرض هذه الدالة غرضًا من النشاط "مسح رمز الاستجابة السريعة ضوئيًا" لحساب معيّن.

abstract @NonNull Task<@NonNull PendingIntent>
getShowQrCodeIntent(String packageName, boolean skipOnboarding)

تعرض هذه الطريقة غرضًا لنشاط "عرض رمز الاستجابة السريعة".

abstract @NonNull Task<@NonNull Boolean>

تعرض هذه الطريقة مهمة تكتمل بنجاح سواء كانت واجهة برمجة التطبيقات متاحة أم لا.

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

تسجيل أداة معالجة لتلقّي إشعارات بشأن تعديلات مفاتيح جهات الاتصال في الحساب

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

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

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

يزيل هذا الإذن إدخال مفتاح جهة اتصال مشفَّرًا تمامًا بين الأطراف يخصّ تطبيق المتصل.

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

تزيل هذه الطريقة إدخال مفتاح ذاتي للتشفير التام بين الأطراف مع توفّر deviceId واسم الحزمة المستنتج للمتصل.

abstract @NonNull Task<@NonNull Boolean>

لإلغاء تسجيل متتبِّع لتلقّي إشعارات بشأن تعديلات مفاتيح جهات الاتصال في الحساب

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

تُدرِج هذه الطريقة مجموعة من مفاتيح جهات الاتصال الخاصة بالحساب.

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

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

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

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

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
updateOrInsertE2eeSelfKey(
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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

الإجراءات العامة

getAccountContactKeysFlow

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

تعرض هذه الطريقة تدفقًا لتعديلات مفاتيح جهات اتصال الحساب.

سيتم إصدار التدفق عند تعديل أي مفتاح لأي accountId تم توفيره أو إضافته أو إزالته. سيتم عرض قائمة بجميع المفاتيح الخاصة بمعرّفات الحسابات المقدَّمة، وليس فقط المفاتيح التي تم تعديلها.

المعلمات
@NonNull List<@NonNull String> accountIds

قائمة أرقام تعريف الحسابات التي سيتم تلقّي إشعارات بشأن التعديلات عليها

المرتجعات
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

تدفّق يعرض قوائم E2eeAccountContactKeyParcelable لمعرّفات الحسابات المقدَّمة كلّما تم تعديل أي مفتاح أو إضافته أو إزالته

عمليات الطرح
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

إذا تمت معالجة أحداث معاودة الاتصال ببطء شديد

getAllE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetAllE2eeContactKeys(@NonNull String lookupKey)

يستردّ هذا الإجراء جميع إدخالات مفاتيح جهات الاتصال التي تستخدم التشفير التام بين الأطراف والتي تخصّ التطبيقات المرئية للمتصل. سيتم إزالة بيانات deviceId وtimeUpdated وkeyValue من المفاتيح.

المعلمات
@NonNull String lookupKey

القيمة التي تشير إلى جهة الاتصال

المرتجعات
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable يحتوي على قائمة بمعلومات مفتاح جهة الاتصال المستخدَم في التشفير التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح.

getAllE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelablegetAllE2eeSelfKeys()

تعرض هذه الطريقة جميع إدخالات مفاتيح التشفير الذاتي التام بين الأطراف التي تخص التطبيقات المرئية للمتصل. سيتم إزالة بيانات deviceId وtimeUpdated وkeyValue من المفاتيح.

المرتجعات
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable يحتوي على قائمة بمعلومات مفتاح التشفير الذاتي التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح ذاتية.

getAllOwnerE2eeAccountContactKeys

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

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

المرتجعات
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

قائمة بعناصر E2eeAccountContactKeyParcelable تحتوي على معلومات مفتاح جهة الاتصال للتشفير التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح

getAllOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetAllOwnerE2eeContactKeys()

يستردّ هذا الإجراء جميع مفاتيح جهات الاتصال التي تخضع للتشفير التام بين الأطراف والتي تخص تطبيق المتصل، وذلك لجميع جهات الاتصال.

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

المرتجعات
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable يحتوي على قائمة بمعلومات مفتاح جهة الاتصال المستخدَم في التشفير التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح.

getE2eeAccountKeysForAccount

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

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

المرتجعات
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

قائمة بعناصر E2eeAccountContactKeyParcelable تحتوي على معلومات مفتاح جهة الاتصال للتشفير التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح

getE2eeContactKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<E2eeContactKeyParcelablegetE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

يستردّ هذا الإجراء إدخال مفتاح جهة اتصال مشفَّرًا بشكل تام بين الأطراف، وذلك بالنظر إلى lookupKey وdeviceId وaccountId واسم حزمة المتصل المستنتَج.

المعلمات
@NonNull String lookupKey

القيمة التي تشير إلى جهة الاتصال

@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

المرتجعات
@NonNull Task<E2eeContactKeyParcelable>

E2eeContactKeyParcelable يحتوي على معلومات مفتاح جهة الاتصال، أو قيمة فارغة في حال عدم العثور على مفتاح جهة اتصال.

getE2eeSelfKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<E2eeSelfKeyParcelablegetE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

تعرض هذه الدالة إدخال مفتاح ذاتي للتشفير التام بين الأطراف، وذلك بالنظر إلى deviceId وaccountId واسم الحزمة المستنتَج للمتصل.

المعلمات
@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

المرتجعات
@NonNull Task<E2eeSelfKeyParcelable>

E2eeSelfKeyParcelable يحتوي على معلومات المفتاح الذاتي للتشفير التام بين الأطراف، أو قيمة فارغة إذا لم يتم العثور على مفتاح ذاتي.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

تعرض هذه السمة الحد الأقصى المسموح به لحجم المفتاح بالبايت.

getOnboardingIntent

abstract @NonNull Task<@NonNull PendingIntentgetOnboardingIntent(
    @NonNull OnboardingNextActivity nextActivity,
    String lookupKey,
    String packageName
)

تعرض هذه الدالة غرضًا لعرض نشاط الخطوات الإرشادية، وتحدّد أنّه تم عرض الخطوات الإرشادية على هذا الجهاز. يتطلّب ذلك استخدام nextActivity، ويمكن أن تكون السلسلة show أو scan. إذا كانت القيمة scan، يجب إدخال lookupKey لجهة الاتصال التي تريد البحث عنها.

المعلمات
@NonNull OnboardingNextActivity nextActivity

النشاط التالي الذي سيتم عرضه بعد نشاط الخطوات الإرشادية يجب أن تكون القيمة show أو scan.

String lookupKey

القيمة التي تشير إلى جهة الاتصال مطلوبة إذا كانت قيمة nextActivity هي scan.

String packageName

اسم الحزمة المرتبط بالتطبيق المطلوب الحصول على مفاتيحه (اختياري)

getOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetOwnerE2eeContactKeys(@NonNull String lookupKey)

يستردّ هذا الإجراء جميع إدخالات مفاتيح جهات الاتصال التي تستخدم التشفير التام بين الأطراف والمخصّصة lookupKey معيّنًا وتخصّ تطبيق المتّصل.

المعلمات
@NonNull String lookupKey

القيمة التي تشير إلى جهة الاتصال

المرتجعات
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable يحتوي على قائمة بمعلومات مفتاح جهة الاتصال المستخدَم في التشفير التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح.

getOwnerE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelablegetOwnerE2eeSelfKeys()

تعرض هذه الطريقة جميع إدخالات مفتاح التشفير الذاتي التام بين الأطراف التي يملكها تطبيق المتصل.

المرتجعات
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable يحتوي على معلومات مفتاح التشفير الذاتي للتشفير التام بين الأطراف، أو قائمة فارغة في حال عدم العثور على أي مفاتيح ذاتية.

getScanQrCodeIntent

abstract @NonNull Task<@NonNull PendingIntentgetScanQrCodeIntent(@NonNull String lookupKey, boolean skipOnboarding)

تعرض هذه الطريقة غرضًا لنشاط "مسح رمز الاستجابة السريعة ضوئيًا".

المعلمات
@NonNull String lookupKey

القيمة التي تشير إلى جهة الاتصال

boolean skipOnboarding

هذا الحقل غير مستخدَم حاليًا.

getScanQrCodeIntentForAccount

abstract @NonNull Task<@NonNull PendingIntentgetScanQrCodeIntentForAccount(
    @NonNull String packageName,
    @NonNull String accountId
)

تعرض هذه الدالة غرضًا من النشاط "مسح رمز الاستجابة السريعة ضوئيًا" لحساب معيّن.

المعلمات
@NonNull String packageName

اسم الحزمة المرتبط بالحساب الذي يريد المستخدم إثبات ملكيته

@NonNull String accountId

معرّف الحساب المرتبط بالحساب الذي يريد المستخدم إثبات ملكيته

getShowQrCodeIntent

abstract @NonNull Task<@NonNull PendingIntentgetShowQrCodeIntent(String packageName, boolean skipOnboarding)

تعرض هذه الطريقة غرضًا لنشاط "عرض رمز الاستجابة السريعة".

المعلمات
String packageName

اسم الحزمة المرتبط بالتطبيق الذي تحتاج إلى مفاتيحه (اختياري)

boolean skipOnboarding

هذا الحقل غير مستخدَم حاليًا.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

تعرض هذه الطريقة مهمة تكتمل بنجاح سواء كانت واجهة برمجة التطبيقات متاحة أم لا.

إذا كانت واجهة برمجة التطبيقات متاحة، ستعرض المهمة التي تم إرجاعها نتيجة صحيحة، وإلا ستعرض نتيجة خاطئة.

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

registerAccountContactKeysListener

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull VoidregisterAccountContactKeysListener(
    @NonNull List<@NonNull String> accountIds,
    @NonNull OnAccountContactKeysUpdatedListener listener
)

تسجيل أداة معالجة لتلقّي إشعارات بشأن تعديلات مفاتيح جهات الاتصال في الحساب

سيتم استدعاء أداة الاستماع عند تعديل أي مفتاح لأي accountId تم توفيره أو إضافته أو إزالته. سيتم استدعاؤها مع قائمة بجميع المفاتيح الخاصة بمعرّفات الحسابات المقدَّمة، وليس فقط المفاتيح التي تم تعديلها.

المعلمات
@NonNull List<@NonNull String> accountIds

قائمة أرقام تعريف الحسابات التي سيتم تسجيل أداة الاستماع لها.

@NonNull OnAccountContactKeysUpdatedListener listener

المستمع للتسجيل.

removeE2eeAccountContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeAccountContactKey(
    @NonNull String deviceId,
    @NonNull String accountId
)

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

المعلمات
@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

removeE2eeContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

يزيل هذا الإذن إدخال مفتاح جهة اتصال مشفَّرًا تمامًا بين الأطراف يخصّ تطبيق المتصل.

المعلمات
@NonNull String lookupKey

القيمة التي تشير إلى جهة الاتصال

@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

removeE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

تزيل هذه الطريقة إدخال مفتاح ذاتي للتشفير التام بين الأطراف مع توفّر deviceId واسم الحزمة المستنتج للمتصل.

المعلمات
@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

unregisterAccountContactKeysListener

@CanIgnoreReturnValue
abstract @NonNull Task<@NonNull BooleanunregisterAccountContactKeysListener(
    @NonNull OnAccountContactKeysUpdatedListener listener
)

لإلغاء تسجيل متتبِّع لتلقّي إشعارات بشأن تعديلات مفاتيح جهات الاتصال في الحساب

المعلمات
@NonNull OnAccountContactKeysUpdatedListener listener

المستمع المطلوب إلغاء تسجيله

updateAllE2eeAccountKeys

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateAllE2eeAccountKeys(
    @NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos
)

تُدرِج هذه الطريقة مجموعة من مفاتيح جهات الاتصال الخاصة بالحساب.

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

يمكن للعملاء اختيار التعامل مع حالات الفشل المؤقتة عن طريق إعادة إرسال المجموعة بأكملها، لأنّ واجهة برمجة التطبيقات هذه لن تؤثّر في حالة المفاتيح التي تم إدراجها من قبل.

بالنسبة إلى كل مفتاح، إذا تم توفير lookupKey ولكن لم يتم توفير معلومات الاتصال الأساسية (displayName وphoneNumber وemailAddress)، ستحاول واجهة برمجة التطبيقات هذه أيضًا استرداد اسم جهة الاتصال ورقم هاتفها وعنوان بريدها الإلكتروني من "مقدِّم جهات الاتصال". عند استرداد المفتاح، يجب أن تستخدم تطبيقات إدارة جهات الاتصال هذه المعلومات للتأكّد من أنّ المفتاح يُستخدم فقط لجهة الاتصال المقصودة.

يخزِّن تطبيق "التحقّق من مفتاح Android" هذه المعلومات على الجهاز ولا يعرضها إلا لبرامج واجهة برمجة التطبيقات التي لديها إذن READ_CONTACTS.

في حال عدم توفير lookupKey لمفتاح، ستخزّن واجهة برمجة التطبيقات هذه مفتاحًا غير مرتبط بأي جهة اتصال.

المعلمات
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

قائمة بعناصر E2eeAccountKeyInfo تحتوي على معلومات مفتاح جهة الاتصال الخاص بالتشفير التام بين الأطراف.

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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

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

يخزِّن تطبيق "التحقّق من مفتاح Android" هذه المعلومات على الجهاز ولا يعرضها إلا لبرامج واجهة برمجة التطبيقات التي لديها إذن READ_CONTACTS.

المعلمات
@NonNull String lookupKey

القيمة التي تشير إلى جهة الاتصال

@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

@NonNull byte[] keyValue

وحدات البايت الأولية للمفتاح (الحد الأقصى للحجم هو getMaxKeySizeBytes بايت)

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeContactKey(
    @NonNull List<@NonNull String> lookupKeys,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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

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

يخزِّن تطبيق "التحقّق من مفتاح Android" هذه المعلومات على الجهاز ولا يعرضها إلا لبرامج واجهة برمجة التطبيقات التي لديها إذن READ_CONTACTS.

إذا كانت قائمة مفاتيح البحث فارغة، ستخزِّن واجهة برمجة التطبيقات هذه مفتاحًا غير مرتبط بأي جهة اتصال.

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

المعلمات
@NonNull List<@NonNull String> lookupKeys

قائمة مفاتيح البحث في CP2 التي قد تكون فارغة وتشير إلى جهات الاتصال المرتبطة بالمفتاح

@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

@NonNull byte[] keyValue

وحدات البايت الأولية للمفتاح (الحد الأقصى للحجم هو getMaxKeySizeBytes بايت)

updateOrInsertE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeSelfKey(
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

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

المعلمات
@NonNull String deviceId

معرّف يحدّده التطبيق للجهاز

@NonNull String accountId

معرّف خاص بالتطبيق للحساب

@NonNull byte[] keyValue

وحدات البايت الأولية للمفتاح (الحد الأقصى للحجم هو getMaxKeySizeBytes بايت)