Google Assistant開発で出来る・出来ない事

スマートスピーカー戦争が密かに繰り広げられている中、Google Homeが半額だったため衝動買いをしました....買ったはいいものの、そもそもGoogle Assistant開発では「何が出来て、何が出来ないか」すら知らずに買ってしまったので、とりあえずそこから調べてみました。調べたことを簡単にまとめたので、これからGoogle Assistantでアプリを開発しようとしているビギナーさんの助けになれば幸いです。

アプリ開発をすぐにでも始めたい方はこちらの記事は飛ばし、Google Assistantアプリ開発編へお進みください。
Google Assistantアプリ開発の仕組み
Google Assistantアプリ Dialogflow開発編
Google Assistantアプリ申請でリジェクトされたお話

Google Assistantアプリ開発準備

Google Assistantアプリの開発を行うために、まずはGoogle Homeでやらせたいことをイメージしてください。とりあえず「なんでもいいから喋らせたい」でも全然OKですし、もっと高等なやりとりをGoogle Homeとしたい人もいるかと思います。イメージがはっきりしている方がモチベーションも上がるので、是非とも考えてみてください。



Google Assistantアプリ開発で出来ること

きっと自分と同じでGoogle Homeで何ができるかわかっていないけど、勢いで買った人もいるはず....そんなわけで、まずはGoogle Assistantのアプリ開発で出来ることについて触れていきます。

まず、Google Assistantアプリ開発で出来ることを簡潔にいうとGoogle Homeに「○○と言ったら、△△をやってもらう」です。Google Assistantに「○○」という言葉を登録し、アプリから △△ を呼び出すことが出来ます。もしくは、Google Homeに△△と言ってもらうこともできます。

Google Assistant開発で「言い回しや意味を登録」する

言葉には同じ意味を持つ複数の言い方や言い回しがあります。まずGoogle Homeではこの同じ意味である言い回しなどを、「同じ意味として受付る」様に登録することができます。例えば、Google Homeに調子を問いかける簡単なアプリがあったとします。

人 : 「体調はどうですか?」
G : 「元気です」

ここで命令の受付となるのは「体調はどうですか?」ですが、その他にも「調子は?」とか、「元気?」など様々な言い回しを同じ意味として登録することができます。なのでGoogle Homeはこれらのうち、どれかを言われると全て同じ意味として処理を行わせることができます。


ある程度の好きな言葉を喋らせることができる

ここでポイントなのが、ある程度の好きな言葉です。試してませんが、1回のセリフで無限に喋らせることは出来ないはずです。

例えば事前に20パターンのセリフを登録しておき、それを「ランダムで1個言わせる」などは簡単に出来ます。簡単と言っても js を書くことになりますが....今回は実装編ではないため、どうやって実装していくかは実装編で確認してください(きっと近々投稿予定...)

Google Home から △△ 機能を呼び出す

これは何を言っているかというと、Google Homeから ○○ の命令を受け取ったら「LINE」や「Facebook」、「Twitter」、「自前のAPI」などなどを呼ぶことができるのです。簡単に言うと、Google Homeが他のアプリを呼び出すためのハブになるわけです。



IFTTTが使えるため、連携が用意!
IFTTT は様々なサービス間の連携をしてくれるサービスでGoogle Assistantにも対応しているので、Google Homeに向かって言った言葉をトリガーにメールを送ったりTwitterに投稿したりすることが可能です。


Google Homeアプリ開発で出来ないこと


そして逆にGoogle Homeで出来ないことはGoogle Homeの「××の機能を使って何かやらせる」が出来ないです。

実はGoogle Homeなどで利用できる「音楽をかける」、「スケジュール登録」、「アラーム設定」などのGoogle Homeが持っている自前の機能の呼び出しが出来ないのです。
(個人的に将来的にはできる様になる気がしますが.....いや、なってくれるとすごく嬉しい!!)

当初はGoogle Assistantアプリ開発で2度寝用の「あと5分」機能 (文字通り「あと5分」と言ったら、5分後にアラームを設定してくれる) を実装したかったのですが、アラーム設定が呼び出せないことで断念しました;;

2度寝用の「あと5分」機能を実装した時の絶望したお話




先ほど出来ないと書きましたが、何を試して、何が出来なかったかのお話です

やりたかったこと
Google Homeに「あと5分」と言ったら、5分後にアラームを設定してくれる。

調べてみて、速攻でアラームの呼び出しが出来ないことに気付く.....

アラームの代わりにGoogle Homeに「5分たちましたよ」と言ってもらう事にした

とりあえず実装してみた

何を実装したかと言うと、Google Homeで「あと5分」と言われたら、js で「5分スリープさせてから喋らせる」です!!

素晴らしいほどのパワープレーを試してみたのですが、結論的にやっぱりダメでした。
おそらく、 アプリから Google Assistant へレスポンスを返すところで、Time Outが発生しているっぽいです。
そりゃConnectionをはったままでは、Time Outも起きるか....さすがに5分は長いか.....


そんなわけで2度寝用の「あと5分」アプリの作成はGoogle Homeのアラーム機能が使えないと実装できないとの結論が出ました.....


■ Google Home, Google Assistant 関連
Google Assistantアプリ開発の仕組み
Google Assistantアプリ Dialogflow開発編
Google Assistantアプリ申請でリジェクトされたお話


コメント

人気の投稿