インテントに基づく Matter のコミッショニング

一方、Matter SDK には、Matter のコミッショニングを開始するための Task ベースの API が用意されています。 結果を監視し 必要に応じて QR コードのみのエントリ ポイントが 必要ありません。たとえば、汎用のカメラアプリから、 画面に QR コードが表示されたら、試運転を開始するショートカットを ビューファインダーです。

続行する前に、 前提条件を満たしている。

Matter の QR コード

Matter QR コードの一般的な形式 MT:Y3.13OTB00KA0648G00MT: 接頭辞は定数、接尾辞は アルファベット [A-Z0-9.-] を使用して Base 38 でエンコードされた文字列。接尾辞は、 19 文字以上になりますが、それより長くなることもあります。

QR コードが Matter の QR コードを表しているかどうかは、 次の正規表現を使用します。

fun isMatterQrCode(value: String): Boolean {
  return value.matches(Regex("""MT:[A-Z0-9.-]{19,}"""))
}

たとえば、次の QR コードは MT:Y3.13OTB00KA0648G00 を表します。

Matter の QR コードの例

インテントの形式

この QR コード形式を URI として使用して、コミッショニング フローを開始できます。 ACTION_VIEWdata で指定された URI、およびIntent ターゲット パッケージが 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
  }
}

サンプルアプリ

このサンプルアプリでは、以下の場合に Matter デバイスのコミッショニングを開始する方法を紹介します。 カメラのビューファインダーに Matter 準拠の QR コードが表示されます。

ダウンロード インテント ベースのコミッショニング サンプルアプリ

このサンプルアプリのコードでは、次の Android ライブラリを使用しています。

以下のドキュメントも、このために記述されたコードの理解に役立ちます。 サンプルアプリ:

用途

アプリが起動すると、カメラのプレビューが画面に表示されます。QR コードが が検出されると、そのデバイスを検出すると、 その Matter デバイスのコミッショニングを行う必要があります。

カメラ プレビュー 1 カメラ プレビュー 2

コミッショニングが確定すると、[App Picker]対応する Google Home Mobile SDK をリリースしました。

アプリ選択ツールに最初に、一連のデフォルトのコミッショニング アプリケーションが表示されます(たとえば、1 つ目のスクリーンショットに示されている Google Home アプリなど)。[他のアプリを選択] をタップすると、Google Home Mobile SDK のコミッショニング フローに対応している他のアプリが表示されます(2 番目のスクリーンショットを参照)。

アプリを選択する - GHA アプリを選択 - その他のアプリ

次に、選択されたアプリが起動され、デバイスのコミッショニングが実行されます。