ContactKeyClient


interface ContactKeyClient : HasApiKey


연락처 키 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>

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의 모든 키 목록을 내보냅니다.

매개변수
accountIds: List<String>

업데이트를 수신할 계정 ID 목록입니다.

반환 값
Flow<List<E2eeAccountContactKeyParcelable>>

키가 업데이트되거나 추가되거나 삭제될 때마다 제공된 accountIds의 E2eeAccountContactKeyParcelable 목록을 방출하는 흐름

생성 값
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?

연락처를 참조하는 값입니다. nextActivityscan인 경우 필수입니다.

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

사용자가 인증하려는 계정과 연결된 계정 ID

getShowQrCodeIntent

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

'QR 코드 표시' 활동의 인텐트를 반환합니다.

매개변수
packageName: String?

키가 필요한 앱과 연결된 패키지 이름 (선택사항)

skipOnboarding: Boolean = false

현재는 사용되지 않으며

isEnabled

fun isEnabled(): Task<Boolean>

API 사용 가능 여부와 관계없이 성공적으로 완료되는 작업을 반환합니다.

API를 사용할 수 있으면 반환된 작업의 결과가 true이고, 그렇지 않으면 false입니다.

API를 사용할 수 없을 때 일반적으로 발생하는 예외가 포착되고 대신 false를 반환하는 작업이 반환됩니다.

registerAccountContactKeysListener

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

계정 연락처 키 업데이트의 리스너를 등록합니다.

제공된 accountId의 키가 업데이트, 추가 또는 삭제되면 리스너가 호출됩니다. 업데이트된 키뿐만 아니라 제공된 accountIds의 모든 키 목록과 함께 호출됩니다.

매개변수
accountIds: List<String>

리스너를 등록할 계정 ID 목록입니다.

listener: OnAccountContactKeysUpdatedListener

등록할 리스너입니다.

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

등록 취소할 리스너입니다.

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 키 확인 앱은 이 정보를 기기에 저장하고 READ_CONTACTS 권한을 보유한 API 호출자에게만 노출합니다.

키에 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 키 확인 앱은 이 정보를 기기에 저장하고 READ_CONTACTS 권한을 보유한 API 호출자에게만 노출합니다.

매개변수
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 키 확인 앱은 이 정보를 기기에 저장하고 READ_CONTACTS 권한을 보유한 API 호출자에게만 노출합니다.

조회 키 목록이 비어 있으면 이 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바이트)