Loading
BLOG 開発者ブログ

2018年1月15日

乗り遅れるな!Dialogflow(旧API.ai)で作るGoogle Home アプリ開発

こんにちは!モバイルソリューショングループの katsu.t です。

前回(前回の開封の儀)誕生日に Google Home mini を会社から頂いて
そろそろアプリを作ろうかなーと考えていたところ。
まさかの忘年会のビンゴで Google Home をもらいました!!!
これはもう Google Home と縁があるとしか考えられませんね。

ということで早速 Google Home アプリを作ってみよう!
と奮起したので、アプリを作ってみました。
※しかも無料で開発/リリースできます! (2017/11)

やること

やることは以下です。
・Actions on Google の設定
・Dialogflow で会話シナリオの作成
・テストする

今回会話を行うサービスの部分はDialogflow(旧API.ai)で作りました。
※DialogflowはAPI.aiの新しいサービス名です。UIはほぼ変わっていないので
API.aiの記事もDialogflowと読み替えて参考にすることが可能です。
ほかにもIFTTTを用いたり、Actions SDK を用いて独自実装したりできます。

今回作るアプリについて

今回は注文を聞いてくれるアプリを作成します。

Actions on Google の設定

プロジェクトの作成

まず初めにActions on Google上でプロジェクトを作成します。
※随時連携するGoogleアカウントを聞かれるので、使いたいGoogleアカウントを選択してください。
以下URLからActions on Google のトップ画面に遷移します。
https://developers.google.com/actions/

1.トップ画面上の「ACTIONS CONSOLE」をクリックしてプロジェクト作成/選択画面に移動します。

2.次に「Add/import project」をクリックして新規プロジェクトを作成します。

3.プロジェクト新規作成ダイアログが表示されるため、プロジェクト名と国を選択して「CREATE PROJECT」をクリックします。
※Country/regionは「Japan」を選択しましょう。

4.作成が完了すると以下のような画面が表示されます。
以下画面が表示されたら Dialogflow の「BUILD」をクリックするとアプリ作成ダイアログが表示されます。

Dialogflowとの接続

5.「CREATE ACTIONS ON DIALOGFLOW」をクリックして Dialogflow の画面に遷移します。

6.「Default Language」を日本語として、Time Zoneを「Asia/Tokyo」とします。

7.Dialogflowの右のメニューバーの中からIntegrationsを選択します。

8.その中から Google Assistant を選択します。

9.「MANAGE ASSISTANT APP」をクリックします。

10.Actions on Googleの画面に遷移し以下画面が表示されたら設定完了です。

Dialogflow で会話シナリオの作成

会話シナリオ作成

まずどんな対話をさせたいか、考えます。
音声ユーザーインターフェースの設計はalexaの
音声ユーザーインターフェースの設計
が参考になります。

Dialogflowで作成したシナリオを実装

続いて考えた会話シナリオをDialogflowを用いて実現していきます。

1.アプリに入ってきたとき最初に発する言葉を設定する。
左のメニューバーから Intents を選んでその中の Default Welcome Intent を選択してください。
※エンドポイントは Integrations の Google Assistant の設定から変更することができます。

2.「Text response」 のところに返したい言葉を入力します。
今回は「いらっしゃいませ、ご注文はいかがいたしましょう」と入力し、「SAVE」をクリックしてください。

3.ユーザーの発話に応答するための Intent を作成する。
ユーザーの発話に応答するために、新規の Intent を作成します。
左のメニューから Intents を選択して、「CREATE INTENT」をクリックしてください。

4.ユーザーの発話に応答する。
「User says」にユーザーがどんなことを言ったらこの Intent が反応するかを書きます。
また、アプリ起動時と同じように、「Text response」のところにGoogle Homeに言わせたいことを書きます。
入力が終わったら 「SAVE」 をクリックします。

5.アプリを終了させる。
アプリに入ったからにはアプリから出る方法も準備しておく必要があります。
アプリを終了させる(アプリから抜ける)ための Intent を作成します。
上記の3,4と同じ要領で、新規に Intent を作成します。
「User says」と「Text response」に入力後最後に
一番下の「Google Assistant」をクリックします。
すると、「End conversation」と表示されるので
これにチェックを入れます。
※「End conversation」にチェックが入っている Intent が呼び出されると
アプリが終了します

作成したアプリをテストする

最後に作成したアプリケーションをテストしましょう。

1.Actions on Google のコンソールに戻り「TEST DRAFT」をクリックします。

2.左のチャット画面の指示に従い「〇〇アプリにつないで」と打ち込むと
先ほど作成した Dialogflow の最初のレスポンスが表示されます。

3.続いて作成した Intent の 「User says」に設定した文言を打ってみます。
すると、同じ Intent 内の 「Text response」 が表示されます。

4.最後にアプリを終了するための文言を入力します。
アプリが終了するのが確認できます。

実機でも動作確認

実機で動作確認するには、開発で利用したGoogleアカウントと
Google Homeが紐づいて入ればシュミレーターと同じ動作で
起動させることができます。
Google Homeに向かって「OK,Google テスト用アプリを起動して」と話しかけてみましょう!

アプリ作成に関しては以上になります。
Fulfillmentを使用してAPIとの連携なども可能ですが
それはまたの機会にご紹介させていただきます!

世の中どんどん、開発スピードは上がってきて
エンジニアでなくても簡単にモックアプリは作成できるように
なってきています。
興味がある方はぜひ一回遊んでみてください!