ご案内: 新しいデベロッパー プレビュー プログラムがまもなくリリースされます。こちらからお申し込みのうえ、新しいツールを試してフィードバックをいち早くご利用ください。

Matter 用 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 をインストールし、その APK を使用して Matter デバイスのコミック、コントロール、共有を行う方法について説明します。

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

Sample App for Matter Codelab に移動

Prerequisites

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

インストール

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

    APK をダウンロード

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

    adb をインストールする

  3. Android デバイスを USB に接続し、File Transfer を有効にしてから、APK をインストールします。

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

コミッション デバイス

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

次の手順では、Matter デバイスを、ローカル データ ファブリックとともに、サンプルアプリ専用のローカル ファブリックとして追加します。

Matter ファブリックとは

Matter 用 Google Home サンプルアプリ

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

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

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

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

    デバイスを追加

  2. 次に、制御が Google Play services に転送され、Mobile SDK の呼び出しによって起動されます。本人確認を行うには、[QR コードをスキャン] をタップするか、[ペア設定コードを使用] をタップします。

    QR コードをスキャン

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

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

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

デバイスを操作する

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

ホーム画面でデバイスのオンまたはオフを切り替えることができます。デバイスの詳細にアクセスするには、デバイスをタップします。

デバイスを追加しました

デバイスを共有する

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

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

  1. Sample App for Matter GitHub リポジトリの [リリース] セクションに移動します。GHSAFM-[version]-targetcommissioner という名前の最新の APK を見つけます(例: GHSAFM-1.4.1-targetcommissioner-debug.apk)。

    対象コミッショナーをダウンロード

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

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

    デバイスの共有

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

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

  1. ターゲット コミッショナー アプリと共有する設定コードを手動で追加する
  2. Matter コミッショナーとして登録されているローカル Android アプリの場合

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

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

設定

ホーム画面で、設定アイコン をクリックします。ここでは、ユーザー設定の更新、ヘルプの表示、アプリの詳細情報の確認を行えます。

設定

ハーフシート通知

[設定] 画面では、Matter デバイス用のコミッションによる検出通知を事前に無効にすることを選択できます。

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

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

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

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

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

  2. ダイアログの [OK] をクリックして、[Logcat] をオンにします。

フィードバックやご質問

Sample App for Matter での開発の改善点など、に対するご意見やフィードバックがございましたら、こちらのフィードバック フォームにご記入ください。

フィードバックをお寄せください

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

サンプルアプリの使用について質問がある場合や、コードのバグを発見する場合は、GitHub リポジトリの Issue Tracker に問題を報告してください。

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

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