Dialogflow + Actions on Googleの設定を忘れないうちに復習しておく。

# はじめに
Google Homeとやり取りをおこなうには、Dialogflowで会話の骨格を作って、Actions on GoogleでGoogle Assistantとの連携を行う。そのやり方を忘れないうちにメモ。

# Dialogflowの設定

ホームページ -> https://dialogflow.com

右上のメニューからコンソールに行く。

![20BC0439-B63F-456F-B706-BED35E91FA3E.png](https://qiita-image-store.s3.amazonaws.com/0/58503/1335ffd4-d1b1-f735-c300-c747bb32ffa1.png)

ログイン画面になる。ここで使うアカウントは、Google Homeで使っているものと同じにすること。

![A8CFD717-9D4B-4898-9826-3E3C4B622413.png](https://qiita-image-store.s3.amazonaws.com/0/58503/3bedb524-9140-310b-c0cf-4cefbe977e77.png)

ログインして数ステップで以下のコンソール画面になる。

![0C482F92-551C-42B5-80D3-80EFF73F1A59.png](https://qiita-image-store.s3.amazonaws.com/0/58503/f7847e23-3816-52d7-f618-f2cf9e6edb3b.png)

右下の”Create Agent”を押すと以下の画面のように、”Insufficient permissions”と言われてしまう。

![67DDFD59-F89E-4DE8-B1EA-E6C982735321.png](https://qiita-image-store.s3.amazonaws.com/0/58503/631c9348-2293-8c38-c3ce-ab63e8012eea.png)

AUTHORIZEボタンを押して、数ステップで以下のAgent設定画面になる。

![FAB8E52B-E503-495E-B178-8F920F1D9D5D.png](https://qiita-image-store.s3.amazonaws.com/0/58503/6c74f811-4984-918b-4a77-bdbf119b44d5.png)

Agent Name は日本語は使えないみたい。Descriptionは大丈夫。終わったらSAVEする。

![AA0BBA6B-6B92-478F-A82E-1E7C6A80637B.png](https://qiita-image-store.s3.amazonaws.com/0/58503/6c45c27d-da7a-7de9-64e1-e0ce992f9562.png)

次に、Intentを作る。画面の右上にはテキスト（「こんにちは」など）を入力して、反応をテストできる。

![4995BDEB-7AB6-4D46-B875-12DDA94251F8.png](https://qiita-image-store.s3.amazonaws.com/0/58503/5adaa134-62ad-af17-d235-415581120d01.png)

今はIntentを設定していないので、「こんにちは」と入力しても「わかりません」といった反応しか帰ってこない。

![0FC1234D-02C4-4470-8B20-D79AA52FD2AC.png](https://qiita-image-store.s3.amazonaws.com/0/58503/95838d2f-5d4f-027b-1e75-5fb0f7d35a68.png)

このような、理解できない入力に対する反応はDefault Fallback Intentに定義されている。最初にAgentを起動した時の反応はDefault Welcome Intentに定義されている。これ以外の反応を定義したい時は、上のCreate Intentボタンを押して定義する。定義の方法は以下のような感じ。

![132E963E-991C-4EC1-B628-AD85A9F7EC53.png](https://qiita-image-store.s3.amazonaws.com/0/58503/9b587df5-ab8f-2781-3501-14b5a142cf59.png)

Intentの名前を一番上に入力し、User saysに入力テキストを入れる。複数指定可能。それに対する反応はResponseで指定する。テキストを返す場合はText Responseに指定する。指定が終わったら。ページ一番上のSAVEボタンで保存すること。

![F99B359F-5779-4D9B-B770-31605ABA8546.png](https://qiita-image-store.s3.amazonaws.com/0/58503/6e4af6f8-d925-2e61-841b-43dfc20859b1.png)

保存が終わったら、画面右側の入力ボックスにUser saysで指定したテキストを入れてテストすること。

![C7936AA5-4A90-4818-97E7-4BDDA32F18BB.png](https://qiita-image-store.s3.amazonaws.com/0/58503/b4b8a852-3a2a-88aa-b252-c80628ffdd70.png)

#DialogflowとGoogle Assistantを連携させる。

画面左上のメニューボタン（横棒3つ）を押して、メニューからIntegrationを選択する。すると、integration可能なサービスの一覧が出てくるので、Google Assistantのスライドバーを右にして、settingsをクリック

![67E2D3F6-8F26-47B0-AF0B-B8A9026B53FA.png](https://qiita-image-store.s3.amazonaws.com/0/58503/dd8b273f-40e9-7d3e-7e8e-138ee15f11c7.png)

すると、Google Assistantと連携のための設定画面になる。

![F71084CC-D40A-44B5-84B5-2E951DE9FDBA.png](https://qiita-image-store.s3.amazonaws.com/0/58503/a23bef5e-3e33-7fe4-4f59-8f3b0a4738a1.png)

まず、右下のAuthorizeをクリックすること。すると、ログイン画面などを経てTESTボタンとUPDATE DRAFTボタンが使えるようになる。

![1615E768-ED19-42C4-930A-B271E1BC1B80.png](https://qiita-image-store.s3.amazonaws.com/0/58503/08f4e7e9-0508-9a89-ba4e-5d55a1e1ed66.png)

TESTボタンをクリックすると、Actions On GoogleのActions Simulatorでのテストが有効になる。

![62505895-5B94-46C9-A727-100C8A08DDC4.png](https://qiita-image-store.s3.amazonaws.com/0/58503/781822e8-5cff-b6e6-0213-271b9f8b15e0.png)

ここでVIEWをクリックすると、Actions on GoogleのSimulatorへ飛ぶ。

![ACACBACD-15F9-43C7-91DD-8C9CAB8F8AF3.png](https://qiita-image-store.s3.amazonaws.com/0/58503/6f7502bd-2d31-13d7-bf83-3d23bcc1bfaf.png)

画面中央で指定されているように、画面中央下のInputのところで「テスト用アプリにつないで」と入力する事で、Dialogflowで作ったAgentをテストできる。ただ、最初は以下の通りエラーになってしまう。

![EE732131-1C42-4FCB-8B01-2904027AC23C.png](https://qiita-image-store.s3.amazonaws.com/0/58503/76a6ce41-993f-e64f-4a4a-ae741f83e5f4.png)

リロードすると上手くいった。

![A4F4CB99-AE46-45C6-9B2C-F365390834BC.png](https://qiita-image-store.s3.amazonaws.com/0/58503/123abe72-deda-7bcc-bbba-dc8c4bd49cb3.png)

先程設定した「あさのあいさつ」Intentも正しく動作することを確認する。

![906AEC85-94C1-4229-AB26-1FEB2D07CCC3.png](https://qiita-image-store.s3.amazonaws.com/0/58503/7bbacf56-09bf-1d49-c98e-cf56eca2d9df.png)

アプリをやめたい時は、「キャンセル」「やめたい」などとつぶやけばearconという音が流れてアプリを終了できます。

## UPDATE DRAFTについて注意

Google Assistantとの連携（Integration）の設定にはUPDATE DRAFTというボタンがあった。

![2C72E7BE-4284-4584-8150-F301EB31230D.png](https://qiita-image-store.s3.amazonaws.com/0/58503/146272ec-6889-59ab-fa94-d602bfbab69c.png)

こちらを選択すると、以下のようにActions on Google上のAssistant appのDraftのアップデートが起きる。

![73163EB4-374D-4EEC-9CD4-67A5AC489963.png](https://qiita-image-store.s3.amazonaws.com/0/58503/48337462-6690-55c6-b31a-e6dd4301aa39.png)

VISIT CONSOLEボタンを押すと、Actions on Googleで各種設定を求められる。

![73566607-2F50-4BB3-8DDC-37412FF9F2EB.png](https://qiita-image-store.s3.amazonaws.com/0/58503/bcaaa71d-a4dd-a951-b41a-98b970c15114.png)

Appに名前をつけられるなど便利ではあるが、色々設定が必要なので、面倒臭ければUPDATE DRAFT はいらないかも。

# 終わりに

これで最小限の設定は終了。ここまで設定すれば実機でもテストできるので試してみてください。