Meskipun Matter SDK menyediakan API berbasis Task
untuk memulai commissioning Matter
dengan berbagai parameter, mengamati hasilnya, dan jika ingin, menambahkan
kredensial, ada situasi di mana titik
masuk hanya kode QR
diperlukan. Misalnya, dari aplikasi kamera
umum yang ingin
menyediakan jalan pintas untuk memulai commissioning ketika kode QR terlihat di
jendela bidik.
Sebelum melanjutkan, pastikan semua Prasyarat telah terpenuhi.
Kode QR Matter
Kode QR Matter bersifat umum
MT:Y3.13OTB00KA0648G00
, yang awalan MT:
-nya berupa konstanta, dan akhirannya
adalah string berenkode basis 38 yang menggunakan alfabet [A-Z0-9.-]
. Akhiran harus
selalu berisi minimal 19 karakter, tetapi bisa juga lebih panjang.
Menentukan apakah kode QR mewakili kode QR Matter dapat dilakukan dengan mengikuti ekspresi reguler di Java:
fun isMatterQrCode(value: String): Boolean { return value.matches(Regex("""MT:[A-Z0-9.-]{19,}""")) }
Misalnya, kode QR berikut mewakili MT:Y3.13OTB00KA0648G00
:
Format Intent
Format kode QR ini dapat digunakan sebagai URI untuk memulai alur commissioning dengan
mengirim Intent
dengan ACTION_VIEW
, URI yang ditentukan dalam data
, dan
paket target yang ditetapkan ke Layanan Google Play:
fun startCommissioning(context: Context, qrCodeString: String): Boolean {
val intent =
Intent(Intent.ACTION_VIEW)
.setData(Uri.parse(qrCodeString))
.setPackage("com.google.android.gms")
try {
context.startActivity(intent)
return true
} catch (ex: ActivityNotFoundException) {
// Supporting Play Services version not available.
return false
}
}
Aplikasi contoh
Aplikasi contoh ini menunjukkan cara memulai commissioning perangkat Matter saat Kode QR yang sesuai dengan Matter akan terlihat di jendela bidik kamera.
Unduh aplikasi contoh Commissioning berbasis Intent
Kode dalam aplikasi contoh ini memanfaatkan library Android berikut:
Dokumen-dokumen berikut juga berguna untuk memahami kode yang ditulis untuk aplikasi contoh:
Penggunaan
Saat aplikasi dimulai, pratinjau kamera akan ditampilkan di layar. Saat kode QR untuk perangkat Matter terdeteksi, dialog akan ditampilkan untuk mengonfirmasi apakah proses commissioning untuk perangkat Matter tersebut harus dilakukan:
Jika komisi dikonfirmasi, "Pemilih Aplikasi" didukung oleh Google Home Mobile SDK diluncurkan.
Pemilih Aplikasi awalnya menampilkan kumpulan aplikasi commissioning default (misalnya, aplikasi Google Home seperti yang ditunjukkan pada screenshot pertama). Jika seseorang mengetuk "Pilih aplikasi lain", aplikasi lain yang mendukung alur komisi Google Home Mobile SDK akan ditampilkan (lihat screenshot kedua).
Aplikasi yang dipilih kemudian diluncurkan untuk menjalankan commissioning perangkat.