Google Assistantアプリ開発の仕組み

せっかく買ったGoogle Homeでようやくアプリを作成しました!やっぱりGoogle Homeに話しかけるのは楽しい....ここ数日でGoogle Assistantでの開発方法とかを調べまくったので、これからGoogle Assistantでアプリ開発を行う人の参考になればと幸いです。





Google Assistantのアプリの仕組み

まずはGoogle Homeさんに喋りかけたら、裏でどんな感じで処理されているか大雑把に説明していきます。ここを理解しないで先に進むと、Action On Googleで開発を始めても何をしていいか理解するのに時間がかかります。

そもそもの Google Home, Google Assistantアプリ開発で何が出来るか?何が出来ないか?が漠然としている方は、過去記事をお読みください。
Google Assistant開発で出来る・出来ない事

Google Assistantアプリの構成

まずはGoogle Homeに話しかけてから、アプリがどのように動き出すかなどを簡単な絵にまとめました。実際に実装する裏方の構成はとてもシンプルで、大きく分けると「命令受付部分」と「実処理部分」の2パートにわかれています。



Google Assistantの役割

Google Homeさんはあの喋りかけたり喋ったりするスピーカー機械のことで、特に説明することがないので一旦飛ばします。Google Assistant は Google Homeから受け取った「言葉や命令」を理解し、命令などに応じたアプリを裏で呼び出してくれます。

Dailogflow

続いてDialogflowというものが出てきますがDialogflow(ダイアログフロー)はアプリのベースとなるもので、音声入力で受け取った命令などからアプリの動作を決めるものです。

Dialogflow の主な役割
・アプリの起動となる「会話」を設定することができる
・音声入力で問題となりやすい、自然言語の解析をよろしくやってくれる
・類似する言葉を同じ意味として登録することができる
・「この言葉を言われたら、この動作を呼び出す」などの定義ができる
・他アプリ(FacebookとかTwitter) などの連携アプリの設定ができる


Dialogflowの役割を見ていただくと、こいつの重要性が理解できたかと思います。Google Assistantのアプリ作成では、はじめに「会話の設計」をしますが、Dialogflowでは設計した会話をすぐに試したりすることができるのです。



Firebaseの役割

Firebaseとは、簡単に言えば「サーバサイド側の処理」です。Dialogflow からJSON形式で「言葉のパラメータ」を受け取り、それに応じて処理を実装するものがFirebaseの役割です。なので、もちろん自前のサービスを呼び出すのもよし、APIの入り口を用意するのもよしです!

Firebaseでできること
1. リアルタイムデータベースで、誰かがデータを更新すると自動で他の端末にも反映
2. Firebaseクラウドメッセージング(push通知送信)
3. FirebaseAuth (Facebook, GitHub, Twitter とかの認証)
4. Firebaseストレージ(用はS3のイメージ)
5. ホスティング 静的Webのホスティング

他にも細々 Firebase ではできることありますが、Google Assistant連携に関係しそうなのはこの辺です。


■ Google Home, Google Assistant系の関連
Google Assistant開発で出来る・出来ない事
Google Assistantアプリ Dialogflow開発編
Google Assistantアプリ申請でリジェクトされたお話



コメント

人気の投稿