一方、Matter SDK には、Matter のコミッショニングを開始するための Task
ベースの API が用意されています。
結果を監視し 必要に応じて
QR コードのみのエントリ ポイントが
必要ありません。たとえば、汎用のカメラアプリから、
画面に QR コードが表示されたら、試運転を開始するショートカットを
ビューファインダーです。
続行する前に、 前提条件を満たしている。
Matter の QR コード
Matter QR コードの一般的な形式
MT:Y3.13OTB00KA0648G00
(MT:
接頭辞は定数、接尾辞は
アルファベット [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
を表します。
インテントの形式
この QR コード形式を URI として使用して、コミッショニング フローを開始できます。
ACTION_VIEW
、data
で指定された 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 デバイスのコミッショニングを行う必要があります。
コミッショニングが確定すると、[App Picker]対応する Google Home Mobile SDK をリリースしました。
アプリ選択ツールに最初に、一連のデフォルトのコミッショニング アプリケーションが表示されます(たとえば、1 つ目のスクリーンショットに示されている Google Home アプリなど)。[他のアプリを選択] をタップすると、Google Home Mobile SDK のコミッショニング フローに対応している他のアプリが表示されます(2 番目のスクリーンショットを参照)。
次に、選択されたアプリが起動され、デバイスのコミッショニングが実行されます。