enebularでGoogle Home 元気アプリを作ろう

今回は、Google Homeで元気アプリを作ります。

作りたいこと

LINE Clovaから始まったenebularとスマートスピーカーの連携ですが、先日、sitoppさんがAlexaとの連携も実現いただいてenebularといえばスマートスピーカー連携の構図も出来上がりつつあって、とても楽しいです。

さていよいよですが、今回Google Homeも連携することが出来ました!

image

このように、Actions on Googleでカスタム応答を作り、Dialogflowが言葉を解釈して、REST APIとしてenebularとやりとりして元気アプリを実現することができました。

Actions on Google、Dialogflow、enebularの各サービスは、2019/02/26時点での情報で作成しています。作業画面が変わっていたら、適宜読み替えて進めてください。

Actions on Googleチュートリアル – Qiita

enebularの設定

Discover Flow

Discover Flow はこちらです。

flow-google-home-simple

image

Flowを読み込みます

image

これで、enebularの準備は完了です。

Actions on Googleの設定

image

つづいて、Actions on Googleを作成しましょう。

image

プロジェクト名はこちらにしました。自分の好みの名前にしましょう。

image

Overviewの画面に行きます。2019/02/19現在、onboardの画面に行ってしまい迷いますが、再度プロジェクト選択画面に戻って入り直したらこちらの画面に出ました。

image

呼び出しの名前は「元気アプリ」にします。

image

つづいて、Actionsを選択。

image

Custom Intentを起動します。これで、Actionsは入り口のやりとりだけ行って、詳しいやりとりはDialogflowが行います。

Dialogflow の設定

Dialogflow が立ち上がります。Actionsが元気アプリの入り口

image

Agentの名前をつけます。今回は、Genkiで。

Entities

Entitiesで引っ掛ける語彙を設定します。

image

Entities を起動します。

image

Create the first one. を押して新規作成します。

image

名前はGenkiEntityで。

image

元気のEntityを指定します。

設定が終わったら、SAVEを押して保存します。

Intent

IntentでEntityが含まれる文章を捕まえられるようにします。

image

Intentを作成します。Intentsをクリックしましょう。

image

CREATE INTENTを押します。

image

Event

Intentが引っかかった際に発生するイベントを設定します。

image

Genkiで設定します。

Action and parameters

image

Action and parameters に、WebHook側で識別しやすいように input.genki を指定します。

これを設定しないと、今回のenebularフローが反応しないので、注意しましょう。

Training phrases

そして、実際に話しかけたときの解釈を設定します。

image

まず、「元気ですか」というフレーズを手入力します。

image

さきほどのフレーズにGenkiEntityを指定します。

image

設定ができたら、Fullfillmentと関連付けるために、こちらを Enable webhook call for this intent をオンにします。

SAVEを押して設定を保存します。

Fullfillmentでenebularと関連付ける

まず、enebularのオンライン エディタの一時的なURLを確認します。

image

そして、Fullfillmentに移動します。

image

Fullfillmentで enebularのURLを指定します。 URLの末尾に /google_assistant をつけるのを忘れないようにしましょう。

image

WebHookをオンにします。

image

SAVEを押して保存します。

Default Welcome Intent もWebHook化する

image

Default Welcome Intent は通常だと、Dialogflow の内部で返答を返すので、調整します。

image

こちらを、ゴミ箱ボタンを押して削除します。

image

削除が確認できたら、FullfillmentでWebHookを発動します。

これで設定が完了です。

Actions on Googleで確認

image

image

Actions on Googleに戻って、ActionsがDialogflowに関連づいているか確認しておきましょう。

image

うまく設定されてますね。

Simulator ツールで検証

image

Actions on Google では、 Simulator ツールで検証することができます。

image

このようになっていますので、enebularのエディタが起動して一時的なURLが使えるようになっていることを確認してから、テストしてみます。

image

「元気アプリにつないで」と入力すると、enebularの反応が来ます!

image

「元気ですか?」と聞くと、しっかり判定され応答されます!

Google Home テスト

ここまで確認できたら、Google Homeでテストしてみます!

ちょっと私が行くときセリフ噛んでしまってますが、無事反応してます!

ということで、ついに、LINE・Alexa・Google Assistantと3つのスマートスピーカーで繋がるようになったenebular。

お家のスマートスピーカーでやりたいことが思いついたときには、ぜひ試してみてください!