Android Studio 用 Google Home プラグイン

Matter ; Home APIs

Google Home Plugin for Android Studio は、Google Home プラットフォームを使用するデベロッパー向けに設計されています。このプラグインを使用すると、Google Assistant Simulator や Cloud Logging といったツールにアクセスし、スマートホームの開発プロセスを簡素化できます。

Android Studio 用 Google Home プラグイン

セキュリティに関するお知らせ

Android Studio がシークレットとパスワードを保存しないようにするには、次の操作を行います。

  1. [ファイル] をクリックし、[設定...] をクリックします。
  2. [外観と動作] で [システム設定] を展開し、[パスワード] をクリックします。
  3. [Do not save, forget passwords after restart.] を選択します。
Android Studio 用 Google Home プラグイン

機能

アシスタント シミュレータ

スマートホーム デバイスが Google Home エコシステムで正常に動作するかどうかをテストするには、Android Studio を離れずにいつでも Assistant Simulator を操作できます。

Assistant Simulator では、クエリ(たとえば「照明をつけて」)を入力することで簡単にデバイスを操作できます。Android Studio 内で、Assistant Simulator はコマンドに基づいてテキスト メッセージ(たとえば「はい、照明をつけます」)で応答します。

アシスタント シミュレータでテストする

Cloud Logging を表示する

Google Cloud Logging は、アクションの使用状況を分析するためのデバッグ情報と主要指標を提供します。Google Home Plugin では、効率的な開発を可能にするため、トラブルシューティング中のコードの横にリアルタイムの Cloud Logging メッセージが表示されます。

リアルタイム ログを表示するか、期間を選択できます。

クラウドログビュー

Batch Utterances

単一の発話に対する Assistant Simulator レスポンスは決定的ではありません。たとえば、応答は次のフレーズのいずれかになります。

  • わかりました。ライトを 2 つ点灯します。
  • はい、ライトを 2 つ点灯します。
  • 了解しました。2 個のライトを点灯します。
  • はい、2 つの照明をつけます。

自動テストを実行して、Google 統合がこれらのさまざまなレスポンスでどのように機能するかを確認するには、発話スクリプトを実行して、Assistant Simulator にバッチ発話を送信します。スクリプトを保存すると、レスポンスを収集して、クエリに対して複数のテストを実行できます。

ホームグラフ ビューア

Home Graph Viewer を使用すると、デバイスの状態を表示し、ブラウザで Google Home Test Suite を起動できます。

Android Debug Bridge(adb)ログビューア

Adb Log Viewer は、Matter デバイスログファイル、Google Home ログ、Android ログなどのログファイルを表示して分析するツールです。

インストール

Android StudioGoogle Home Plugin をインストールする手順は次のとおりです。

  1. Android Studio をダウンロードまたは更新します。 Android Studio をダウンロードするをご覧ください。
  2. [File] > [Settings](macOS では Android Studio > [Preferences])に移動します。
  3. [Plugins] セクションで [Marketplace] に移動し、google home を検索します。
  4. ツールをインストールして Android Studio を再起動します。

このプラグインは、JetBrains Marketplace から直接ダウンロードすることもできます。

セットアップ

プラグインをインストールしたら、Assistant Simulator を使用して Cloud Logging を表示する前に、次の手順を完了する必要があります。

Google でログイン

Google Home パネルからデベロッパー アカウントにログインし、Android Studio と Google サービス間の通信を承認します。

  1. Android Studio ウィンドウの左側にある縦のタブ列で [Google Home] タブをクリックします。

  2. [Sign in with] で [Google] をクリックすると、ブラウザが起動します。

    Android Studio での Google ログイン
  3. スマートホーム デバイスにリンクしているアカウントを選択します。

  4. [Sign in with Google] の認証ページで、[Allow](許可)をクリックします。

  5. ブラウザ ウィンドウを閉じて、Android Studio に戻ります。

これでログインが完了し、[ログアウト] オプションが表示されます。

Cloud プロジェクトを選択する

ログインしたら、プルダウンから [プロジェクト] を選択します。プロジェクト リストをフィルタするには、フィルタ式(matter など)を入力し、Enter を押します。

[プロジェクト] プルダウンには、フィルタに基づいて最初の 100 個のプロジェクトが読み込まれます。選択内容は Android Studio を終了しても保持されます。

プロジェクトの選択

プロジェクト フィルタについては、Google Cloud リファレンスのクエリ パラメータをご覧ください。

アシスタント シミュレータを使用する

Android StudioAssistant Simulator を開くには、Google Home Plugin パネルで [Utterances Panel] をクリックします。

発話パネルを開く

Assistant Simulator にクエリを送信する方法はいくつかあります。次に、各オプションについて説明します。

クエリを入力して回答を収集する

Assistant Simulator とやり取りするには、クエリを入力して Enter キーを押します。

クエリの末尾にある 再送信アイコンをクリックすると、クエリを再送信できます。

1 つ以上のクエリを送信したら、 [再生] をクリックしてクエリを再実行し、レスポンスを確認します。[発言] パネルでは、クエリとレスポンスが保存されたキャッシュに記録されます。Replay は、新しいレスポンスのみをこの内部キャッシュに追加し、ボタンをクリックするたびにクエリを複製することはありません。

アシスタント シミュレータで発話を再生する

[保存] をクリックして、[発話] パネルに入力したクエリとレスポンスを保存します。インタラクションは、次の形式の JSON に変換されます。

  • ask: クエリ。
  • answers: 可能な配列Assistant Simulator応答。

この JSON ファイルは Android Studio で編集できます。

{
  "collected": false,
  "lines": [
    {
      "ask": "turn lights on",
      "answers": [
        "OK, turning 2 lights on.",
        "Sure, turning on 2 lights."
      ]
    }
  ]
}

バッチ レスポンスを収集する

Google Home Plugin パネルで [Utterances File] をクリックして、保存した JSON ファイルを新しいタブで開きます。[パスを選択] で、ファイルまたはフォルダを選択できます。フォルダを選択すると、[収集] と [テスト] は、そのフォルダ内のすべての発話 .json ファイルで動作します。

同じファイルまたは異なるファイル(lightslights(1)plug など)の複数のタブを開くことができます。

ステータスバーには、前回のテストの結果(該当する場合)、ファイルが収集されたかどうかを示す黄色または緑色の丸、発話 .json ファイルのパスが表示されます。[収集] をクリックすると、Assistant Simulator がクエリを実行します。新しい回答が収集されると通知が届き、クエリの処理中はステータスバーにカウンタが表示されます。

アシスタント シミュレータで発話文を収集する

収集が完了すると、ステータスバーが更新され、.json パスの前に緑色のチェックマークが表示されます。また、発話ファイルに考えられるレスポンスが入力されます。

アシスタント シミュレータで発話文を収集する
{
  "collected": true,
  "lines": [
    {
      "ask": "turn lights on",
      "answers": [
        "OK, turning 2 lights on.",
        "Sure, turning on 2 lights.",
        "Sure, turning 2 lights on.",
        "Got it, turning 2 lights on.",
        "Alright, turning on 2 lights.",
        "OK, turning on 2 lights.",
        "Got it, turning on 2 lights.",
        "Alright, turning 2 lights on."
      ]
    }
  ]
}

コレクションを途中で停止すると、.json パスは収集済みとしてマークされません。

バッチ発話をテストする

レスポンスを収集したら、 [テスト] をクリックしてクエリを再生し、レスポンスとログを確認します。バッチ発話のテストでは、Assistant Simulator は JSON ファイルに保存されたレスポンスを想定しています。テストで収集されていないレスポンスが返された場合は、次のようなレスポンスに似た通知が届きます。

Expected one of: "Got it, turning on 2 lights."

アシスタント シミュレータで発話を実行する

このシナリオは、テストが成功しなかったことを示しています。それ以外の場合、Assistant Simulator は各クエリを実行してレスポンスを返します。テストが成功すると、ステータスバー チェックが表示されます。

アシスタントシミュレーターで発話を実行する

Cloud Logging を表示する

Cloud Logs ツール ウィンドウでプロジェクト タブを開くには、Google Home Plugin パネルの [Cloud Logs] をクリックします。プロジェクトごとに個別の Cloud Log タブを開くことができます。

クラウドログタブ

検索キーワード

選択したプロジェクトでは、[クエリ] フィールドを使用してログをフィルタリングすることもできます。 たとえば、キーワード light のログをフィルタリングするには、次のようにします。

Cloud Logging のクエリ

Logging クエリ言語を使用するには、[QL を使用する] を選択します。

Cloud Logging クエリ言語

始める際に役立つ QL クエリの例をいくつか示します。

severity = (DEBUG OR INFO OR NOTICE OR WARNING OR ERROR OR CRITICAL OR ALERT OR EMERGENCY) AND resource.type="assistant_action_project" AND timestamp > "2022-04-07T00:40:18Z"
jsonPayload.executionLog.executionResults.actionResults.action.trait = "TRAIT_ON_OFF"
jsonPayload.executionLog.executionResults.actionResults.action.actionType = "ONOFF_ON"

日付と時刻のクエリ

日付によるログのクエリもオプションであり、[After] と [Before] をクリックして有効にできます。テキストフィールドに日付と時刻の形式を入力できます。例:5/11/22, 12:37 PMまたは日付ピッカーを使用することもできます日付を選択し、テキスト フィールドに時刻を入力します。

  • 5/1/22 より後の日付を選択するには、[] を選択して、日付アイコン をクリックします。
  • 以前の日付を選択するには5/1/22、選択前に日付アイコンをクリックします
  • 日付を選択するには5/1/22そして6/30/22、選択前にそして日付アイコンから日付を選択してください

ライブ プロジェクト ログを取得するには、[リアルタイム] を選択します。リアルタイム フィードを終了するには、[停止] をクリックします。

重大度

プルダウンから最小の重大度を選択することもできます。

クエリ結果

クリック フェッチクエリパラメータを送信します。

ログが読み込まれたら、任意のレコードをクリックします完全な JSON ペイロードを展開します。もう一度クリックメッセージ全体を表示します。

必要に応じて、[フィルタ] ボックスにキーワードを入力して、ログの結果を絞り込むことができます。クリックxフィルターを削除して元の取得結果に戻ります。

Cloud Logging を表示する

ホームグラフを表示してテストを実行する

デバイスを一覧表示するには、Google Home Plugin パネルから [Home Graph] を選択します。

クリック リフレッシュ表示するにはデバイス名デバイス ID 、 そしてデバイスタイプ選択したプロジェクトに関連付けられているデバイスの。複数持つことも可能Google Home Graph個別のプロジェクト用のパネルが開きます。

デバイスが読み込まれたら、任意のレコード をクリックして JSON ペイロードを展開します。

ホームグラフ JSON ペイロード

また、[展開] と [折りたたみ] を使用して、デバイスの JSON ペイロードを表示したり非表示にしたりすることもできます。

ホームグラフの展開と折りたたみ JSON

特定のデバイスのテストスイートを起動するには、[テスト] をクリックします。これにより、デバイスが選択されテストの準備が整った状態で、ブラウザでテスト スイートが起動します。[開始] をクリックし、テスト結果を待ちます。

ホームグラフ実行テスト

テストが完了すると、テストの詳細を確認してログを表示できます。

ホームグラフ完了テスト

Android Debug Bridge(adb)ログビューア

Adb Log ツール ウィンドウでプロジェクト タブを開くには、Google Home プラグインのツールバー(左側)にある Adb Log コマンドをクリックします。ログファイルごとに個別の [Adb Log] タブを開くことができます。タブを削除するには、 アイコンをクリックします。

[選択] フィールドを使用して、表示する特定のロギング コンポーネントを選択します。また、[重大度] プルダウンを使用して、一致するログの重大度のエントリのみを表示します。

選択した adb ログでは、[フィルタ] フィールドを使用してログエントリをフィルタできます。必要に応じて、[大文字と小文字を区別] または [正規表現] の修飾子を使用できます。

さらに、次のことが可能です。

  • [検索] フィールドと [次を検索]( アイコン)、[前を検索]( アイコン)コマンドを使用して、特定のエントリを検索します。
  • 必要に応じて、[大文字と小文字を区別する] または [正規表現] 修飾子を使用します。
  • [Jump to line] を使用して、ログ内の指定した行(番号で指定)に移動します。

[番号付き] を選択すると、行番号が追加されたログ行が表示されます。[Raw] を選択して、未加工のログエントリを表示します。

Adb Log Viewer

リソースとフィードバック

[リソース] をクリックすると、デベロッパー ツールとリソースのリストが表示されます。

Google Home Plugin での開発の改善点など、ご意見やフィードバックがありましたら、[フィードバック] をクリックしてください。

フィードバックを送信