Google Home Sample App for Matter uses the Google Home Mobile SDK to create an Android app that's similar to Google Home app (GHA) . This sample app provides the following features:
- コミッション(物理、仮想) Matter devices to the Local Android fabric
- 物理デバイスと仮想デバイスを開発ファブリックに委託する
- 開発用ファブリック上のデバイスを操作する(照明をオンにするなど)
- マルチ管理者機能を使用すると、開発ファブリックのデバイスを他のアプリと共有でき、逆に、他のアプリから共有された開発ファブリック デバイスを含めることができます。
- デベロッパー ユーティリティ
このガイドでは、Sample App for Matter APK をインストールし、その APK を使用して Matter デバイスのコミッション、制御、共有を行う方法について説明します。
ソースコードをダウンロードするには、Mobile SDK を統合し、Android Studio で画面をカスタマイズする方法を学習します。Sample App for Matter Codelab をお試しください。
Sample App for Matter Codelab に移動
Prerequisites
- テストに利用できる Android O(8.1、API レベル 27)以降のデバイス。お使いのデバイスの 最新のMatterサポートを確認するには、 確認 Matterモジュールとサービス をご確認ください。
- オン/オフ機能を備えた Matter デバイスをビルドします。このサンプルアプリは、仮想デバイスと ESP32 で動作します。
rootnode_dimmablelight_bCwGYSDpoe
アプリで Matter 仮想デバイスを構築します。 Google Home Developer Console で Matter 統合を作成する場合は、ベンダー ID として0xFFF1
、プロダクト ID として0x8000
を使用します。all-clusters-app
を使用して Espressif デバイスをビルドします。 Developer Console で Matter 統合を作成するときは、ベンダー ID として0xFFF1
、プロダクト ID として0x8001
を使用します。
ハブは不要(例: Google Nest Hub (2nd gen) , to commission and control devices with the Sample App for Matter.)
インストール
Sample App for Matter GitHub リポジトリの [リリース] セクションに移動します。
GHSAFM-1.4.1-default-debug.apk
という名前の APK を見つけます。targetcommissioner
は選択しないでください。Android Debug Bridge(adb)をインストールします。
Android デバイスを USB で接続して File Transfer を有効にし、APK をインストールします。
$ adb unroot && adb install GHSAFM-1.4.1-default-debug.apk
コミッション デバイス
サンプルアプリを初めて起動すると、 Sample App for Matter Codelab へのリンクが記載されたダイアログが表示されます。[今後このメッセージを表示しない] を選択した場合、アプリの管理セクションで設定を変更して、いつでもダイアログに戻すことができます。
次のステップでは、Matter デバイスをローカル Android ファブリックに追加するとともに、サンプルアプリ専用のローカル開発ファブリックを追加します。
Matter ファブリックとは
ファブリックは、ホーム ネットワーク内のデバイス間で共有される信頼ドメインであり、デバイスが相互に通信できるようにします。
デバイスは、相互に連携するプラットフォーム、アプリ、デバイスのグループに対応する 1 つ以上のファブリックを持つことができます。ファブリックには一意の ID があり、デバイスは同じ認証情報セットと認証局(CA)を共有します。これらの認証情報は、Matter の試行時に割り当てられます。
Matter デバイスをコミッションする手順は次のとおりです。
[
デバイスを追加] ボタンをタップしてコミッション プロセスを開始します。次に、コントロールが Google Play services , which is launched from a call to the Mobile SDK. To establish proof of possession, Scan QR code or tap Use pairing code. に転送されます。
コミッションが完了したら、デバイス名を入力して、[完了] をタップします。
これで、デバイスがローカル Android ファブリックと開発ファブリックに接続されました。
デバイスを委託する際には、Play services の委託作業と関連画面をすべて処理します。これにより、一貫したユーザー エクスペリエンスが実現し、Wi-Fi や Thread 認証情報などの機密性の高い権限を処理する必要がなくなります。
デバイスを操作する
開発ファブリックは、サンプルアプリから Matter デバイスを制御するための認証情報を作成します。
ホーム画面でデバイスのオンとオフを切り替えることができます。デバイスの詳細にアクセスするには、デバイスをタップします。
デバイスを共有する
デバイスの共有は、Matter の仕様で複数管理者のフローと呼ばれます。デバイスがサンプルアプリに commit されると、他のエコシステムと簡単に共有できます。
Matter デバイスを他のエコシステムと共有するには、Android デバイスに別のプラットフォームをインストールする必要があります。この外部プラットフォームがターゲット コミッショナーになります。ターゲットのコミッショナーとして使用できるサンプルアプリの別のインスタンスを作成しました。
Sample App for Matter GitHub リポジトリの [リリース] セクションに移動します。
GHSAFM-[version]-targetcommissioner
という名前の最新の APK を見つけます(例:GHSAFM-1.4.1-targetcommissioner-debug.apk
)。移行先のコミッショナーをインストールします。
$ adb unroot && adb install GHSAFM-1.4.1-targetcommissioner-debug.apk
ホーム画面でデバイスをタップして、デバイス情報を表示します。[共有] をタップします。
サンプルアプリが Mobile SDK Share API を呼び出し、再度 Play services にコントロールが転送されます。
共有シートが表示され、デバイスのペア設定先となるアプリまたはプラットフォームを選択できます。この画面では、次の 2 つの方法でデバイスを共有できます。
- 移行先のコミッショナー アプリと共有する設定コードを手動で入力する
- Matter のコミッショナーとして登録されているローカル Android アプリを使用する
移行先のコミッショナー アプリには GHSAFM-TC というラベルが付いています。サンプルアプリのこのインスタンスをタップして、デバイスを共有します。
次に、外部アプリ(ターゲット コミッショナー)が独自のファブリックへのデバイスのコミッションを完了します。
設定
ホーム画面で、設定アイコン
をクリックします。ここで、ユーザー設定の更新、ヘルプの表示、アプリの詳細の確認を行うことができます。ハーフシート通知
[設定] 画面では、Matter デバイスの事前コミッション通知を自動的に無効にするように設定できます。
独自の Matter 検出フローまたはコミッショニング フローをアプリケーションで提供している場合は、中断を回避するために、これらの通知を抑制することをおすすめします。詳細については、コミッションを基にした検出通知を抑制するをご覧ください。
デベロッパー ユーティリティ
設定画面から [デベロッパー ユーティリティ] にアクセスすることもできます。
Logcat でデバイスとユーザーの設定の DataStore リポジトリの内容を確認するには、次の手順を行います。
[Log repositories content] をクリックします。
ダイアログの [OK] をクリックし、[Logcat] をオンにします。
フィードバックやご質問
Sample App for Matter での開発エクスペリエンスの改善に関するご意見やフィードバックがございましたら、フィードバック フォームでお寄せください。
Sample App for Matter に問題がある場合は、以下の手順を実行して環境を確認してください。
サンプルアプリの使用についてご不明な点がある場合や、コードのバグを発見した場合は、GitHub リポジトリで Issue Tracker に問題を報告できます。
技術的な質問について Google からの公式ガイダンスを入手するには、スマートホーム デベロッパー フォーラムを使用してください。
コミュニティからテクニカル サポートを利用するには、Stack Overflow の google-smart-home
タグを使用します。