Google Assistant対応アプリを試しに作ってみた

Google Homeを購入したので、Google Assistant対応アプリを試しに作ってみた。参考にさせていただいた記事の２番煎じ感がありますが、自分のメモ用ってことで。

# 利用するもの

- Actions on Google
- Dialogflow
- Google Assistant搭載スマホ or Google Home
  - Actions on Googleと同じGoogleアカウントでログインしておけば実機で動作確認可能

# Google Assistant対応アプリの動作イメージ

ざっくりとこんなイメージだと思う。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/6651/f7cd2d5d-c884-5d3e-1e06-9ac9283481f4.png)

# 作り方

## Dialogflowでagentを作成

### STEP1

Googleアカウントでダッシュボードにログインして、agentを作成する。

![スクリーンショット 2017-12-14 14.17.16.png](https://qiita-image-store.s3.amazonaws.com/0/6651/a715970d-2fb8-7213-a33e-7665592d0e60.png)

`agent　name`と`DEFAULT LANGUAGE`を選択して`CREATE`をクリックする。

### STEP2

Intentsを作成する。

![スクリーンショット 2017-12-14 14.09.51.png](https://qiita-image-store.s3.amazonaws.com/0/6651/9f38f0df-c48b-2a4f-959d-8342198d9e66.png)

`CTEATE INTENT`をクリックする。

`User says`にトリガーとなるキーワードを入れて、その応答として返す言葉を`Text response`に設定する。

![スクリーンショット 2017-12-14 14.08.47.png](https://qiita-image-store.s3.amazonaws.com/0/6651/dfe2e090-675c-1bda-1362-e9f8d1ece7ea.png)

入力できたら、`SAVE`をクリックする。

### STEP3

Google Assistantとインテグレーションする。左ペインの`Integrations`から`Google Assistant`をクリックして有効にする。

![スクリーンショット 2017-12-14 14.16.15.png](https://qiita-image-store.s3.amazonaws.com/0/6651/269c0d35-585d-2c90-4993-c9086e0d96a2.png)

`SETTINGS`をクリックして設定ダイアログを開く。

![スクリーンショット 2017-12-14 14.22.20.png](https://qiita-image-store.s3.amazonaws.com/0/6651/7cf11d0c-a434-0363-873d-37f549e5bf03.png)

`Select Intent`から作成したIntentを選択し、`UPDATE DRAFT`をクリックする。その後のダイアログで`VISIT CONSOLE`というボタンが出てくるのでクリックして、Actions on Googleのダッシュボードに移動する。

## Actions on Googleでアプリを作成

Actions on Googleのダッシュボードでアプリの設定を順番に行っていく。

![スクリーンショット 2017-12-14 14.32.02.png](https://qiita-image-store.s3.amazonaws.com/0/6651/f556a3c5-a081-ac67-af3e-a26651d37e09.png)

`Actions`はDialogflowのアクションが既に設定されているので、`App information`の`EDIT`をクリックして必要な情報を入れる。

### App informationを入力する

`Pronunciation`には、アプリを起動するためのトリガーとなるキーワードを入れる。`Sample invocations`は、アプリの呼び出し方で、利用者への説明になる。

![スクリーンショット 2017-12-14 14.38.16.png](https://qiita-image-store.s3.amazonaws.com/0/6651/4733244a-33ac-9cac-5f34-d935c50258f7.png)

テストなのでその他はかなり適当ですが、こんな感じで。

続いて、`Image`、`Contatct details`、`Privacy and consent`を登録。これらは全て必須項目。

`Privacy Policy`は`Google Document`で作成し公開URLを取得。アプリとして一般公開するのであれば、ちゃんと作成すること。

![スクリーンショット 2017-12-14 14.39.48.png](https://qiita-image-store.s3.amazonaws.com/0/6651/37295d33-e5b4-5d17-d664-abda4817e379.png)

こちらもこんな感じで。

最後はカテゴリを選ぶ。

![スクリーンショット 2017-12-14 14.46.20.png](https://qiita-image-store.s3.amazonaws.com/0/6651/8da5e381-99ca-b423-11c0-f178a801dab5.png)

## テストする

入力後は`SAVE`をクリックして、こちらの画面に戻る。

![スクリーンショット 2017-12-14 14.49.33.png](https://qiita-image-store.s3.amazonaws.com/0/6651/793d1f73-7df2-e910-98e0-0ad9cd6f887b.png)

`TEST DRAFT`をクリックしてシミュレーター画面に移動する。ここでは、実際に動作をチェックできる。左下の`Input box`にキーワードを入力して動作を確かめる。

![スクリーンショット 2017-12-14 14.52.36.png](https://qiita-image-store.s3.amazonaws.com/0/6651/03cee3be-01f1-e8c2-ff24-97c2151624c7.png)

同時に、この状態まで持ってくれば、同じGoogleアカウントでログインしている実機（Androidスマホ）でもテスト可能。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/6651/002ddf8d-6bf6-5fd3-8dda-22e3e79e8561.png)

今回はここまで。

# 疑問に思ったこと等

一般公開したくないアプリを作りたい場合はどうすれば良いんだろう？

# 参考にさせていただいたドキュメント

- [Actions on Googleでapi.aiを使ってGoogle Homeに何か言わせてみる](https://qiita.com/syarihu/items/53ea1a65f481f8121109)
- [Google アシスタント対応アプリを日本語で開発してみよう](https://developers-jp.googleblog.com/2017/10/google-assistant-app-ja.html)