Build with Actions SDK "Deploy Fulfillment"の日本語訳です
注: この日本語訳は、翻訳時点での内容が反映されています。そのため、既に古い記載内容となっている可能性があります。必ず最新の情報を Actions on Google Document で確認してください。
Actions SDKを使ったGoogleアシスタント向けのアプリにおいて、作成したフルフィルメントを呼び出すためには、フルフィルメントをデプロイしてインターネット上から利用可能な状態にして、そのエンドポイントURLをアクションパッケージ内に記載することが必要です。Firebase Cloud Functionsとしてフルフィルメントを開発していた場合には、Firebaseにデプロイ後に決定されるURLを登録することになります。
Actions on GoogleのドキュメントにあるBuild with Actions SDK - Deploy Fulfillmentにて、この手順が説明されています。以下は、その日本語訳です。
フルフィルメントのデプロイ
本番環境用のCloud Functions for Firebaseにデプロイするように環境を設定する方法を説明します。
注: あなたのフルフィルメントは、5秒以内に応答する必要があります。そうでなければ、アシスタントがタイムアウトにより会話を終了します。
- Node.jsをダウンロードし、インストールします。
- Firebase CLIをセットアップし、初期化します。もし、以下のコマンドが
EACCES
エラーにより失敗する場合は、npmパーミッションを変更する必要があるでしょう。npm install -g firebase-tools
- あなたのGoogleアカウントを使って、firebaseツールを認証します。
firebase login
- あなたのアクションプロジェクトをfirebaseツールに関連付けします。
cd <cloud_function_dir>/functions firebase use PROJECT_ID
注: あなたのPROJECT_IDは、 myprojectname-ab123 のような何かに見えるでしょう。あなたのアクションプロジェクトの Settings エリアで、IDを見つけることができます。また、あなたのGoogleアカウントに関連付けられているプロジェクトを一覧表示するために firebase list を実行することで、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
- アクションパッケージ内でフルフィルメントを宣言している
conversations
オブジェクト内に、オブジェクトを作成します。"conversations": { "myFulfillmentFunction": { "name": "myFulfillmentFunction", "url": "(cloudFunctionName): https://us-central1-myprojectname-ab123.cloudfunctions.net/cloudFunctionName" } }
注: 開発マシン上で反復を早くするために、ローカルで開発やテストを行いたい場合があります。しかし、あなたのフルフィルメントは、インターネットから起動できなければなりません。この問題を回避するには、ngrokのようなツールを使用します。これは、インターネットから開発マシンにトンネルを作成することを可能にします。これにより、あなたのマシンが攻撃に対して脆弱になることに注意してください。この開発モデルを選択した場合は、注意が必要です。
Creative Commons Attribution 3.0 License 原文
← Actions on Google開発者向けドキュメント 日本語訳インデックス