一畳のくつろぎタイム

このブログでは紹介する商品画像をAmazonアソシエイトより借りています。画像やリンクにはアフィリエイト広告が含まれる事があります
ラベル Googleアシスタントアプリ開発 の投稿を表示しています。 すべての投稿を表示
ラベル Googleアシスタントアプリ開発 の投稿を表示しています。 すべての投稿を表示

2020年2月19日水曜日

突然のhas been taken down



突然メールが飛んできた。

ActionsOnGoogleからだけどいつものDNSが死んでサーバー到達できない
Assistant Action asamishizuclock is not responding
ではない

タイトルは
asamishizuclock has been taken down

アホだからすぐに意味は分からないけど、take downなのでネガティブな事になったのはわかります。

 丁度AWSのスポットインスタンスに乗せていたので
「あぁ、スポットリクエストがダメになってサーバー逝ったか」と遠い目をしていたのですが、
ssh接続してみるとサーバーは元気いっぱい。

メールの英文をしっかりと読んでみると、こういう事だった。

あなたのアプリは以下の違反で停止された。
・アプリの呼び出し文言が正しくありません。 
( ;∀;) 、え?なぜ急に

審査のためにアシスタントアクションを送信していただきありがとうございます。残念ながら、次の理由でアクションが拒否されました。
 ( ゚Д゚)ほとんど更新ないし、最近レビューに出した記憶はないのだけれど・・

ネーミング要件ポリシーに違反しています。
 「を教えて」はメイントリガーの文言として適切ではない、
「につないで」や 「と話して 」だったら良い。
 例を示すと
「しずくクロックと話して時刻を教えて」
しずくクロックにつないで時刻を教えて」
とか
( ..)φメモメモ 改善方法が書いてある・・・。
「しずくクロックと話して時刻を教えて」は人間の言葉としては微妙かな。

結論は
「しずくクロックで時間を教えて」という呼び出し文言を急にダメって言われて、
「 しずくクロックにつないで時間を教えて」でOKだったという話。

修正リリースしたら10分で以下のメールが来た。

 asamishizuclock has been reinstated
しずくクロックが復活した!


人の声って好みがあるので、相性があると思いますが以下のリンクから試せます。
🅖 Ask しずくクロック to 雫月に時間を読み上げてもらう

2019年2月25日月曜日

Googleアシスタントアプリのメディアファイル置き場を0円で解決する

Googleアシスタント公式できることの、最新のサービスの所の下の方に出てるので探してみて!


Googleアシスタントアプリのしずくクロックを作るにあたって、プログラム実行部分はFirebaseではなく自前で用意した。アシスタントアプリはJSONテキストを戻りとするが、 声のデータ(oggファイルやmp3ファイル)はHTMLなどで画像を参照するのと同等で、URLの記述をし、アシスタント側(HOMEやスマホ)がJSONの結果をもとに取得に行く。
はじめは同じサーバーから取得させていたが、この静的データは同じWebサーバーにおいてある必要はない。

メディアを提供するWebサーバー側には要件はあって
*SSLに対応している事

おそらくこれのみだと思う。

2019年1月30日水曜日

Googleアシスタントアプリの動作確認の種類

アシスタントアプリは作ったら試したいわけで、どうすれば試せるのかわかってきたのでまとめました。


アプリには3つのバージョン+ドラフトバージョンという4バージョンが存在します。

・ドラフト版

即時反映バージョン、開発してる人が動作確認に使うもの

・アルファ版

リリース後4時間ぐらいで使えるようになるバージョン、アルファテスターとして登録したアカウントのみ使用できる。

・ベータ版

アルファ版と基本同じだが、テスターの人数が10倍ぐらい多い。
テスター登録したアカウントのみが利用できる。

・プロダクション版

一般の人が利用できるバージョン 、Googleによるレビューがあるため、平日にしかレビュー作業は行われず、レビュー後リリースまでに4時間ぐらいかかる。


開発者本人だけ使えればよい場合

ドラフト版を使うことになる。シミュレーターなどで起動可能ならば他には必要ないと思う。
・自分のアカウントでセットアップしたGoogleHome
・自分のアカウントで動作するAndroidやiOS上のgoogleアシスタント
ですぐ動作確認ができる。

1人ならこれで開発してProductionリリースをすればGoogleによるレビュー(チェック)後に一般の人から利用できるようになります。


開発者本人とは別に、一緒に作ってる人のアカウントがあるような場合

アシスタントアプリの設定変更や動作の変更、アナリティクスの確認をしてもらう必要があれば、 アルファ、ベータではなく、プロジェクトシェアリングという機能で行うと、
今挙げたことや、ドラフト版での即時反映で動作確認が行えます。




プロジェクトシェアリングしたアカウントをアルファテスターやベータテスターに登録したら、なにかおかしくなりアプリの紹介画像や本文が変わらなくて、Googleに助けてもらいました。その際にいろいろわかりました。

友達や家族だけに試してもらいたい場合

アルファテスターでは20名ぐらい登録できるので、アルファテスターで十分だと思います。
アルファテスターリストに、対象のGoogleアカウントを追加し。
アルファテスターのためのリンクをメールなどで送付します。
自動でする方法は知らないだけかもしれませんが、私はわかりません。
PC上で同リンクをクリックしてもアルファテスター登録にはならなかったので、
アシスタントアプリの入ったスマートフォン上で実施する必要があると思います。

リンクの送付、本人の承認という手順を踏まないとテスターにはなりません。

一般の人に使ってもらいたい場合

プロダクションリリースをする必要があります。
プロダクションリリースはGoogleのレビューがあるため、ちょっとした不備で却下されます。
私の場合、それなりに勉強して臨んだものの、プライバシーポリシーにアシスタントアプリ名が入ってないという事で却下されました。
名前だけ追加して通りました。

第三者に個人を特定できる情報を提供することはありません。
↑ダメ

しずくクロックでは
第三者に個人を特定できる情報を提供することはありません。
↑OK 

2019年1月8日火曜日

PHPでGoogleアシスタントアプリ作った

https://assistant.google.com/services/invoke/uid/000000a46de75b4e?intent=%E6%99%82%E9%96%93%E3%81%AE%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B


GoogleHome用のアプリを作ろうとすると、
Googleアシスタント用のサイトActionsOnGoogleを使う必要がある。
声をテキスト化するにはDialogFlowというサイトを利用する。
ActionsOnGoogleとDialogFlowはセットのようなものである。

また、プログラムを置く場所(実行環境)としてCloud Functions for Firebaseが必要となる。
FireBaseではプログラムをサーバーサイドJavaScriptで作る必要があるようだが、
慣れてるPHPで作りたいと思ったので、Cloud Functionsは使わずプログラムを置く場所として自前でPHP実行環境とサーバを用意した。

node.js環境でGoogleアシスタント用のライブラリを利用して作るのが一番楽そうだが、 根本理解したい部分もあったので、ライブラリなしであえて棘の道を歩く。

アシスタントアプリと言ってもやることは、レスポンスとしてJSONのテキストを返すだけなので、考え方によっては普通のHTMLでWebサイト作るより楽かもしれない。

苦労した点は、JSONの形式が公式ドキュメントのものと微妙に違う点である。
Conversation API playgroundというレスポンス作成ツールがあるのだが、これで出力される形式でJSONを作る必要があった。
このことに気づくまでは、本当に何もかもうまくいかなくて心が折れそうになる。

作成したアシスタントアプリ「しずくクロック」を試してみる方はこちら
🅖 Ask しずくクロック to 雫月に時間を読み上げてもらう
アシスタントアプリは名称でユニークになっているので、インストールなどは必要なく
GoogleHomeやAndorid端末、GoogleアシスタントアプリをインストールしたiPhoneなどから、

「OK Google しずくクロックと話す」というと対話モードで動作します。
対話といっても、クロックなので時間を読み上げるのがメインコンテンツです。それ以外は声を担当してくださった朝水雫月(あさみしずく)さんの情報が得られる機能しかありません。
キーワードとしては「歌」、「ほめて」、「うるさい」、「ありがとう」、「できることを教えて」などに反応するように作成してあります。
キャラ時計ぽくなったので、画面のある端末で試した方が面白いかもしれません。

あまりひどいことを言うと、ウイグル獄長のセリフが出てきます。

他、色々ネタ声も録ってくれた朝水氏には感謝の嵐であります。

「OK Googleしずくクロックで時間を教えて」というと 対話モードとはならず、時間を読み上げ終了します。
この使い方が一番想定された使い方です。

今回のアプリはが一番のアピールポイントです。
Googleアシスタントは、時間を正確に教えてくれますが、かわいくはありません。
かわいい声の価値観も人それぞれだと思いますので、極端にアニメ声や、イケメンボイスのアシスタントも作ってみたい気はします。

声の活動されている方で、 自分の声のアシスタントが作りたい方はご相談ください。

参考図書

この本はPHPで書いてありませんが、公式サイトがまだ英語で書かれてる部分の多いので、機能の概要を掴むのとリッチレスポンスなどがとても参考になりました。
まだ1/4ぐらいの機能しか使ってないですね。

【Google Home対応】ステップバイステップで力がつく Googleアシスタントアプリ開発入門


年末の3000円セールでアレクサ買ったので、アレクサスキル版も作りたいと考えております。