ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Client pour l'API Contact Key.

Résumé

Méthodes publiques

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

Renvoie un flux de mises à jour des clés de contact du compte.

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

Récupère toutes les entrées de clé de contact de chiffrement de bout en bout appartenant aux applications visibles par l'appelant.

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

Renvoie toutes les entrées de clé auto-chiffrée de bout en bout appartenant aux applications visibles par l'appelant.

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

Récupère toutes les clés de contact de compte de chiffrement de bout en bout appartenant à l'application d'appel, qu'elles soient associées ou non à un contact.

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

Récupère toutes les clés de contact de chiffrement de bout en bout appartenant à l'application appelante, pour tous les contacts.

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

Récupère toutes les entrées de clé de contact de chiffrement de bout en bout qui appartiennent à l'application appelante et au compte de l'appelant, pour tous les contacts.

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

Récupère une entrée de clé de contact de chiffrement de bout en bout en fonction de lookupKey, deviceId, accountId et du nom du package de l'appelant inféré.

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

Renvoie une entrée de clé auto-chiffrée de bout en bout en fonction de deviceId, accountId et du nom de package inféré de l'appelant.

abstract @NonNull Task<@NonNull Integer>

Renvoie la taille maximale autorisée d'une clé en octets.

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

Renvoie une intention d'afficher l'activité d'intégration et indique que l'intégration a été affichée sur cet appareil.

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

Récupère toutes les entrées de clé de contact de chiffrement de bout en bout pour un lookupKey donné appartenant à l'application appelante.

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

Renvoie toutes les entrées de clé de chiffrement de bout en bout appartenant à l'application appelante.

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

Renvoie un intent à l'activité "Scan QR Code".

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

Renvoie un intent à l'activité "Scanner le code QR" pour un compte spécifique.

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

Renvoie un intent à l'activité "Afficher le code QR".

abstract @NonNull Task<@NonNull Boolean>

Renvoie une tâche qui se termine correctement, que l'API soit disponible ou non.

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

Enregistre un écouteur pour les mises à jour des clés de contact du compte.

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

Supprime une entrée de clé de contact de compte de chiffrement de bout en bout appartenant à l'application appelante.

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

Supprime une entrée de clé de contact de chiffrement de bout en bout appartenant à l'application appelante.

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

Supprime une entrée de clé auto-chiffrée de bout en bout en fonction de l'ID de l'appareil et du nom de package inféré de l'appelant.

abstract @NonNull Task<@NonNull Boolean>

Désenregistre un écouteur pour les mises à jour des clés de contact du compte.

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

Insère un lot de clés de contact de compte.

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
)

Insère une nouvelle entrée dans la table des clés de contact pour le chiffrement de bout en bout ou met à jour une entrée si elle existe déjà.

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
)

Insère une nouvelle entrée dans la table des clés de contact pour le chiffrement de bout en bout ou met à jour une entrée si elle existe déjà.

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

Insère une nouvelle entrée dans la table des clés auto-chiffrées de bout en bout ou en met à jour une si elle existe déjà.

Méthodes publiques

getAccountContactKeysFlow

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

Renvoie un flux de mises à jour des clés de contact du compte.

Le flux est émis lorsqu'une clé pour un accountId fourni est mise à jour, ajoutée ou supprimée. Elle émettra la liste de toutes les clés pour les accountId fournis, et pas seulement celles qui ont été mises à jour.

Paramètres
@NonNull List<@NonNull String> accountIds

Liste des ID de compte pour lesquels écouter les mises à jour.

Renvoie
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

Flux émettant les listes de E2eeAccountContactKeyParcelable pour les accountIds fournis chaque fois qu'une clé est mise à jour, ajoutée ou supprimée.

Génère
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

si les événements de rappel sont traités trop lentement.

getAllE2eeContactKeys

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

Récupère toutes les entrées de clé de contact de chiffrement de bout en bout appartenant aux applications visibles par l'appelant. Les données deviceId, timeUpdated et keyValue seront supprimées des clés.

Paramètres
@NonNull String lookupKey

la valeur qui fait référence au contact.

Renvoie
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable contenant une liste des informations de clé de contact pour le chiffrement de bout en bout, ou une liste vide si aucune clé n'est trouvée.

getAllE2eeSelfKeys

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

Renvoie toutes les entrées de clé auto-chiffrée de bout en bout appartenant aux applications visibles par l'appelant. Les données deviceId, timeUpdated et keyValue seront supprimées des clés.

Renvoie
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable contenant une liste d'informations sur les clés de chiffrement de bout en bout, ou une liste vide si aucune clé n'est trouvée.

getAllOwnerE2eeAccountContactKeys

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

Récupère toutes les clés de contact de compte de chiffrement de bout en bout appartenant à l'application d'appel, qu'elles soient associées ou non à un contact.

Renvoie
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

Liste d'objets E2eeAccountContactKeyParcelable contenant les informations de clé de contact pour le chiffrement de bout en bout, ou liste vide si aucune clé n'est trouvée.

getAllOwnerE2eeContactKeys

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

Récupère toutes les clés de contact de chiffrement de bout en bout appartenant à l'application appelante, pour tous les contacts.

Cette méthode ne doit être utilisée que pour récupérer les clés auxquelles au moins un contact est associé. Si vous devez récupérer des clés qui ne sont associées à aucun contact, utilisez plutôt getAllOwnerE2eeAccountContactKeys.

Renvoie
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable contenant une liste des informations de clé de contact pour le chiffrement de bout en bout, ou une liste vide si aucune clé n'est trouvée.

getE2eeAccountKeysForAccount

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

Récupère toutes les entrées de clé de contact de chiffrement de bout en bout qui appartiennent à l'application appelante et au compte de l'appelant, pour tous les contacts. Inclut les clés non associées à un contact.

Renvoie
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

Liste d'objets E2eeAccountContactKeyParcelable contenant les informations de clé de contact pour le chiffrement de bout en bout, ou liste vide si aucune clé n'est trouvée.

getE2eeContactKey

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

Récupère une entrée de clé de contact de chiffrement de bout en bout en fonction de lookupKey, deviceId, accountId et du nom du package de l'appelant inféré.

Paramètres
@NonNull String lookupKey

la valeur qui fait référence au contact.

@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

Renvoie
@NonNull Task<E2eeContactKeyParcelable>

E2eeContactKeyParcelable contenant les informations de la clé de contact, ou null si aucune clé de contact n'est trouvée.

getE2eeSelfKey

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

Renvoie une entrée de clé auto-chiffrée de bout en bout en fonction de deviceId, accountId et du nom de package inféré de l'appelant.

Paramètres
@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

Renvoie
@NonNull Task<E2eeSelfKeyParcelable>

E2eeSelfKeyParcelable contenant les informations de la clé auto-chiffrée de bout en bout, ou null si aucune clé auto-chiffrée n'est trouvée.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Renvoie la taille maximale autorisée d'une clé en octets.

getOnboardingIntent

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

Renvoie une intention d'afficher l'activité d'intégration et indique que l'intégration a été affichée sur cet appareil. Cela nécessite un nextActivity, qui peut être la chaîne show ou scan. Si la valeur est scan, le lookupKey du contact à rechercher est obligatoire.

Paramètres
@NonNull OnboardingNextActivity nextActivity

l'activité suivante à afficher après l'activité d'intégration. La valeur doit être définie sur show ou scan.

String lookupKey

Valeur qui fait référence au contact. Obligatoire si nextActivity est défini sur scan.

String packageName

Nom du package associé à l'application dont les clés sont nécessaires (facultatif).

getOwnerE2eeContactKeys

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

Récupère toutes les entrées de clé de contact de chiffrement de bout en bout pour un lookupKey donné appartenant à l'application appelante.

Paramètres
@NonNull String lookupKey

la valeur qui fait référence au contact.

Renvoie
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable contenant une liste des informations sur les clés de contact pour le chiffrement de bout en bout, ou une liste vide si aucune clé n'est trouvée.

getOwnerE2eeSelfKeys

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

Renvoie toutes les entrées de clé de chiffrement de bout en bout appartenant à l'application appelante.

Renvoie
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable contenant les informations de la clé privée de chiffrement de bout en bout, ou une liste vide si aucune clé privée n'est trouvée.

getScanQrCodeIntent

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

Renvoie un intent à l'activité "Scan QR Code".

Paramètres
@NonNull String lookupKey

la valeur qui fait référence au contact.

boolean skipOnboarding

Actuellement inutilisé.

getScanQrCodeIntentForAccount

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

Renvoie un intent à l'activité "Scanner le code QR" pour un compte spécifique.

Paramètres
@NonNull String packageName

le nom du package associé au compte que l'utilisateur souhaite valider.

@NonNull String accountId

ID du compte que l'utilisateur souhaite valider

getShowQrCodeIntent

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

Renvoie un intent à l'activité "Afficher le code QR".

Paramètres
String packageName

Nom du package associé à l'application dont les clés sont nécessaires (facultatif)

boolean skipOnboarding

Actuellement inutilisé.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

Renvoie une tâche qui se termine correctement, que l'API soit disponible ou non.

Si l'API est disponible, la tâche renvoyée aura un résultat "true", sinon "false".

Les exceptions généralement générées lorsque l'API n'est pas disponible seront interceptées et une tâche renvoyant la valeur "false" sera renvoyée à la place.

registerAccountContactKeysListener

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

Enregistre un écouteur pour les mises à jour des clés de contact du compte.

L'écouteur sera appelé lorsqu'une clé pour un accountId fourni est mise à jour, ajoutée ou supprimée. Elle sera appelée avec la liste de toutes les clés pour les accountIds fournis, et pas seulement celles qui ont été mises à jour.

Paramètres
@NonNull List<@NonNull String> accountIds

Liste des ID de compte pour lesquels enregistrer l'écouteur.

@NonNull OnAccountContactKeysUpdatedListener listener

l'écouteur à enregistrer.

removeE2eeAccountContactKey

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

Supprime une entrée de clé de contact de compte de chiffrement de bout en bout appartenant à l'application appelante.

Paramètres
@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

removeE2eeContactKey

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

Supprime une entrée de clé de contact de chiffrement de bout en bout appartenant à l'application appelante.

Paramètres
@NonNull String lookupKey

la valeur qui fait référence au contact.

@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

removeE2eeSelfKey

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

Supprime une entrée de clé auto-chiffrée de bout en bout en fonction de l'ID de l'appareil et du nom de package inféré de l'appelant.

Paramètres
@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

unregisterAccountContactKeysListener

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

Désenregistre un écouteur pour les mises à jour des clés de contact du compte.

Paramètres
@NonNull OnAccountContactKeysUpdatedListener listener

Paramètre "Listener" dont l'enregistrement doit être annulé

updateAllE2eeAccountKeys

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

Insère un lot de clés de contact de compte.

Se comporte de la même manière que updateOrInsertE2eeContactKey, mais permet d'insérer/mettre à jour plusieurs clés à la fois. Chaque clé est insérée dans sa propre transaction. Il est donc possible que certaines clés soient insérées même si la tâche génère une exception.

Les clients peuvent choisir de gérer les échecs temporaires en renvoyant l'intégralité du lot, car cette API n'affectera pas l'état des clés déjà insérées.

Pour chaque clé, si une lookupKey est fournie, mais que les informations de base du contact (displayName, phoneNumber, emailAddress) ne le sont pas, cette API tentera également de récupérer le nom, le numéro de téléphone et l'adresse e-mail du contact auprès du fournisseur de contacts. Lors de la récupération de la clé, les applications de gestion des contacts doivent utiliser ces informations pour s'assurer que la clé n'est utilisée que pour le contact auquel elle est destinée.

L'application Android Key Verification stocke ces informations sur l'appareil et ne les expose qu'aux appelants d'API disposant de l'autorisation READ_CONTACTS.

Si aucune lookupKey n'est fournie pour une clé, cette API stocke une clé qui n'est associée à aucun contact.

Paramètres
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

Liste des objets E2eeAccountKeyInfo contenant les informations sur la clé de contact pour le chiffrement de bout en bout.

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
)

Insère une nouvelle entrée dans la table des clés de contact pour le chiffrement de bout en bout ou met à jour une entrée si elle existe déjà. La clé de contact de chiffrement de bout en bout insérée/mise à jour appartient à l'application appelante.

Cette API stockera également le nom, le numéro de téléphone et l'adresse e-mail du contact à partir du fournisseur de contacts, en plus de la clé. Lors de la récupération de la clé, les applications de gestion des contacts doivent utiliser ces informations pour s'assurer que la clé n'est utilisée que pour le contact auquel elle est destinée.

L'application Android Key Verification stocke ces informations sur l'appareil et ne les expose qu'aux appelants d'API disposant de l'autorisation READ_CONTACTS.

Paramètres
@NonNull String lookupKey

valeur qui fait référence au contact.

@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

@NonNull byte[] keyValue

Octets bruts de la clé (taille maximale : getMaxKeySizeBytes octets)

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
)

Insère une nouvelle entrée dans la table des clés de contact pour le chiffrement de bout en bout ou met à jour une entrée si elle existe déjà. La clé de contact de chiffrement de bout en bout insérée/mise à jour appartient à l'application appelante.

Pour chaque clé de recherche fournie, cette API stocke également le nom, le numéro de téléphone et l'adresse e-mail du contact à partir du fournisseur de contacts, en plus de la clé. Lors de la récupération de la clé, les applications de gestion des contacts doivent utiliser ces informations pour s'assurer que la clé n'est utilisée que pour le contact auquel elle est destinée.

L'application Android Key Verification stocke ces informations sur l'appareil et ne les expose qu'aux appelants d'API disposant de l'autorisation READ_CONTACTS.

Si la liste des clés de recherche est vide, cette API stocke une clé qui n'est associée à aucun contact.

Si vous appelez cette API avec une ou plusieurs clés de recherche, les métadonnées de la clé seront mises à jour pour l'associer aux contacts fournis. Toutefois, les associations existantes pour les contacts qui ne figurent pas dans la liste ne seront pas supprimées. Pour supprimer l'association entre un contact et une clé, appelez removeE2eeContactKey avec la clé de recherche appropriée.

Paramètres
@NonNull List<@NonNull String> lookupKeys

Liste potentiellement vide de clés de recherche CP2 faisant référence aux contacts auxquels la clé est associée

@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

@NonNull byte[] keyValue

Octets bruts de la clé (taille maximale : getMaxKeySizeBytes octets)

updateOrInsertE2eeSelfKey

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

Insère une nouvelle entrée dans la table des clés auto-chiffrées de bout en bout ou en met à jour une si elle existe déjà.

Paramètres
@NonNull String deviceId

un identifiant de l'appareil spécifié par l'application.

@NonNull String accountId

un identifiant spécifié par l'application pour le compte.

@NonNull byte[] keyValue

Octets bruts de la clé (taille maximale : getMaxKeySizeBytes octets)