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

セキュリティに関するお知らせ
Android Studio がシークレットとパスワードを保存しないようにするには、次の手順を行います。
- [File]、[Settings...] の順にクリックします。
- [外観と動作] で [システム設定] を展開し、[パスワード] をクリックします。
- [保存しない、再起動後にパスワードを削除] を選択します。

機能
アシスタント シミュレータ
スマートホーム デバイスが Google Home エコシステムと適切に連携するかどうかをテストするには、Android Studio から離れることなく、いつでも Assistant Simulator を操作できます。
Actions on Google Console コンソールで提供される既存のアシスタント シミュレータと同様に、Assistant Simulator を使用すると、「照明をつけて」などのクエリを入力してデバイスを簡単に操作できます。Android Studio 内で、Assistant Simulator は「はい、照明をつけます」などのコマンドに基づいてテキスト メッセージで応答します。

Cloud Logging を表示する
Google Cloud Logging は、アクションの使用状況を分析するためのデバッグ情報と主要指標を提供します。開発を簡素化するため、Google Home Plugin はトラブルシューティング中にコードの横にリアルタイムの Cloud Logging メッセージを表示します。
ログをリアルタイムで表示したり、期間を指定したりできます。

バッチ発話
1 つの発話に対する Assistant Simulator レスポンスは決定論的ではありません。たとえば、レスポンスは次のいずれかのフレーズになります。
- 2 個の照明をつけます。
- 2 個のライトを点灯します。
- 2 個の照明をつけます。
- 2 個のライトを点灯します。
自動テストを実行して、Google との統合がさまざまなレスポンスとどのように連携するかを確認するには、発話スクリプトを実行してバッチの発話を Assistant Simulator に送信します。スクリプトを保存したら、レスポンスを収集し、クエリに対して複数のテストを実行できます。
ホームグラフ ビューア
ホームグラフ ビューアを使用すると、デバイスの状態を表示し、ブラウザで Google Home テストスイートを起動できます。
Android Debug Bridge(adb)ログビューア
Adb Log Viewer は、ログファイル(Matter デバイスのログファイル、Google Home のログ、Android のログなど)を表示して分析するためのツールです。
インストール
Android Studio に Google Home Plugin をインストールする手順は次のとおりです。
- Android Studio をダウンロードまたは更新します。 Android Studio のダウンロード
- [File] > [Settings](MacOS では Android Studio > [Preferences])に移動します。
- [Plugins] セクションで [Marketplace] に移動し、
google home
を検索します。 - ツールをインストールして Android Studio を再起動します。
このプラグインは、JetBrains Marketplace から直接ダウンロードすることもできます。
セットアップ
プラグインをインストールしたら、Assistant Simulator を使用して Cloud Logging を表示する前に次の手順を行う必要があります。
Google でログイン
Google Home パネルからデベロッパー アカウントにログインし、Android Studio に Google サービスとの通信を許可します。
Android Studio ウィンドウの左側にある [垂直タブ] 列の [Google Home] タブをクリックします。
[ログイン] で [Google] をクリックしてブラウザを起動します。
スマートホーム デバイスにリンクしているアカウントを選択します。
[Sign in with Google] の認証ページで、[Allow](許可)をクリックします。
ブラウザ ウィンドウを閉じて、Android Studio に戻ります。
[ログアウト] オプションが表示されます。
Cloud プロジェクトの選択
ログインしたら、プルダウンから [Project] を選択します。プロジェクト リストをフィルタするには、[フィルタ] の式(matter
など)を入力して、Enter
を押します。
[プロジェクト] プルダウンには、[フィルタ] に基づいて最初の 100 件のプロジェクトが読み込まれます。Android Studio を終了しても、選択内容は保持されます。

プロジェクト フィルタのヘルプについては、Google Cloud リファレンスのクエリ パラメータをご覧ください。
アシスタント シミュレータを使用する
Android Studio で Assistant Simulator を開くには、Google Home Plugin パネルの [発話パネル] をクリックします。

Assistant Simulator にクエリを送信する方法はいくつかあります。次に、各オプションについて説明します。
クエリを入力して回答を収集する
Assistant Simulator を操作するには、クエリを入力して Enter キーを押します。
クエリの最後にある
再送信アイコンをクリックすると、クエリを再送信できます。1 つ以上のクエリを送信したら、[
再生] をクリックしてクエリを再実行し、レスポンスを確認します。発話パネルは、保存されたキャッシュ内のクエリとレスポンスを追跡します。リプレイは、この内部キャッシュに新しいレスポンスを追加するだけで、ボタンをクリックするたびにクエリを複製することはありません。
[
保存] をクリックして、[発話] パネルに入力したクエリとレスポンスを保存します。インタラクションは、次の形式の 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] パネルで [発話ファイル] をクリックして、保存した JSON ファイルを新しいタブで開きます。[パスを選択] で、ファイルまたはフォルダを選択できます。フォルダを選択すると、そのフォルダ内のすべての発話 .json
ファイルを対象として [Collect] と [Test] が機能します。
同じファイルまたは異なるファイルに対して複数のタブを開くことができます(lights
、lights(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 ログタブを開くことができます。

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

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

以下に、使用を開始するために役立つ 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
より前の日付を選択するには、[Before] を選択して日付アイコン をクリックします。5/1/22
~6/30/22
の日付を選択するには、[前] と [後] を選択し、日付アイコン から日付を選択します。
[リアルタイム] を選択すると、ライブ プロジェクト ログを取得できます。[停止] をクリックして、リアルタイム フィードを終了します。
重大度
プルダウンから [最小限の重大度] を選択することもできます。
クエリ結果
[
取得] をクリックして、クエリ パラメータを送信します。ログが読み込まれたら、レコード
をクリックして JSON ペイロードを展開します。もう一度 をクリックして、メッセージ全体を表示します。必要に応じて、[フィルタ] ボックスにキーワードを入力して、ログ結果を絞り込むことができます。x
をクリックしてフィルタを削除し、元の取得結果に戻ります。

ホームグラフを表示してテストを実行する
デバイスを一覧表示するには、Google Home Plugin パネルから [Home Graph] を選択します。
[Google Home Graph パネルを複数開くことができます。
更新] をクリックして、選択したプロジェクトに関連付けられているデバイスのデバイス名、デバイス ID、デバイスタイプを表示します。複数のプロジェクトでデバイスが読み込まれたら、レコード
をクリックして JSON ペイロード全体を展開します。
[展開] と [折りたたむ] を使用して、デバイスの JSON ペイロードの表示と非表示を切り替えることもできます。

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

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

Android Debug Bridge(adb)ログビューア
[Adb Log] ツール ウィンドウでプロジェクト タブを開くには、左側の Google Home プラグイン ツールバーで [Adb Log] をクリックします。ログファイルごとに個別の [Ad Log] タブを開くことができます。タブを削除するには、
アイコンをクリックします。[選択] フィールドを使用して、表示する特定のロギング コンポーネントを選択し、[重大度] プルダウンで、ログの重大度が一致するエントリのみを表示します。
選択した adb ログで、オプションの大文字と小文字を区別または正規表現の修飾子を使用して [Filter] フィールドを使用してログエントリをフィルタリングできます。
さらに、次のことが可能です。
- [Find] フィールドと Find Next( アイコン)および Find Previous( アイコン)コマンドを使用すると、特定のエントリを検索できます。
- オプションの大文字と小文字を区別または正規表現を使用する。
- ログ内の行に移動する: ログ内の指定した行(番号)にジャンプします。
[番号付き] を選択すると、行番号が追加されたログ行が表示されます。[Raw] を選択して未加工のログエントリを表示します。

リソースとフィードバック
[リソース] をクリックして、デベロッパー ツールとリソースのリストを表示します。
Google Home Plugin での開発のエクスペリエンスについて、ご意見やフィードバックがございましたら、[フィードバック] をクリックしてください。
