Commissioning berbasis intent untuk Matter

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:

Contoh kode QR Matter

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:

pratinjau kamera 1 pratinjau kamera 2

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).

Pilih aplikasi - GHA Pilih aplikasi - Aplikasi lainnya

Aplikasi yang dipilih kemudian diluncurkan untuk menjalankan commissioning perangkat.