Android Studio 用 Google Home プラグイン

Matter ; Home API

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

Android Studio 用 Google Home プラグイン

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

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

  1. [File]、[Settings...] の順にクリックします。
  2. [Appearance & Behavior] で [System Settings] を展開し、 [Passwords] をクリックします。
  3. [Do not save, forget passwords after restart.] を選択します。
Android Studio 用 Google Home プラグイン

機能

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

Android Studio 内から Android Studio を使用することで、スマートホーム デバイスが Google Home エコシステムで適切に機能するかどうかをいつでもテストできます。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に送信します。スクリプトを保存したら、レスポンスを収集し、クエリに対して複数のテストを実行できます。

ホームグラフ ビューア

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

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

adb ログビューアは、ログファイル( 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] タブをクリックします。Android Studio

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

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

  4. [Google でログイン] の認証ページで、[Allow](許可)をクリックします。

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

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

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

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

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

プロジェクトの選択

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

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

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

発話パネルを開く

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

クエリを入力してレスポンスを収集する

Assistant Simulatorを操作するには、クエリを入力して Enter キーを押します。

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

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

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

クエリとレスポンスを保存するには、 [Save] をクリックします。 [Utterances] パネルに入力したクエリとレスポンスを保存するには、 [Save] をクリックします。操作は次の形式で 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] では、 ファイルまたはフォルダを選択できます。フォルダを選択すると、[Collect] と [Test] は、そのフォルダ内のすべての発話 .json ファイルに対して機能します。

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

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

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

[Collect] が完了すると、[Status Bar] が更新され、.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."
      ]
    }
  ]
}

収集を途中で [Stop] すると、.json パスは収集済みとしてマークされません。

バッチ発話をテストする

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

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

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

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

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

Cloud Logging を表示する

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

Cloud Logging のタブ

検索キーワード

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

Cloud Logging のクエリ

Logging のクエリ言語を使用するには、[Use 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 以降の日付を選択するには、[After] を選択して日付アイコン をクリックします。
  • 5/1/22 より前の日付を選択するには、[Before] を選択して日付 アイコン をクリックします。
  • 5/1/22 から 6/30/22 までの日付を選択するには、[Before] と [After] を選択し、日付アイコン から日付を選択します。

[Real time] を選択すると、ライブ プロジェクト ログが取得されます。[Stop] をクリックすると、リアルタイム フィードが終了します。

重大度

プルダウンから [Minimal Severity] を選択することもできます。

クエリ結果

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

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

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

Cloud Logging を表示する

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

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

[Refresh] をクリックすると、選択したプロジェクトに関連付けられているデバイスの [Device name]、[Device id]、および [Device type] が表示されます。複数の Google Home Graph パネルを開いて、別々のプロジェクトを表示できます。

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

Home Graph JSON ペイロード

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

Home Graph の JSON の展開と折りたたみ

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

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

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

Home Graph の完了したテスト

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

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

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

選択した adb ログでは、[Filter] フィールドと、省略可能な [Case-sensitive] 修飾子または [Regex] 修飾子を使用して、ログエントリをフィルタできます。

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

  • [Find] フィールドと [Find Next]( アイコン)コマンド、[Find Previous]( アイコン)コマンドを使用して、特定のエントリを検索します。
  • 省略可能な [Case-sensitive] 修飾子または [Regex] 修飾子を使用します。
  • [Jump to line] を使用して、ログ内の指定した行(番号で指定)に移動します。

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

Adb Log Viewer

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

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

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

フィードバックを送信