Build with Dialogflow "Deploy Fulfillment"の日本語訳です
注: この日本語訳は、翻訳時点での内容が反映されています。そのため、既に古い記載内容となっている可能性があります。必ず最新の情報を Actions on Google Document で確認してください。
フルフィルメントの構築では、FirebaseのCloud Functionとしてフルフィルメントを作りました。これをFirebaseにデプロイするための方法が、Actions on GoogleのDeploy Fulfillmentにて説明されています。以下は、その日本語訳です。
フルフィルメントをデプロイする
本番環境用のCloud Functions for Firebaseにデプロイするように環境を設定する方法を説明します。ただし、フルフィルメントをホストするHTTPSリクエストおよびレスポンスをサポートするウェブホスティング・プラットフォームを選択することができます。
注: あなたのフルフィルメントは、5秒以内に応答する必要があります。応答しなかった場合は、アシスタントがタイムアウトのために会話を終了します。
- Node.jsをダウンロードし、インストールします。
- Firebase CLIを設定して初期化します。次のコマンドが
EACCES
エラーで失敗する場合は、npmパーミッションを変更する必要があります。npm install -g firebase-tools
- Googleアカウントでfirebaseツールを認証します。
firebase login
- firebaseツールをActionsプロジェクトに関連付けます。
cd <cloud_function_dir>/functions firebase use PROJECT_ID
注: PROJECT_IDは、 myprojectname-ab123 のようになります。Actionsプロジェクトの設定領域でIDを見つけたり、firebaseリストを実行してGoogleアカウントに関連付けられているプロジェクトをリストしたり、IDを参照したりすることができます。
- フルフィルメントに依存するものを取得し、フルフィルメントをデプロイします。
cd <cloud_function_dir>/functions npm install firebase deploy --only functions
展開には数分かかります。完了すると、次のような出力が表示されます。Dialogflowに入力するには、 Function URL が必要です。
✔ Deploy complete! Project Console: https://console.firebase.google.com/project/myprojectname-ab123/overview Function URL (cloudFunctionName): https://us-central1-myprojectname-ab123.cloudfunctions.net/cloudFunctionName
- Dialogflowの左側のナビゲーションで、 Funfillment をクリックし、 ENABLED スライダを右に移動し、 URL フィールドに Function URL を入力します。例えば、Dialogflowのフルフィルメント設定は、このスクリーンショットのようになります。
注: 開発マシン上で反復を早くするために、ローカルで開発やテストを行いたい場合があります。しかし、あなたのフルフィルメントは、インターネットから起動できなければなりません。この問題を回避するには、ngrokのようなツールを使用します。これは、インターネットから開発マシンにトンネルを作成することを可能にします。これにより、あなたのマシンが攻撃に対して脆弱になることに注意してください。この開発モデルを選択した場合は、注意が必要です。
Creative Commons Attribution 3.0 License 原文
← Actions on Google開発者向けドキュメント 日本語訳インデックス