ContactKeyClient


interface ContactKeyClient : HasApiKey


Klien untuk Contact Key API.

Ringkasan

Fungsi publik

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

Menampilkan alur pembaruan kunci kontak akun.

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

Mengambil semua entri kunci kontak enkripsi end-to-end yang termasuk dalam aplikasi yang terlihat oleh pemanggil.

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

Menampilkan semua entri kunci mandiri enkripsi menyeluruh milik aplikasi yang terlihat oleh pemanggil.

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

Mengambil semua kunci kontak akun enkripsi end-to-end yang dimiliki aplikasi pemanggil, baik yang terkait dengan kontak maupun tidak.

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

Mengambil semua kunci kontak enkripsi end-to-end yang dimiliki aplikasi pemanggil, di semua kontak.

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

Mengambil semua entri kunci kontak enkripsi end-to-end yang dimiliki aplikasi pemanggil dan akun pemanggil, di semua kontak.

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

Mengambil entri kunci kontak enkripsi end-to-end yang diberikan lookupKey, deviceId, accountId, dan nama paket pemanggil yang disimpulkan.

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

Menampilkan entri kunci mandiri enkripsi end-to-end yang diberikan deviceId, accountId, dan nama paket pemanggil yang disimpulkan.

Task<Int>

Menampilkan ukuran maksimum yang diizinkan untuk kunci dalam byte.

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

Menampilkan intent untuk menampilkan aktivitas Orientasi, dan menandai bahwa Orientasi telah ditampilkan di perangkat ini.

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

Mengambil semua entri kunci kontak enkripsi end-to-end untuk lookupKey tertentu yang termasuk dalam aplikasi pemanggil.

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

Menampilkan semua entri kunci mandiri enkripsi end-to-end yang dimiliki oleh aplikasi pemanggil.

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

Menampilkan intent ke aktivitas "Pindai Kode QR".

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

Menampilkan intent ke aktivitas "Pindai Kode QR" untuk akun tertentu.

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

Menampilkan intent ke aktivitas "Tampilkan Kode QR".

Task<Boolean>

Menampilkan Tugas yang berhasil diselesaikan, baik API tersedia maupun tidak.

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

Mendaftarkan pemroses untuk pembaruan kunci kontak akun.

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

Menghapus entri kunci kontak akun enkripsi end-to-end milik aplikasi pemanggil.

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

Menghapus entri kunci kontak enkripsi menyeluruh yang dimiliki aplikasi pemanggil.

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

Menghapus entri kunci mandiri enkripsi end-to-end yang diberikan deviceId dan nama paket pemanggil yang disimpulkan.

Task<Boolean>

Membatalkan pendaftaran pemroses untuk pembaruan kunci kontak akun.

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

Menyisipkan batch kunci kontak akun.

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

Menyisipkan entri baru ke dalam tabel kunci kontak enkripsi end-to-end atau memperbarui entri jika sudah ada.

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

Menyisipkan entri baru ke dalam tabel kunci kontak enkripsi end-to-end atau memperbarui entri jika sudah ada.

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

Menyisipkan entri baru ke dalam tabel kunci mandiri enkripsi end-to-end atau memperbarui entri jika sudah ada.

Fungsi publik

getAccountContactKeysFlow

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

Menampilkan alur pembaruan kunci kontak akun.

Alur akan dipancarkan saat kunci apa pun untuk accountId yang diberikan diperbarui, ditambahkan, atau dihapus. Tindakan ini akan memancarkan daftar semua kunci untuk accountId yang diberikan, bukan hanya kunci yang diperbarui.

Parameter
accountIds: List<String>

daftar ID akun yang akan dipantau untuk mengetahui pembaruan.

Hasil
Flow<List<E2eeAccountContactKeyParcelable>>

alur yang memancarkan daftar E2eeAccountContactKeyParcelable untuk accountId yang diberikan setiap kali kunci diperbarui, ditambahkan, atau dihapus.

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

jika peristiwa callback diproses terlalu lambat.

getAllE2eeContactKeys

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

Mengambil semua entri kunci kontak enkripsi end-to-end yang termasuk dalam aplikasi yang terlihat oleh pemanggil. Kunci akan dihapus dari data deviceId, timeUpdated, dan keyValue.

Parameter
lookupKey: String

nilai yang mereferensikan kontak

Hasil
Task<E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable yang berisi daftar informasi kunci kontak enkripsi end-to-end, atau daftar kosong jika tidak ada kunci yang ditemukan.

getAllE2eeSelfKeys

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

Menampilkan semua entri kunci mandiri enkripsi menyeluruh milik aplikasi yang terlihat oleh pemanggil. Kunci akan dihapus dari data deviceId, timeUpdated, dan keyValue.

Hasil
Task<E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable yang berisi daftar informasi kunci mandiri enkripsi end-to-end, atau daftar kosong jika tidak ada kunci mandiri yang ditemukan.

getAllOwnerE2eeAccountContactKeys

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

Mengambil semua kunci kontak akun enkripsi end-to-end yang dimiliki aplikasi pemanggil, baik yang terkait dengan kontak maupun tidak.

Hasil
Task<ImmutableList<E2eeAccountContactKeyParcelable>>

daftar objek E2eeAccountContactKeyParcelable yang berisi informasi kunci kontak enkripsi end-to-end, atau daftar kosong jika tidak ada kunci yang ditemukan.

getAllOwnerE2eeContactKeys

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

Mengambil semua kunci kontak enkripsi end-to-end yang dimiliki aplikasi pemanggil, di semua kontak.

Metode ini hanya boleh digunakan untuk mengambil kunci yang memiliki setidaknya satu kontak terkait. Jika Anda perlu mengambil kunci yang tidak terkait dengan kontak mana pun, gunakan getAllOwnerE2eeAccountContactKeys.

Hasil
Task<E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable yang berisi daftar informasi kunci kontak enkripsi end-to-end, atau daftar kosong jika tidak ada kunci yang ditemukan.

getE2eeAccountKeysForAccount

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

Mengambil semua entri kunci kontak enkripsi end-to-end yang dimiliki aplikasi pemanggil dan akun pemanggil, di semua kontak. Mencakup kunci yang tidak dikaitkan dengan kontak mana pun.

Hasil
Task<ImmutableList<E2eeAccountContactKeyParcelable>>

daftar objek E2eeAccountContactKeyParcelable yang berisi informasi kunci kontak enkripsi end-to-end, atau daftar kosong jika tidak ada kunci yang ditemukan.

getE2eeContactKey

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

Mengambil entri kunci kontak enkripsi end-to-end yang diberikan lookupKey, deviceId, accountId, dan nama paket pemanggil yang disimpulkan.

Parameter
lookupKey: String

nilai yang mereferensikan kontak

deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

Hasil
Task<E2eeContactKeyParcelable?>

E2eeContactKeyParcelable yang berisi informasi kunci kontak, atau null jika tidak ada kunci kontak yang ditemukan.

getE2eeSelfKey

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

Menampilkan entri kunci mandiri enkripsi end-to-end yang diberikan deviceId, accountId, dan nama paket pemanggil yang disimpulkan.

Parameter
deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

Hasil
Task<E2eeSelfKeyParcelable?>

E2eeSelfKeyParcelable yang berisi informasi kunci mandiri enkripsi end-to-end, atau null jika tidak ada kunci mandiri yang ditemukan.

getMaxKeySizeBytes

fun getMaxKeySizeBytes(): Task<Int>

Menampilkan ukuran maksimum yang diizinkan untuk kunci dalam byte.

getOnboardingIntent

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

Menampilkan intent untuk menampilkan aktivitas Orientasi, dan menandai bahwa Orientasi telah ditampilkan di perangkat ini. Hal ini memerlukan nextActivity, yang dapat berupa string show atau scan. Jika scan, lookupKey kontak yang akan dipindai harus ada.

Parameter
nextActivity: OnboardingNextActivity

aktivitas berikutnya yang akan ditampilkan setelah aktivitas Onboarding. Harus berupa show atau scan.

lookupKey: String?

nilai yang mereferensikan kontak. Wajib jika nextActivity adalah scan.

packageName: String?

nama paket yang terkait dengan aplikasi yang kuncinya diperlukan (opsional).

getOwnerE2eeContactKeys

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

Mengambil semua entri kunci kontak enkripsi end-to-end untuk lookupKey tertentu yang termasuk dalam aplikasi pemanggil.

Parameter
lookupKey: String

nilai yang mereferensikan kontak

Hasil
Task<E2eeContactKeyListParcelable>

E2eeContactKeyListParcelable yang berisi daftar informasi kunci kontak enkripsi end-to-end, atau daftar kosong jika tidak ada kunci yang ditemukan.

getOwnerE2eeSelfKeys

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

Menampilkan semua entri kunci mandiri enkripsi end-to-end yang dimiliki oleh aplikasi pemanggil.

Hasil
Task<E2eeSelfKeyListParcelable>

E2eeSelfKeyListParcelable yang berisi informasi kunci mandiri enkripsi end-to-end, atau daftar kosong jika tidak ada kunci mandiri yang ditemukan.

getScanQrCodeIntent

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

Menampilkan intent ke aktivitas "Pindai Kode QR".

Parameter
lookupKey: String

nilai yang mereferensikan kontak

skipOnboarding: Boolean = false

Saat ini tidak digunakan.

getScanQrCodeIntentForAccount

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

Menampilkan intent ke aktivitas "Pindai Kode QR" untuk akun tertentu.

Parameter
packageName: String

nama paket yang terkait dengan akun yang ingin diverifikasi pengguna

accountId: String

ID akun yang terkait dengan akun yang ingin diverifikasi pengguna

getShowQrCodeIntent

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

Menampilkan intent ke aktivitas "Tampilkan Kode QR".

Parameter
packageName: String?

nama paket yang terkait dengan aplikasi yang kuncinya diperlukan (opsional)

skipOnboarding: Boolean = false

Saat ini tidak digunakan.

isEnabled

fun isEnabled(): Task<Boolean>

Menampilkan Tugas yang berhasil diselesaikan, baik API tersedia maupun tidak.

Jika API tersedia, tugas yang ditampilkan akan memiliki hasil benar, dan salah jika tidak.

Pengecualian yang biasanya muncul saat API tidak tersedia akan ditangkap dan tugas yang berhasil menampilkan nilai salah akan ditampilkan sebagai gantinya.

registerAccountContactKeysListener

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

Mendaftarkan pemroses untuk pembaruan kunci kontak akun.

Pemroses akan dipanggil saat kunci apa pun untuk accountId yang diberikan diperbarui, ditambahkan, atau dihapus. Fungsi ini akan dipanggil dengan daftar semua kunci untuk accountId yang diberikan, bukan hanya kunci yang diperbarui.

Parameter
accountIds: List<String>

daftar ID akun untuk mendaftarkan pemroses.

listener: OnAccountContactKeysUpdatedListener

pemroses yang akan didaftarkan.

removeE2eeAccountContactKey

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

Menghapus entri kunci kontak akun enkripsi end-to-end milik aplikasi pemanggil.

Parameter
deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

removeE2eeContactKey

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

Menghapus entri kunci kontak enkripsi menyeluruh yang dimiliki aplikasi pemanggil.

Parameter
lookupKey: String

nilai yang mereferensikan kontak

deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

removeE2eeSelfKey

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

Menghapus entri kunci mandiri enkripsi end-to-end yang diberikan deviceId dan nama paket pemanggil yang disimpulkan.

Parameter
deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

unregisterAccountContactKeysListener

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

Membatalkan pendaftaran pemroses untuk pembaruan kunci kontak akun.

Parameter
listener: OnAccountContactKeysUpdatedListener

pemroses yang akan dibatalkan pendaftarannya.

updateAllE2eeAccountKeys

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

Menyisipkan batch kunci kontak akun.

Berperilaku serupa dengan updateOrInsertE2eeContactKey, tetapi memungkinkan beberapa kunci disisipkan/diperbarui sekaligus. Setiap kunci dimasukkan dalam transaksinya sendiri, sehingga beberapa kunci dapat dimasukkan meskipun tugas memunculkan pengecualian.

Klien dapat memilih untuk menangani kegagalan sementara dengan mengirim ulang seluruh batch, karena API ini tidak akan memengaruhi status kunci yang sudah dimasukkan.

Untuk setiap kunci, jika lookupKey diberikan tetapi info dasar kontak (displayName, phoneNumber, emailAddress) tidak diberikan, API ini juga akan mencoba mengambil nama, nomor telepon, dan alamat email kontak dari Penyedia Kontak. Saat mengambil kunci, aplikasi pengelolaan kontak harus menggunakan informasi ini untuk memastikan bahwa kunci hanya digunakan untuk kontak yang ditujukan untuknya.

Aplikasi Verifikasi Kunci Android menyimpan informasi ini di perangkat dan hanya menunjukkannya kepada pemanggil API yang memiliki izin READ_CONTACTS.

Jika tidak ada lookupKey yang diberikan untuk kunci, API ini akan menyimpan kunci yang tidak terikat ke kontak mana pun.

Parameter
accountKeyInfos: List<E2eeAccountKeyInfo>

daftar objek E2eeAccountKeyInfo yang berisi informasi kunci kontak enkripsi end-to-end.

updateOrInsertE2eeContactKey

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

Menyisipkan entri baru ke dalam tabel kunci kontak enkripsi end-to-end atau memperbarui entri jika sudah ada. Kunci kontak enkripsi end-to-end yang disisipkan/diperbarui dimiliki oleh aplikasi pemanggil.

API ini juga akan menyimpan nama, nomor telepon, dan alamat email kontak dari Penyedia Kontak, beserta kuncinya. Saat mengambil kunci, aplikasi pengelolaan kontak harus menggunakan informasi ini untuk memastikan bahwa kunci hanya digunakan untuk kontak yang ditujukan untuknya.

Aplikasi Verifikasi Kunci Android menyimpan informasi ini di perangkat dan hanya menunjukkannya kepada pemanggil API yang memiliki izin READ_CONTACTS.

Parameter
lookupKey: String

nilai yang mereferensikan kontak

deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

keyValue: ByteArray

byte mentah untuk kunci (ukuran maksimum adalah getMaxKeySizeBytes byte)

updateOrInsertE2eeContactKey

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

Menyisipkan entri baru ke dalam tabel kunci kontak enkripsi end-to-end atau memperbarui entri jika sudah ada. Kunci kontak enkripsi end-to-end yang disisipkan/diperbarui dimiliki oleh aplikasi pemanggil.

Untuk setiap kunci penelusuran yang diberikan, API ini juga akan menyimpan nama, nomor telepon, dan alamat email kontak dari Penyedia Kontak, beserta kuncinya. Saat mengambil kunci, aplikasi pengelolaan kontak harus menggunakan informasi ini untuk memastikan bahwa kunci hanya digunakan untuk kontak yang ditujukan untuknya.

Aplikasi Verifikasi Kunci Android menyimpan informasi ini di perangkat dan hanya menunjukkannya kepada pemanggil API yang memiliki izin READ_CONTACTS.

Jika daftar kunci penelusuran kosong, API ini akan menyimpan kunci yang tidak terkait dengan kontak mana pun.

Memanggil API ini dengan satu atau beberapa kunci penelusuran akan memperbarui metadata kunci untuk mengaitkannya dengan kontak yang diberikan, tetapi tidak akan menghapus pengaitan yang ada untuk kontak yang tidak diberikan dalam daftar. Untuk menghapus atribusi antara kontak dan kunci, panggil removeE2eeContactKey dengan kunci penelusuran yang sesuai.

Parameter
lookupKeys: List<String>

daftar kunci penelusuran CP2 yang berpotensi kosong yang mereferensikan kontak yang terkait dengan kunci

deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

keyValue: ByteArray

byte mentah untuk kunci (ukuran maksimum adalah getMaxKeySizeBytes byte)

updateOrInsertE2eeSelfKey

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

Menyisipkan entri baru ke dalam tabel kunci mandiri enkripsi end-to-end atau memperbarui entri jika sudah ada.

Parameter
deviceId: String

ID yang ditentukan aplikasi untuk perangkat

accountId: String

ID yang ditentukan aplikasi untuk akun

keyValue: ByteArray

byte mentah untuk kunci (ukuran maksimum adalah getMaxKeySizeBytes byte)