アシスタント対応アプリと Actions on Google
Actions on Google は、サードパーティ デベロッパー向けの開かれたプラットフォームです。このプラットフォーム上で Google アシスタントに対応したアプリの開発が可能になります。これらのアプリは、Google アシスタント を通じて、Google Home や
Android 、また
iOS など多くの環境でのサービス提供を実現します。
Actions on Google はこれまで英語環境(en_US, en_GB, en_AU)でのみ動作していましたが、日本語環境での利用も本日より対応を開始しました。
[1]
日本語で利用できるようになったアシスタント対応アプリを是非お試しください(五十音順)。
Ameba
SUUMO
絶対音感オーケストラ
食べログ
トクバイ
なみある?
日本史語呂合わせ
ベストティーチャー
ホットペッパーグルメ
Yahoo! MAP
楽天レシピ
アシスタント対応アプリの動作
アシスタントに対応したアプリは次のような流れで動作します(次の図はアシスタント対応アプリを Dialogflow をメインにして実装し、フォールバックを用意している場合)。
Google アシスタントで「OK Google, (アプリ名)と話す」と呼びかけたり入力すると、Actions on Google によって外部のアプリが起動します。起動後は、Google アシスタントがユーザーの入力情報を Google アシスタント対応アプリのエンドポイントに HTTP リクエストとして送ります(音声入力の場合は、Google アシスタントが音声認識したあとのテキストを送ります)。
Google アシスタントからのリクエストは JSON 形式で送られてくるので、受け取った入力情報を適宜サーバー側で処理し、JSON 形式でレスポンスを返すことで、ユーザーに情報を返すことができます。
アシスタント対応アプリの実装
この処理を見ると自前で JSON データの解析を行ったり、抽出したユーザーの入力情報を形態素解析して、それに応じた条件分岐を書く必要があることがわかります。それらを自前で実装するのはなかなかに大変な作業です。そこでその作業を軽減するために、
いくつかのツールを用意しました 。
[2]
Dialogflow(旧 api.ai)を利用する
Actions SDK を利用する
Dialogflow を利用すると自分でサーバーを用意することなく、アシスタント対応のアプリを作成できます。開発者はユーザの入力とそれに対応する応答のパターンを GUI 上で登録していくことで、簡単な会話型のアプリを作ることができます。またパターンに漏れたものや Dialogflow 上だけでは処理できない情報も、その後ろにフォールバック サーバーを設けることで対応できます。会話型エージェントシステムを作成する際に肝となる形態素解析の大部分を Dialogflow に任せることで、アプリの開発をより速く進めることが可能となります。
Actions SDK は Google アシスタントとの直接連携や Dialogflow のフォールバックを作成する際に必要な HTTP での JSON のやり取りを用意にするためのクライアント ライブラリです。現状では node.js 版が提供されています。定型句だけの対応であれば 直接 Actions SDK で連携して構いません。Dialogflow を利用する場合にも認証などが必要なときは Dialogflow のフォールバック先に Actions SDK を利用することで実装が容易になります。多くの
サンプル も用意していますので、自分のユースケースにあったものを参考にしてください。
実装の詳細は Actions on Google の
開発者向けドキュメント を参照してください。
アシスタント対応アプリの登録
アシスタントに対応したアプリの実装ができたら
Actions on Google 開発者コンソール から登録してください。アプリ名、説明やアイコンなどのメタデータの登録が終わったら、シミュレーターや実機でテストができるようになります。詳細な手順は
Registering and Publishing Your App のドキュメントでご確認ください。
開発アカウントでログインしている Google アシスタントであれば、テスト起動している間はシミュレーターだけでなく、実機でもアプリを起動できます。シミュレーターでは気が付かなかったようなユーザビリティ向上のためのヒントが見つかりますので、公開前には実機テストを行うことを強くおすすめします。
アプリの公開の準備が整ったら、開発者コンソール上にある「SUBMIT DRAFT FOR REVIEW」ボタンを押し提出してください。レビューが終わり、Versions の項目にある Status が「Published」となれば晴れて公開です。
一般公開されたアシスタント対応のアプリは
Assistant directory から検索することができます。英語版ではすでにたくさんのアプリが公開されています。みなさんのアプリのヒントになるものもあるかと思います。
アプリを開発する中で不明点などありましたら、こちらの
フォーム にて日本語での問い合わせください。同フォームの説明は英語ですが、日本語で入力いただけます。
[1] ドイツ語(de-DE)、 フランス語(fr-FR)、日本語(ja-JP)、韓国語(kr-KR)、カナダでの英語とフランス語(en-CA、fr-CA)が同時に対応となりました。
[2] テンプレートからの作成については、日本語対応していません。
Posted by
山口 能迪, Developer Advocate - Developer Relations
Google アシスタント搭載のスマートスピーカー「Google Home」 と「 Google Home Mini」 の日本発売開始 に合わせて、Google アシスタント対応アプリの開発環境も日本語でのアプリ開発に対応しました。そして、本日より、すべてのユーザーが日本語のアシスタントに対応したアプリを利用できるようになりました。
アシスタント対応アプリと Actions on Google
Actions on Google は、サードパーティ デベロッパー向けの開かれたプラットフォームです。このプラットフォーム上で Google アシスタントに対応したアプリの開発が可能になります。これらのアプリは、Google アシスタント を通じて、Google Home や Android 、また iOS など多くの環境でのサービス提供を実現します。
Actions on Google はこれまで英語環境(en_US, en_GB, en_AU)でのみ動作していましたが、日本語環境での利用も本日より対応を開始しました。[1]
日本語で利用できるようになったアシスタント対応アプリを是非お試しください(五十音順)。
Ameba
SUUMO
絶対音感オーケストラ
食べログ
トクバイ
なみある?
日本史語呂合わせ
ベストティーチャー
ホットペッパーグルメ
Yahoo! MAP
楽天レシピ
アシスタント対応アプリの動作
アシスタントに対応したアプリは次のような流れで動作します(次の図はアシスタント対応アプリを Dialogflow をメインにして実装し、フォールバックを用意している場合)。
Google アシスタントで「OK Google, (アプリ名)と話す」と呼びかけたり入力すると、Actions on Google によって外部のアプリが起動します。起動後は、Google アシスタントがユーザーの入力情報を Google アシスタント対応アプリのエンドポイントに HTTP リクエストとして送ります(音声入力の場合は、Google アシスタントが音声認識したあとのテキストを送ります)。
Google アシスタントからのリクエストは JSON 形式で送られてくるので、受け取った入力情報を適宜サーバー側で処理し、JSON 形式でレスポンスを返すことで、ユーザーに情報を返すことができます。
アシスタント対応アプリの実装
この処理を見ると自前で JSON データの解析を行ったり、抽出したユーザーの入力情報を形態素解析して、それに応じた条件分岐を書く必要があることがわかります。それらを自前で実装するのはなかなかに大変な作業です。そこでその作業を軽減するために、いくつかのツールを用意しました 。[2]
Dialogflow(旧 api.ai)を利用する
Actions SDK を利用する
Dialogflow を利用すると自分でサーバーを用意することなく、アシスタント対応のアプリを作成できます。開発者はユーザの入力とそれに対応する応答のパターンを GUI 上で登録していくことで、簡単な会話型のアプリを作ることができます。またパターンに漏れたものや Dialogflow 上だけでは処理できない情報も、その後ろにフォールバック サーバーを設けることで対応できます。会話型エージェントシステムを作成する際に肝となる形態素解析の大部分を Dialogflow に任せることで、アプリの開発をより速く進めることが可能となります。
Actions SDK は Google アシスタントとの直接連携や Dialogflow のフォールバックを作成する際に必要な HTTP での JSON のやり取りを用意にするためのクライアント ライブラリです。現状では node.js 版が提供されています。定型句だけの対応であれば 直接 Actions SDK で連携して構いません。Dialogflow を利用する場合にも認証などが必要なときは Dialogflow のフォールバック先に Actions SDK を利用することで実装が容易になります。多くのサンプル も用意していますので、自分のユースケースにあったものを参考にしてください。
実装の詳細は Actions on Google の開発者向けドキュメント を参照してください。
アシスタント対応アプリの登録
アシスタントに対応したアプリの実装ができたら Actions on Google 開発者コンソール から登録してください。アプリ名、説明やアイコンなどのメタデータの登録が終わったら、シミュレーターや実機でテストができるようになります。詳細な手順は Registering and Publishing Your App のドキュメントでご確認ください。
開発アカウントでログインしている Google アシスタントであれば、テスト起動している間はシミュレーターだけでなく、実機でもアプリを起動できます。シミュレーターでは気が付かなかったようなユーザビリティ向上のためのヒントが見つかりますので、公開前には実機テストを行うことを強くおすすめします。
アプリの公開の準備が整ったら、開発者コンソール上にある「SUBMIT DRAFT FOR REVIEW」ボタンを押し提出してください。レビューが終わり、Versions の項目にある Status が「Published」となれば晴れて公開です。
一般公開されたアシスタント対応のアプリは Assistant directory から検索することができます。英語版ではすでにたくさんのアプリが公開されています。みなさんのアプリのヒントになるものもあるかと思います。
アプリを開発する中で不明点などありましたら、こちらのフォーム にて日本語での問い合わせください。同フォームの説明は英語ですが、日本語で入力いただけます。
[1] ドイツ語(de-DE)、 フランス語(fr-FR)、日本語(ja-JP)、韓国語(kr-KR)、カナダでの英語とフランス語(en-CA、fr-CA)が同時に対応となりました。
[2] テンプレートからの作成については、日本語対応していません。
Posted by 山口 能迪, Developer Advocate - Developer Relations