Meskipun Matter SDK menyediakan API berbasis Task
untuk memulai pemanggilan Matter
dengan berbagai parameter, mengamati hasilnya, dan secara opsional menambahkan kredensial, ada situasi di mana titik entri hanya kode QR
diperlukan. Misalnya, dari aplikasi kamera umum yang ingin menyediakan pintasan untuk memulai komisi saat kode QR terlihat di jendela bidik.
Sebelum melanjutkan, pastikan semua Prasyarat telah terpenuhi.
Kode QR Matter
Kode QR Matter menggunakan bentuk umum
MT:Y3.13OTB00KA0648G00
, dengan awalan MT:
berupa konstanta, dan akhiran
adalah string berenkode 38 dasar menggunakan alfabet [A-Z0-9.-]
. Akhiran harus selalu minimal 19 karakter, tetapi bisa juga lebih panjang.
Menentukan apakah kode QR mewakili kode QR Matter dapat dilakukan dengan regex 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 menggunakan perangkat Matter saat kode QR yang sesuai dengan Matter terlihat di jendela bidik kamera.
Download aplikasi contoh Commissioning 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 komisi untuk perangkat Matter tersebut harus dilakukan:
Jika Commissioning dikonfirmasi, "App Picker" yang didukung oleh Google Home Mobile SDK akan diluncurkan.
Pemilih Aplikasi awalnya menunjukkan kumpulan aplikasi komisi default (misalnya, aplikasi Google Home seperti yang ditampilkan di screenshot pertama). Jika pengguna mengetuk "Pilih aplikasi lain", aplikasi lain yang mendukung alur komisi Google Mobile Mobile SDK akan ditampilkan (lihat screenshot kedua).
Aplikasi yang dipilih kemudian diluncurkan untuk menjalankan komisi perangkat.