Android Studio 用 Google Home プラグイン

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

Android Studio 用 Google Home プラグイン

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

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

  1. [ファイル]、[設定...] の順にクリックします。
  2. [Appearance & Behavior] で [System Settings] を開き、[Passwords] をクリックします。
  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 メッセージが表示されます。

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

Cloud Logging ビュー

バッチ発話

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

  • 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. [ログイン] で [Google] をクリックしてブラウザを起動します。

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

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

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

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

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

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

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

プロジェクトの選択

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

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

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

発話パネルを開く

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 パネルで [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."

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

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

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

Cloud Logging を表示する

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

Cloud Logging タブ

検索キーワード

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

Cloud Logging クエリ

[Use QL] を選択して Logging のクエリ言語を使用します。

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"

日時クエリ

日付によるログのクエリも省略可能です。[] と [] をクリックして有効にできます。指定されたテキスト フィールドに日付と時刻の形式を入力します(例: 5/11/22, 12:37 PM)。日付選択ツール を使用して日付を選択し、テキスト フィールドに時刻を入力することもできます。

  • 5/1/22 より後の日付を選択するには、[] を選択し、日付アイコン をクリックします。
  • 5/1/22 より前の日付を選択するには、[] を選択し、日付アイコン をクリックします。
  • 5/1/226/30/22 の日付を選択するには、[] と [] を選択し、日付アイコン から日付を選択します。

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

重大度

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

クエリ結果

[ 取得] をクリックして、クエリ パラメータを送信します。

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

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

Cloud Logging を表示する

ホームグラフの表示とテストの実行

デバイスを一覧表示するには、[Google Home Plugin] パネルで [ホームグラフ] を選択します。

[更新] をクリックして、選択したプロジェクトに関連付けられているデバイスのデバイス名デバイス IDデバイスの種類を表示します。個別のプロジェクトに対して複数の Google Home Graph パネルを開くことができます。

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

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

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

ホームグラフの開閉 JSON

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

ホームグラフのテスト実行

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

ホームグラフの完了したテスト

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

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

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

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

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

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

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

Adb Log Viewer

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

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

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

フィードバックを送信