Meskipun Matter SDK menyediakan API berbasis Task
untuk memulai komisi Matter
dengan parameter yang bervariasi, mengamati hasilnya, dan secara opsional menambahkan
kredensial, ada situasi saat titik entri hanya kode QR yang
diperlukan. Misalnya, dari aplikasi kamera umum yang ingin
memberikan pintasan untuk memulai commissioning saat kode QR terlihat di
finder.
Sebelum melanjutkan, pastikan semua Prasyarat telah terpenuhi.
Kode QR Matter
Kode QR Matter menggunakan bentuk umum
MT:Y3.13OTB00KA0648G00
, dengan awalan MT:
adalah konstanta, dan akhiran
adalah string yang dienkode basis 38 menggunakan alfabet [A-Z0-9.-]
. Akhiran harus
selalu minimal 19 karakter, tetapi juga dapat lebih panjang.
Menentukan apakah kode QR mewakili kode QR Matter dapat dilakukan dengan ekspresi reguler berikut 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 komisi 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 mulai mengaktifkan perangkat Matter saat kode QR yang kompatibel dengan Matter terlihat di jendela bidik kamera.
Download aplikasi contoh Komisi berbasis Intent
Kode dalam aplikasi contoh ini memanfaatkan library Android berikut:
Dokumen berikut juga berguna untuk memahami kode yang ditulis untuk aplikasi contoh ini:
Penggunaan
Saat aplikasi dimulai, pratinjau kamera akan ditampilkan di layar. Saat kode QR untuk perangkat Matter terdeteksi, dialog akan ditampilkan untuk mengonfirmasi apakah commissioning untuk perangkat Matter tersebut harus dilakukan:
Jika komisi dikonfirmasi, "App Picker" yang didukung oleh Google Home Mobile SDK akan diluncurkan.
Pemilih Aplikasi awalnya menampilkan serangkaian aplikasi commissioning default (misalnya, aplikasi Google Home seperti yang ditampilkan pada screenshot pertama). Jika pengguna mengetuk "Pilih aplikasi lain", aplikasi lain yang mendukung alur commissioning Google Home Mobile SDK akan ditampilkan (lihat screenshot kedua).
Aplikasi yang dipilih kemudian diluncurkan untuk melakukan commissioning perangkat.