ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Es un cliente para la API de Contact Key.

Resumen

Métodos públicos

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

Devuelve un flujo de actualizaciones de claves de contacto de la cuenta.

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

Recupera todas las entradas de claves de contacto de encriptación de extremo a extremo que pertenecen a las apps visibles para la persona que llama.

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

Devuelve todas las entradas de claves propias de encriptación de extremo a extremo que pertenecen a las apps visibles para la persona que llama.

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

Recupera todas las claves de contacto de la cuenta de encriptación de extremo a extremo que pertenecen a la app que llama, ya sea que estén asociadas a un contacto o no.

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

Recupera todas las claves de contacto de encriptación de extremo a extremo que pertenecen a la app de llamada, en todos los contactos.

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

Recupera todas las entradas de claves de contacto de encriptación de extremo a extremo que pertenecen a la app de llamada y a la cuenta del llamador, en todos los contactos.

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

Recupera una entrada de clave de contacto de encriptación de extremo a extremo a partir de lookupKey, deviceId, accountId y el nombre del paquete de la persona que llama inferido.

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

Devuelve una entrada de clave propia de encriptación de extremo a extremo, dados el deviceId, el accountId y el nombre del paquete inferido del llamador.

abstract @NonNull Task<@NonNull Integer>

Devuelve el tamaño máximo permitido de una clave en bytes.

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

Devuelve un intent para mostrar la actividad de Onboarding y marca que se mostró Onboarding en este dispositivo.

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

Recupera todas las entradas de claves de contacto de encriptación de extremo a extremo para un lookupKey determinado que pertenece a la app que realiza la llamada.

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

Devuelve todas las entradas de la clave propia de encriptación de extremo a extremo que son propiedad de la app que realiza la llamada.

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

Devuelve un intent para la actividad "Escanear código QR".

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

Devuelve un intent para la actividad "Escanear código QR" de una cuenta específica.

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

Devuelve un intent para la actividad "Mostrar código QR".

abstract @NonNull Task<@NonNull Boolean>

Devuelve una tarea que se completa correctamente, ya sea que la API esté disponible o no.

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

Registra un objeto de escucha para las actualizaciones de las claves de contacto de la cuenta.

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

Quita una entrada de clave de contacto de la cuenta de encriptación de extremo a extremo que pertenece a la app que realiza la llamada.

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

Quita una entrada de clave de contacto de encriptación de extremo a extremo que pertenece a la app de llamada.

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

Quita una entrada de clave propia de encriptación de extremo a extremo, dado el deviceId y el nombre del paquete inferido del llamador.

abstract @NonNull Task<@NonNull Boolean>

Anula el registro de un objeto de escucha para las actualizaciones de las claves de contacto de la cuenta.

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

Inserta un lote de claves de contacto de la cuenta.

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
)

Inserta una entrada nueva en la tabla de claves de contacto de encriptación de extremo a extremo o actualiza una si ya existe.

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
)

Inserta una entrada nueva en la tabla de claves de contacto de encriptación de extremo a extremo o actualiza una si ya existe.

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

Inserta una entrada nueva en la tabla de claves propias de encriptación de extremo a extremo o actualiza una si ya existe.

Métodos públicos

getAccountContactKeysFlow

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

Devuelve un flujo de actualizaciones de claves de contacto de la cuenta.

El flujo se emitirá cuando se actualice, agregue o quite cualquier clave para cualquier accountId proporcionado. Se emitirá la lista de todas las claves para los accountIds proporcionados, no solo las que se actualizaron.

Parámetros
@NonNull List<@NonNull String> accountIds

Es la lista de IDs de cuentas para las que se deben escuchar las actualizaciones.

Muestra
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

Es un flujo que emite las listas de E2eeAccountContactKeyParcelable para los accountIds proporcionados cada vez que se actualiza, agrega o quita una clave.

Arroja
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

si los eventos de devolución de llamada se procesan demasiado lento.

getAllE2eeContactKeys

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

Recupera todas las entradas de claves de contacto de encriptación de extremo a extremo que pertenecen a las apps visibles para la persona que llama. Las claves se despojarán de los datos de deviceId, timeUpdated y keyValue.

Parámetros
@NonNull String lookupKey

El valor que hace referencia al contacto

Muestra
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

Un E2eeContactKeyListParcelable que contiene una lista de la información de la clave de contacto de encriptación de extremo a extremo o una lista vacía si no se encuentran claves.

getAllE2eeSelfKeys

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

Devuelve todas las entradas de claves propias de encriptación de extremo a extremo que pertenecen a las apps visibles para la persona que llama. Las claves se despojarán de los datos de deviceId, timeUpdated y keyValue.

Muestra
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

Un E2eeSelfKeyListParcelable que contiene una lista de la información de la clave propia de encriptación de extremo a extremo, o una lista vacía si no se encuentran claves propias.

getAllOwnerE2eeAccountContactKeys

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

Recupera todas las claves de contacto de la cuenta de encriptación de extremo a extremo que pertenecen a la app que llama, ya sea que estén asociadas a un contacto o no.

Muestra
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

Es una lista de objetos E2eeAccountContactKeyParcelable que contiene la información de la clave de contacto de encriptación de extremo a extremo o una lista vacía si no se encuentran claves.

getAllOwnerE2eeContactKeys

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

Recupera todas las claves de contacto de encriptación de extremo a extremo que pertenecen a la app de llamada, en todos los contactos.

Este método solo debe usarse para recuperar claves que tengan al menos un contacto asociado. Si necesitas recuperar claves que no están asociadas a ningún contacto, usa getAllOwnerE2eeAccountContactKeys.

Muestra
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

Un E2eeContactKeyListParcelable que contiene una lista de la información de la clave de contacto de encriptación de extremo a extremo o una lista vacía si no se encuentran claves.

getE2eeAccountKeysForAccount

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

Recupera todas las entradas de claves de contacto de encriptación de extremo a extremo que pertenecen a la app de llamada y a la cuenta del llamador, en todos los contactos. Incluye las llaves que no están asociadas a ningún contacto.

Muestra
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

Es una lista de objetos E2eeAccountContactKeyParcelable que contiene la información de la clave de contacto de encriptación de extremo a extremo o una lista vacía si no se encuentran claves.

getE2eeContactKey

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

Recupera una entrada de clave de contacto de encriptación de extremo a extremo a partir de lookupKey, deviceId, accountId y el nombre del paquete de la persona que llama inferido.

Parámetros
@NonNull String lookupKey

El valor que hace referencia al contacto

@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

Muestra
@NonNull Task<E2eeContactKeyParcelable>

Un E2eeContactKeyParcelable que contiene la información de la clave de contacto o un valor nulo si no se encuentra ninguna clave de contacto.

getE2eeSelfKey

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

Devuelve una entrada de clave propia de encriptación de extremo a extremo, dados el deviceId, el accountId y el nombre del paquete inferido del llamador.

Parámetros
@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

Muestra
@NonNull Task<E2eeSelfKeyParcelable>

Un E2eeSelfKeyParcelable que contiene la información de la clave propia de encriptación de extremo a extremo o un valor nulo si no se encuentra ninguna clave propia.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Devuelve el tamaño máximo permitido de una clave en bytes.

getOnboardingIntent

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

Devuelve un intent para mostrar la actividad de Onboarding y marca que se mostró Onboarding en este dispositivo. Esto requiere un nextActivity, que puede ser la cadena show o scan. Si es scan, se requiere el lookupKey del contacto que se buscará.

Parámetros
@NonNull OnboardingNextActivity nextActivity

Es la siguiente actividad que se mostrará después de la actividad de incorporación. Debe ser show o scan.

String lookupKey

Es el valor que hace referencia al contacto. Obligatorio si nextActivity es scan.

String packageName

Es el nombre del paquete asociado con la app cuyas claves se necesitan (opcional).

getOwnerE2eeContactKeys

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

Recupera todas las entradas de claves de contacto de encriptación de extremo a extremo para un lookupKey determinado que pertenece a la app que realiza la llamada.

Parámetros
@NonNull String lookupKey

El valor que hace referencia al contacto

Muestra
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

Un E2eeContactKeyListParcelable que contiene una lista de la información de la clave de contacto de encriptación de extremo a extremo o una lista vacía si no se encuentran claves.

getOwnerE2eeSelfKeys

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

Devuelve todas las entradas de la clave propia de encriptación de extremo a extremo que son propiedad de la app que realiza la llamada.

Muestra
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

Un E2eeSelfKeyListParcelable que contiene la información de la clave propia de encriptación de extremo a extremo o una lista vacía si no se encuentran claves propias.

getScanQrCodeIntent

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

Devuelve un intent para la actividad "Escanear código QR".

Parámetros
@NonNull String lookupKey

El valor que hace referencia al contacto

boolean skipOnboarding

Actualmente inactivo.

getScanQrCodeIntentForAccount

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

Devuelve un intent para la actividad "Escanear código QR" de una cuenta específica.

Parámetros
@NonNull String packageName

El nombre del paquete asociado con la cuenta que el usuario desea verificar

@NonNull String accountId

Es el ID de la cuenta asociada a la cuenta que el usuario desea verificar.

getShowQrCodeIntent

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

Devuelve un intent para la actividad "Mostrar código QR".

Parámetros
String packageName

Nombre del paquete asociado con la app cuyas claves se necesitan (opcional)

boolean skipOnboarding

Actualmente inactivo.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

Devuelve una tarea que se completa correctamente, ya sea que la API esté disponible o no.

Si la API está disponible, la tarea devuelta tendrá un resultado verdadero; de lo contrario, será falso.

Las excepciones que suelen generarse cuando la API no está disponible se detectarán y, en su lugar, se devolverá una tarea que muestre el valor falso de forma correcta.

registerAccountContactKeysListener

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

Registra un objeto de escucha para las actualizaciones de las claves de contacto de la cuenta.

Se llamará al objeto de escucha cuando se actualice, agregue o quite cualquier clave para cualquier accountId proporcionado. Se llamará con la lista de todas las claves para los accountIds proporcionados, no solo las que se actualizaron.

Parámetros
@NonNull List<@NonNull String> accountIds

Es la lista de IDs de cuentas para las que se registrará el objeto de escucha.

@NonNull OnAccountContactKeysUpdatedListener listener

Es el objeto de escucha que se registrará.

removeE2eeAccountContactKey

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

Quita una entrada de clave de contacto de la cuenta de encriptación de extremo a extremo que pertenece a la app que realiza la llamada.

Parámetros
@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

removeE2eeContactKey

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

Quita una entrada de clave de contacto de encriptación de extremo a extremo que pertenece a la app de llamada.

Parámetros
@NonNull String lookupKey

El valor que hace referencia al contacto

@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

removeE2eeSelfKey

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

Quita una entrada de clave propia de encriptación de extremo a extremo, dado el deviceId y el nombre del paquete inferido del llamador.

Parámetros
@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

unregisterAccountContactKeysListener

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

Anula el registro de un objeto de escucha para las actualizaciones de las claves de contacto de la cuenta.

Parámetros
@NonNull OnAccountContactKeysUpdatedListener listener

Es el objeto de escucha que se anulará.

updateAllE2eeAccountKeys

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

Inserta un lote de claves de contacto de la cuenta.

Se comporta de manera similar a updateOrInsertE2eeContactKey, pero permite insertar o actualizar varias claves a la vez. Cada clave se inserta en su propia transacción, por lo que es posible que se inserten algunas claves incluso si la tarea arroja una excepción.

Los clientes pueden optar por controlar las fallas temporales reenviando todo el lote, ya que esta API no afectará el estado de las claves ya insertadas.

Para cada clave, si se proporciona un lookupKey, pero no se proporciona la información básica del contacto (displayName, phoneNumber, emailAddress), esta API también intentará recuperar el nombre, el número de teléfono y la dirección de correo electrónico del contacto del proveedor de contactos. Cuando recuperen la clave, las apps de administración de contactos deben usar esta información para asegurarse de que la clave solo se use para el contacto para el que se creó.

La app de Android Key Verification almacena esta información en el dispositivo y solo la expone a los llamadores de la API que tienen el permiso READ_CONTACTS.

Si no se proporciona ningún lookupKey para una clave, esta API almacenará una clave que no esté vinculada a ningún contacto.

Parámetros
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

Es la lista de objetos E2eeAccountKeyInfo que contienen la información de la clave de contacto de encriptación de extremo a extremo.

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
)

Inserta una entrada nueva en la tabla de claves de contacto de encriptación de extremo a extremo o actualiza una si ya existe. La app que llama es propietaria de la clave de contacto de encriptación de extremo a extremo insertada o actualizada.

Esta API también almacenará el nombre, el número de teléfono y la dirección de correo electrónico del contacto del proveedor de contactos, junto con la clave. Cuando recuperen la clave, las apps de administración de contactos deben usar esta información para asegurarse de que la clave solo se use para el contacto para el que se creó.

La app de Android Key Verification almacena esta información en el dispositivo y solo la expone a los llamadores de la API que tienen el permiso READ_CONTACTS.

Parámetros
@NonNull String lookupKey

Valor que hace referencia al contacto

@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

@NonNull byte[] keyValue

Los bytes sin procesar de la clave (el tamaño máximo es de getMaxKeySizeBytes bytes)

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
)

Inserta una entrada nueva en la tabla de claves de contacto de encriptación de extremo a extremo o actualiza una si ya existe. La app que llama es propietaria de la clave de contacto de encriptación de extremo a extremo insertada o actualizada.

Para cada clave de búsqueda proporcionada, esta API también almacenará el nombre, el número de teléfono y la dirección de correo electrónico del contacto del proveedor de contactos, junto con la clave. Cuando recuperen la clave, las apps de administración de contactos deben usar esta información para asegurarse de que la clave solo se use para el contacto para el que se creó.

La app de Android Key Verification almacena esta información en el dispositivo y solo la expone a los llamadores de la API que tienen el permiso READ_CONTACTS.

Si la lista de claves de búsqueda está vacía, esta API almacenará una clave que no esté asociada a ningún contacto.

Si llamas a esta API con una o más claves de búsqueda, se actualizarán los metadatos de la clave para asociarla con los contactos proporcionados, pero no se quitarán las asociaciones existentes para los contactos que no se proporcionen en la lista. Para quitar la asociación entre un contacto y una clave, llama a removeE2eeContactKey con la clave de búsqueda adecuada.

Parámetros
@NonNull List<@NonNull String> lookupKeys

Lista potencialmente vacía de claves de búsqueda de CP2 que hacen referencia a los contactos con los que se asocia la clave

@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

@NonNull byte[] keyValue

Los bytes sin procesar de la clave (el tamaño máximo es de getMaxKeySizeBytes bytes)

updateOrInsertE2eeSelfKey

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

Inserta una entrada nueva en la tabla de claves propias de encriptación de extremo a extremo o actualiza una si ya existe.

Parámetros
@NonNull String deviceId

Un identificador especificado por la app para el dispositivo

@NonNull String accountId

Es un identificador especificado por la app para la cuenta.

@NonNull byte[] keyValue

Los bytes sin procesar de la clave (el tamaño máximo es de getMaxKeySizeBytes bytes)