Android Studio 用 Google Home プラグイン

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

Android Studio 用 Google Home プラグイン

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

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

  1. [File]、[Settings...] の順にクリックします。
  2. [Appearance & Behavior] で [System Settings] を展開し、[Passwords] をクリックします。
  3. [保存しない、再起動後にパスワードを消去する] を選択します。
Android Studio 用 Google Home プラグイン

機能

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

スマートホーム デバイスが 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 メッセージが表示されます。

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

Cloud Logging ビュー

バッチ発話

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

  • 2 個のライトを点灯します。
  • 2 個のライトを点灯します。
  • 2 個のライトを点灯します。
  • 2 つの照明をつけます。

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

ホームグラフ ビューア

ホームグラフ ビューアを使用すると、デバイスの状態を表示して、ブラウザで Google Home テストスイートを起動できます。

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

adb ログビューアは、Matter デバイス ログファイル、Google Home ログ、Android ログなどのログファイルを表示して分析するためのツールです。

インストール

Google Home PluginAndroid Studio にインストールする手順は次のとおりです。

  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 ホームパネルからデベロッパー アカウントにログインし、Android Studio がユーザーに代わって Google サービスと通信できるようになります。

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

  2. [ログイン] で [Google] をクリックしてブラウザを起動します。

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

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

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

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

Cloud プロジェクトを選択

ログイン後、プルダウンからプロジェクトを選択します。プロジェクト リストをフィルタするには、フィルタ式(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 ファイルを新しいタブで開きます。[Select Path] で、ファイルまたはフォルダを選択できます。フォルダを選択すると、そのフォルダ内のすべての発話 .json ファイルに対して [Collect] と [Test] が実行されます。

同じファイルまたは異なるファイルに複数のタブを開くことができます(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 ログツール ウィンドウでプロジェクト タブを開くには、Google Home Plugin パネルで [Cloud ログ] をクリックします。プロジェクトごとに個別の Cloud Log タブを開くことができます。

Cloud Logging のタブ

検索キーワード

選択したプロジェクトでは、[クエリ] フィールドを使用してログをフィルタリングすることもできます。たとえば、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"

日時クエリ

日付によるログのクエリもオプションです。有効にするには、[次の日付より前] と [次の日付より前] をクリックします。表示されるテキスト フィールドに日付と時刻の形式(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 の展開と折りたたみ

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

ホームグラフ実行テスト

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

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

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

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

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

選択した adb ログでは、[フィルタ] フィールドにオプションの大文字と小文字を区別または正規表現の修飾子を付けると、ログエントリをフィルタリングできます。

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

  • 特定のエントリを検索するには、[検索] フィールド、および次を検索 アイコン)コマンドと前を検索 アイコン)コマンドを使用します。
  • オプションの大文字と小文字を区別する修飾子または Regex 修飾子を使用します。
  • [行に移動] を使用すると、ログ内の特定の行に(番号で)移動できます。

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

ADB ログビューア

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

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

Google Home Plugin を使用して開発エクスペリエンスを改善する方法について、ご意見やフィードバックがある場合は、[フィードバック] をクリックしてください。

フィードバックを送信