Google Home のサンプルアプリ

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

Google Home Sample App for MatterGoogle 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 に移動

前提条件

Matter 用サンプルアプリを使用してデバイスをコミッション して操作する場合、Sample App for Matterなどのハブは必要ありません。Google Nest Hub (2nd gen)

インストール

  1. [Releases section] の GitHub リポジトリに移動します。Sample App for Matter最新リリースについては、[Assets] セクションで APK という名前の GHSAFM-version-default-debug.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 へのリンクを含むダイアログが表示されます。 [今後このメッセージを表示しない] を選択した場合は、アプリの [Admin] セクションで設定を更新することで、いつでもダイアログを再度表示できます。

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

Matter ファブリックとは

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

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

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

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

  1. [Add Device] ボタンをタップして、コミッション プロセスを開始します。

    デバイスを追加

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

    QR コードをスキャン

  3. コミッションが完了したら、[Device Name] に名前を入力し、[Done] をタップします。

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

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

デバイスを操作する

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

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

デバイスを追加しました

デバイス共有

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

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

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

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

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

    デバイスを共有

サンプルアプリが Mobile SDK Share API を呼び出すと、 制御が Play services に転送されます。

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

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

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

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

設定

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

設定

ハーフシート通知

[Settings] 画面で、Matter デバイスのプロアクティブなコミッション可能な検出通知を無効にできます。

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

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

[Settings] 画面から、[Developer utilities] にアクセスすることもできます。

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

  1. [Log repositories content] をクリックします。

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

フィードバックやご質問

Matter 用サンプルアプリでの開発 エクスペリエンスの改善点など、ご意見やフィードバックがありましたら、フィードバック フォームにご記入ください。Sample App for Matter

フィードバックを送信する

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

サンプルアプリの使用についてご不明な点がある場合や、コードのバグを発見した場合は、GitHub リポジトリの Issue Tracker に問題を送信してください。

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

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