思ってることってこんなもんだよ
Build with Actions SDK "Deploy Fulfillment"の日本語訳です

Actions SDKを使ったGoogleアシスタント向けのアプリにおいて、作成したフルフィルメントを呼び出すためには、フルフィルメントをデプロイしてインターネット上から利用可能な状態にして、そのエンドポイントURLをアクションパッケージ内に記載することが必要です。Firebase Cloud Functionsとしてフルフィルメントを開発していた場合には、Firebaseにデプロイ後に決定されるURLを登録することになります。

Actions on GoogleのドキュメントにあるBuild with Actions SDK - Deploy Fulfillmentにて、この手順が説明されています。以下は、その日本語訳です。


フルフィルメントのデプロイ

本番環境用のCloud Functions for Firebaseにデプロイするように環境を設定する方法を説明します。

注: あなたのフルフィルメントは、5秒以内に応答する必要があります。そうでなければ、アシスタントがタイムアウトにより会話を終了します。

  1. Node.jsをダウンロードし、インストールします。
  2. Firebase CLIをセットアップし、初期化します。もし、以下のコマンドが EACCES エラーにより失敗する場合は、npmパーミッションを変更する必要があるでしょう。
     npm install -g firebase-tools
    
  3. あなたのGoogleアカウントを使って、firebaseツールを認証します。
     firebase login
    
  4. あなたのアクションプロジェクトをfirebaseツールに関連付けします。
     cd <cloud_function_dir>/functions
     firebase use PROJECT_ID
    

    注: あなたのPROJECT_IDは、 myprojectname-ab123 のような何かに見えるでしょう。あなたのアクションプロジェクトの Settings エリアで、IDを見つけることができます。また、あなたのGoogleアカウントに関連付けられているプロジェクトを一覧表示するために firebase list を実行することで、IDを閲覧できます。

  5. フルフィルメントに依存しているものを入手し、フルフィルメントをデプロイします。
     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
    
  6. アクションパッケージ内でフルフィルメントを宣言している 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開発者向けドキュメント 日本語訳インデックス