Google Homeアプリ開発と申請方法~Actions on GoogleとDialogflowの使い方

Google公式のDialogflowを使いますと、簡単にGoogle Homeアプリが作成できます。今回ついにGoogle Homeに喋らせることが出来ました。

こんにちは、ガジェット大好きカグア!です。Google Homeも毎朝ラジオ聴いてます。

本記事では、Actions on GoogleのDialogflowを使ったGoogle Homeの喋らせ方を解説します。無料で試せますのでぜひ。なお情報は2018年4月時点でのものです。たぶんかなり古いとは思いますので、ご了承をば。

関連記事
>>グーグルホームおすすめ便利な使い方5操作とカスタマイズ設定
>>GoogleアナリティクスでGoogle Homeを計測する方法
>>【ゆっくり】グーグルホームミニ実況~日本のアニメの名台詞に反応させる – YouTube
>>クックパッドなど大手企業配信グーグルホームアプリ25選

サンプルGoogle Homeアプリ

作ったGoogle Homeアプリ

「おまかせレースにつないで」と言うとアプリが起動します。そこでゲーム名を言うと、そのゲームでおすすめのコースを、ランダムで教えてくれます。「ありがとう」でGoogle Homeアプリが終了します。
グーグルホームにしゃべらせた

実際に登録されましたアプリはこちらです。GoogleHOMEがなくとも、スマホのGoogleアシスタントでも会話できますので、ぜひ絡んであげて下さい。
>>おまかせレース | Google アシスタント
Googleホームアプリ登録きた

実際の動画はこちらのYouTubeにアップしてあります。※テスト版ですので内容が若干異なります。
>>おまかせレース Google Home アプリ開発実験 – YouTube

Actions on GoogleのDialogflowを使いますと、テストアプリまでならほんと簡単に作れます。スマホのグーグルアシスタントでも試せますのでとても楽しいです。

また先日、直接Googleの担当者の人に聞く機会があったのですが、アプリ公開のサーバーも、よほどのトラフィックが無い限り無料だそうで、どんどん公開してほしいとのこと。

がぜんやる気が出てきました。それでは、Google Homeアプリ(スマホのGoogleアシスタントでも使えます)の開発の仕方をご紹介します。

なお、公式ドキュメントを精読していませんので、解釈や間違いなどありましたら、ご指摘いただけますと嬉しいです。

Google Homeアプリ開発の概要

  • Actions on Google
  • そのなかのDialogflow
  • Actions on Googleからアプリ申請


Google HomeにとどまらずAndroidやiPhoneなどのGoogleアシスタントアプリのアプリを作ります、そもそものキットがActions on Google。そこで処理を簡単に記述できるツールがDialogflowです。

実際にはDialogflowで会話の処理を書いて、動作はActions on Googleで行う、といった感じです。テストで自分の端末だけで会話するぶんには、申請も必要ありません。

それぞれの操作画面で認証画面が出ますが、Google Homeに紐付いたアカウントで認証して下さい。そうしますと、実際のGoogle Homeでテストができます。

それではまずは、Actions on Googleでプロジェクト作りからはじめていきましょう。

Actions on Googleの使い方

プロジェクトの新規作成

まず、Actions on Googleにアクセスしアプリの枠を作り、その中身をDialogflowで作ります。
>>Actions on Google
Actions on Google

公式ドキュメントはこちらです。日本語も充実しています。
>>>>Actions on Google  |  Google Developers

プロジェクト名は英文字でつけます。国はJapanを選べばOKです。プロジェクト名はすでに取られていないかなどのチェックをし、問題なければ数秒して次の画面が表示されます。
Dialogflowを選ぶ

ここで、エージェント作成ツールであるDialogflowを選びます。「Build」をクリックしますと、Dialogflowの画面へ遷移します。

Dialogflowで会話の流れを設定していきます。

Dialogflowの使い方

エージェント名や言語の設定

Dialogflowではまず言語を指定します。アプリ名(エージェント名)はすでに入力されています。タイムゾーンなどは自動的に入力されていて、他はとくに何もしなくても大丈夫です。
Dialogflowの初期画面

右上の「CREATE」をクリックし先へ進みます。

Dialogflowの基本画面

Dialogflowの画面は左側にメニューがあり、中央でいろいろと設定する画面構成になっています。ただ基本的にはインテントとエンティティを作成すれば会話アプリはすぐに作れます。

  • インテント(会話)
  • エンティティ(単語の読み方やゆらぎ設定)

Dialogflowの概念
おすすめはエンティティから先に作ることです。

エンティティは単語のゆらぎを設定するところなので、「その単語を元に~する」という会話のやりとりを設計していくインテントで、すぐに引用でき、楽に作れるようになるためです。

なお、インテントはさまざまなパラメーターを活用することで、動的な内容を発話することもできるようです。

エンティティの設定

エンティティとは単語のゆらぎを設定する箇所です。ここでボイスコマンドのゆらぎを設定します。エンティティ名(英数字のみ)を入力し、その下にボイスコマントと、それに対応する他の読み方など、ゆらぎの単語を入力していきます。
エンティティ

さらに、「Entites」横の「+」マークをクリックしますと、新規エンティティを追加できます。つまりここでは、コマンドとして認識させたい単語とそのゆらぎをどんどんと入力していく、ということになります。

インテントの設定

ウェルカムボイスの設定

予め設定されていますインテントで、重要なのはウェルカムボイスです。ここで起動時に発せられる言葉を設定できます。

  • Default Fallback Intent(聞こえません等基本的なやりとり)
  • Default Welcome Intent(エージェント起動時に発する言葉等)

初期登録インテント

「Default Welcome Intent」をクリックしますと、初期設定が見られます。画面下方にデフォルトで「こんにちは。」とだけ設定されています。第1印象を決める言葉なので、他のアプリなども見て参考にすると良いでしょう。
ウェルカムインテント

対応メッセージの入力

予めインテントに登録しておいたフレーズを入力します。そうしますと自動でプログラム上必要な情報が自動入力されます。
エンティティとインテント

そうしましたら、画面下の「Responses」に返したい文章を入力していきます。複数入力しますと、そこからランダムに使われます。最大で30個までです。
エンティティとインテント

あとは残りの会話を入力します。「~と言われたら(Training phrases)xxxと返す(Responses)」を必要な分だけ設定。追加は、左メニューの「Intents」右にあります「+」マークで追加できます。

終了レスポンスの作成

終了させるレスポンスを作る必要があります。それぞれのインテントのResponsesの下に「Set this intent as end of conversation」とありますので、その発話後エージェントを終了させたい場合はチェックを入れます。
終了コマンド

たとえば、「天気は?」「雨です」と一言答えて終わりのようなアプリの場合は、作ったインテントでチェックを入れれば良いですし、「おしまい」といった終了ボイスとなるインテントを作成し、そのレスポンスで終了のチェックを入れても良いと思います。

今回わたしがつくりましたアプリでは、回答に対して「ありがとう」と言うと、終了させるようにしています。

会話インテントの事例

実際に作ったインテントはこんな感じです。5つ作ったインテントのうち「arigato」が終了ボイスとなるインテントです。
インテント事例

お疲れ様でした。

さて、それでは自分以外の人にもアプリを使えるようにGoogleに登録申請をしましょう。

Googleアシスタントへアプリの申請

Actions on Google の画面から申請に必要なアプリ情報を設定していきます。

アプリ名の設定

Actions on Googleの画面左にあります「OVERVIEW」をクリックしますと申請に必要な項目が表示されます。
アクションなどオーバービューActions on Google

1番目のActionsはDialogflowで設定した会話の中身。2番目の「App information」を選び「EDIT」をクリックして、画面の通りに入力していきます。必須項目(Optional 以外)は入力します。ただ後からでも変えられますので、気軽に進めて大丈夫です。
アプリ名

アプリ名や読み方を設定しますが、すでに取られているアプリ名、商標、汎用的すぎるもの等は避けましょう。予め登録アプリをリサーチしておくと良いです。
>>Google アシスタント

なおアプリ名は、試しに再生もできます。Google Homeがどんなふうにアプリ名を言ってくれるのかイメージがつかめます。
再生できる

アプリの概要を入力

アプリの概要を入力していきます。「e.g」と書かれたサンプルを参考にすれば迷うことはありません。前述の登録アプリを参考にしても良いでしょう。
グーグルホームの作り方

  • アプリで出来ること
  • 声色
  • 概要
  • 概要全文
  • 「Ok、Google」の後に続けて言ってもらう、起動の言葉

概要全文は出来る限り詳しく書きましょう。わたしは質素すぎて審査で指摘されました。

アイコンなど画像の設定

画像は、アプリ紹介ページのヘッダー画像と、Googleアシスタントでしゃべるときのアイコンになります。私はJPEGで登録しました。画像サイズは以下です。

  • 1920 x 1080(アプリページヘッダー)
  • 192 x 192(アイコン※下画像参考)

Googleアシスタントのアイコンサイズ

連絡先とプライバリーポリシー

登録者名(デベロッパー名)とメールアドレスを設定します。登録者名は必須ではありませんが、メールアドレスは必須で、公開されます。
プライバリーポリシーのURL

プライバリーポリシーのWebページを用意する必要があります。予め作っておき、URLをここで設定します。すでに登録されていますアプリのプライバリーポリシーの内容を参考にすると良いでしょう。

その他注意事項を確認、掲載カテゴリーを選び、該当するものがあればチェックします。これで一旦「保存(SAVE)」します。
注意事項

なお、Actions on GoogleやDialogflowなどでは、保存をマメにしましょう。ブラウザの戻るボタンなどで戻っても、保存されていない設定内容は復活しません。

その他必須事項

残り必須事項としては以下のようになりますが、Google Home とおしゃべりをするだけでのアプリであれば、画像や別途用意の音声など使わない場合は、すべてNoで大丈夫です。
対象のチェック

あとはオプション項目ですので、必要があれば入力すれば大丈夫です。わたしは入力しませんでした。

最後は保存もしくは申請

必要項目が埋まりましたたら「TEST DRAFT」で、アプリを作成したGoogleアカウントと紐付いた実際のGoogle HomeやスマホのGoogleアシスタントでおしゃべりを試せます。
レビュー申請

問題がなければ申請を行います。なお日本語のみの会話であれば、配信ターゲットを「Japan」のみにすれば審査は早くなります。また、これらの入力項目は随時、Actions on Googleの画面から編集が可能です。
Googleホームエージェントの申請

失敗・審査でリジェクト

申請は簡単、フォームに従って入力するだけ、画像は2つ必要

申請しますと、すぐに確認メールがきます。審査するまでちょっと待ってね、といった内容です。英語ですがこうした控えが届くのはとても安心です。
メールが来る

審査結果メールは1日で来た、リジェクトされるも日本語で解説付き

申請をして当日(4月9日0時申請で4月9日15時に結果)に審査結果メールが来ました。すごい速いですね。結果はリジェクト。残念。ただ、ちゃんと理由が具体的に書かれていて、かつ日本語なのでやりがいがでます。
修正依頼が来た

ただ、今後申請アプリが増えると日数もかかるものと思います。2018年4月9日時点での情報です。再審査はすぐに可能です。

リジェクトされた理由は3つ、情報があまりにも不足していた

  • プライバリーポリシーのページを用意して下さい。
  • 概要欄でアプリの説明が不十分でした。
  • 会話を終了させなければいけない(オープンなままで待機させてはいけない)。

審査が通ったアプリを参考に、もう少し充実させて、あとは終了コマンドをちゃんと実装しないと、ですね。これなら凹むことなく再審査を申請できそうです。

Actions on Googleのアプリ一覧にも審査状態が表示されます。これは気合い入りますね。
アプリ一覧にもリジェクトが表示

そして審査が通りますと、こんな感じのメールが届きます。テンションあがりますね。
こんな感じでくる

公開後も「~のテストバージョンです」と表示されるのはテストモードを切ってないから

審査が通って公式サイトに登録が確認されたら、Actions on Googleのテストモードをオフにしましょう。
テストモードを切り忘れないようにね

これで、「~のテストバージョンです」というメッセージは出なくなります。

これからも便利なアプリが作れるようがんばります。

アプリ開発者に贈られるTシャツがGoogleから届いた

Googleアシスタント開発者に贈られるTシャツが届きました(2018年6月23日)。
GoogleからTシャツが届いた

アプリ審査が通ったとの通知が来たときに、このフォームに入力してねとGoogleから連絡が来て、ついに届きました。いやー、嬉しいです。

みなさんも、審査が速い今だからこそ、ぜひ!

関連情報リンク

Googleアシスタントアプリのレビューを通過するための注意を英語で解説してくれています。

公式のGoogle Homeアプリ(アシスタント)ポータル。
>>Google アシスタント

よほどのトラフィックが無い限り無料のスタンダード版で大丈夫と思われますが、一度は確認しておきましょう。
>>ダイアログフロー・料金体系

公式のコミュニティの案内。スタックオーバーフローが示されています。※英語
>>Actions on Google コミュニティとサポート  |  Actions on Google  |  Google Developers

審査が通りますと、こちらに掲載されるはずです。
>>Google アシスタント

こちらの記事を参考にテストパブリッシュまで行いました。
>>Actions on Googleでapi.aiを使ってGoogle Homeに何か言わせてみる – Qiita

映画ジュマンジがキャンペーンとして、Google Homeアプリをリリース。
>>映画『ジュマンジ/ウェルカム・トゥ・ジャングル』Google Home Mini プレゼントキャンペーン(20秒) – YouTube

英語ですがQ&Aはこちらで活発にやり取りされています。
>>Newest ‘actions-on-google’ Questions – Stack Overflow

こちらも最新画面で解説されていてわかりやすいです。
>>1回のOK,Google!で複数のコマンドを受け付け、kintoneへ連携(Dialogflow ) – Qiita

Google Homeアプリの開発について、エンティティとインテントについて詳しく書かれています。
>>Google Homeアプリ開発をはじめよう! | フロントエンドBlog | ミツエーリンクス

テラテイルは日本語なのが嬉しいですよね。
>>Google – GoogleHomeアプリでテストバージョンにつながるのを止めたい(109281)|teratail

スクリプトが参考になります。
>>音声を流すGoogle Homeアプリをリリースしてみた – Gaku Nakamura – Medium

まとめ

Google Homeにしゃべらせるには、Actions on Googleからdialogflowを使いますと、とても簡単に出来ます。テストアプリだけであれば、すぐに会話することができます。

また、Googleではアプリ普及のために、前述のように無料から始められるクラウドも用意していますので、利用しない手はないですね。

ぜひみなさんもGoogleアシスタントアプリを作ってみてはいかがでしょうか。

・ ・ ・ ・ ・

>>安っ!アマゾンで半額以下になっている食品タイムセール
セール特設ページを見る

↓↓↓無料のニュースレターを配信中です

アシスタント