Matter 向け Google Home サンプルアプリ

Google Home Sample App for Matter

Google Home Sample App for Matter は、Google Home Mobile SDK を使用して、Google Home app (GHA) に似た Android アプリを作成します。このサンプルアプリには、次の機能があります。

  • 物理および仮想の Matter デバイスをローカル Android ファブリックにコミッショニングする
  • 物理デバイスと仮想デバイスを開発ファブリックにコミッショニングする
  • 開発ファブリック上のデバイスを制御する(ライトを点灯するなど)
  • マルチ管理機能を使用すると、開発ファブリック上のデバイスを他のアプリと共有できます。逆に、他のアプリから共有されたデバイスを開発ファブリックに含めることもできます。
  • デベロッパー ユーティリティ

このガイドでは、Sample App for Matter APK をインストールし、それを使用して Matter デバイスをコミッショニング、制御、共有する方法について説明します。

ソースコードをダウンロードし、Mobile SDK を統合する方法と、Android Studio で画面をカスタマイズする方法を学ぶには、Sample App for Matter Codelab をお試しください。

Sample App for Matter Codelab に移動

前提条件

  • テストに使用できる Android O(8.1、API レベル 27)以降のデバイス。デバイスに最新の Matter サポートが搭載されていることを確認するには、Matter モジュールとサービスを確認するガイドをご覧ください。
  • オン/オフ機能を備えた Matter デバイスを構築します。このサンプルアプリは、仮想デバイスと ESP32 で動作します。

Sample App for Matter でデバイスをコミッショニングして操作するために、Google Nest Hub (2nd gen) などのハブは必要ありません。

インストール

  1. Sample App for Matter GitHub リポジトリのリリース セクションに移動します。最新のリリースについては、[Assets] セクションで GHSAFM-version-default-debug.apk という名前の APK を見つけます。targetcommissioner は選択しないでください。

  2. Android Debug Bridge(adb)をインストールします。

    adb をインストールする

  3. Android デバイスを USB で接続し、ファイル転送を有効にしてから、APK をインストールします。

    $ adb unroot && adb install GHSAFM-version-default-debug.apk
    

デバイスをコミッショニングする

サンプルアプリを初めて起動すると、Sample App for Matter Codelab へのリンクを含むダイアログが表示されます。[今後このメッセージを表示しない] を選択した場合でも、アプリの管理セクションで設定を更新すれば、いつでもダイアログを再度表示できます。

次のステップでは、Matter デバイスをローカル Android ファブリックに追加し、サンプルアプリ専用のローカル開発ファブリックも追加します。

Matter ファブリックとは

Google Home Sample App for Matter

Matter ファブリックは、ホーム ネットワーク内のデバイス間で共有される信頼ドメインであり、デバイス間の通信を可能にします。

デバイスには、プラットフォーム、アプリ、または相互にやり取りするデバイスのグループに対応する 1 つ以上のファブリックが存在する場合があります。ファブリックには一意の ID があり、デバイスは同じ認証情報と認証局(CA)を共有します。これらの認証情報は、Matter のコミッショニング中に割り当てられます。

Matter デバイスをコミッショニングする手順は次のとおりです。

  1. [デバイスを追加] ボタンをタップして、コミッショニング プロセスを開始します。

    デバイスを追加

  2. 次に、制御が Google Play services に移ります。これは、Mobile SDK の呼び出しから起動されます。所有権を証明するには、[QR コードをスキャン] または [ペア設定コードを使用] をタップします。

    QR コードをスキャン

  3. コミッショニングが完了したら、[Device Name](デバイス名)を入力し、[Done](完了)をタップします。

デバイスがローカル Android ファブリックと開発ファブリックの両方に接続されました。

デバイスのコミッショニング時に、すべてのコミッショニング作業と関連する画面が Play services によって処理されます。これにより、一貫したユーザー エクスペリエンスが提供され、機密情報に関わる権限(Wi-Fi や Thread の認証情報など)を処理する必要がなくなります。

デバイスを操作

開発ファブリックは、サンプルアプリから Matter デバイスを制御するための認証情報を作成します。

ホーム画面で、デバイスのオン / オフを切り替えることができます。デバイスをタップすると、デバイスの詳細が表示されます。

デバイスを追加しました

デバイス共有

デバイスの共有は、Matter 仕様ではマルチ管理者フローと呼ばれます。デバイスがサンプルアプリにコミッショニングされると、他のエコシステムと簡単に共有できます。

Matter デバイスを他のエコシステムと共有するには、Android デバイスに別のプラットフォームをインストールする必要があります。この外部プラットフォームがターゲット コミッショナーになります。ターゲット コミッショナーとして使用できるサンプルアプリの別のインスタンスを作成しました。

  1. Sample App for Matter GitHub リポジトリのリリース セクションに移動します。最新のリリースについては、[Assets] セクションで GHSAFM-version-targetcommissioner-debug.apk という名前の APK を見つけます。default は選択しないでください。

  2. ターゲット コミッショナーをインストールします。

    $ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
    
  3. ホーム画面でデバイスをタップして、デバイス情報を表示します。[共有] をタップします。

    デバイスを共有

サンプルアプリは Mobile SDK Share API を呼び出し、再び制御が Play services に移ります。

共有シートが表示され、デバイスをペア設定するアプリまたはプラットフォームを選択できます。この画面では、次の 2 つの方法でデバイスを共有できます。

  1. ターゲット コミッショナー アプリと共有するセットアップ コードを使用して手動で行う
  2. Matter コミッショナーとして登録されているローカル Android アプリを使用する

ターゲット コミッショナー アプリには GHSAFM-TC というラベルが付いています。サンプルアプリのこのインスタンスをタップして、デバイスを共有します。

次に、外部アプリ(ターゲット コミッショナー)が、デバイスを独自のファブリックにコミッショニングします。

設定

ホーム画面で、設定アイコン をクリックします。ここでは、ユーザー設定の更新、ヘルプの参照、アプリの詳細の確認を行うことができます。

設定

ハーフシート通知

[設定] 画面で、Matter デバイスのコミッショニング可能なデバイスの検出に関する積極的な通知を無効にできます。

アプリが独自の Matter 検出フローまたはコミッショニング フローを提供している場合は、中断を防ぐためにこれらの通知を抑制することをおすすめします。詳細については、コミッション可能な検出通知を抑制するをご覧ください。

デベロッパー ユーティリティ

[設定] 画面から [デベロッパー ユーティリティ] にアクセスすることもできます。

Logcat でデバイスとユーザー設定の DataStore リポジトリの内容を確認する手順は次のとおりです。

  1. [ログリポジトリのコンテンツ] をクリックします。

  2. ダイアログで [OK] をクリックし、[Logcat] を確認します。

フィードバックやご質問

Sample App for Matter を使用した開発エクスペリエンスの改善方法に関するご意見やフィードバックを送信するには、フィードバック フォームにご記入ください。

フィードバックを送信

Sample App for Matter で問題が発生した場合は、次の手順で環境を確認してください。

サンプルアプリの使用について質問がある場合や、コードのバグを発見した場合は、GitHub リポジトリの Issue Tracker に問題を送信できます。

技術的な質問について Google から公式のガイダンスを入手するには、スマートホーム デベロッパー フォーラムを使用してください。

コミュニティから技術サポートを受けるには、Stack Overflow で google-smart-home タグを使用します。