Dialogflow fulfillementを使ってGoogle Home Agentの作成を試みていましたが、、ライブラリのバグが多すぎで断念。とはいえ、何とか作りたかったので先人の方に教えていただいたのが、Action on Googleをそのまま使えばいいんですよ、、というお言葉。
ということで、まずはFirebase Cliを入れてプロジェクトを作ってみたときのメモ。
Firebase CLIのインストール
こちらはnpmがインストールされていること前提とすると、簡単に導入できました。マニュアルはこちら。
npm install -g firebase-tools
こちらでインストール完了。
firebase login
とすると、
Allow Firebase to collect anonymous CLI usage and error reporting information?
と、、情報収集のy/nが聞かれるのでそこはご自由に。
応答すると、ブラウザが開いてどのアカウントで認証するかを聞かれます。これに答えると、
+ Success! Logged in as [認証したアドレス]@gmail.com
が表示されて成功となりました。
Firebase CLIからプロジェクト確認
すでに、Dialogflowでagentを作成して、fulfillementを作成しているので
firebase list
を実行すると正しくプロジェクトの一覧が表示されるかを確認。
Firebase CLIでローカルのプロジェクトディレクトリ作成
プロジェクトを作成したいディレクトリに移動して、
firebase init
を実行すると、初期化が始まります。最初にどの機能を使うか?を聞かれるので、とりあえず、Functions, Storageを選択。
次にどのプロジェクトを設定するかの一覧が表示されるので選択するかもしくは新規で作成。
そのあとは、設定ファイルなどをどうするか?を聞かれますので、とりあえずデフォルトで進めるとプロジェクトが作成されました。
Firebase CLIでデプロイ
functionsディレクトリに作成されたindex.jsとpackage.jsonはほぼ空ファイルです。このためテストのため、DialogflowのInline Editorから2ファイルをダウンロードして、上書きします。
上書きした後に
firebase deploy
を実行すると依存関係のエラーがでるので、functionsディレクトリに移動して
npm install dialogflow-fulfillment
npm install action-on-google
の2つをインストールした後で再度
firebase deploy
で、、成功しました。
これで、ローカル編集からのデプロイ環境が整いましたので、、次に、Dialogflow fulfillementではなく、action on googleを使ってHomeのfulfillementを書いてみたいと思います。
注意)一度デプロイに成功すると、DialogflowのInline Editorは利用できなくなります(赤エラーが表示される)。こちら許容される方のみ、上記お試しください。