2017
11.17

Action on Googleでのコンテンツ開発[2]

GClue

Firebaseの設定

npm install -g firebase-tools
firebase login
mkdir AgentTest
cd AgentTest
firebase init

プログラム

mkdir functions

package.json

{
  "name": "AgentTest",
  "description": "Test of agent",
  "version": "0.0.1",
  "author": "GClue Inc.",
  "engines": {
    "node": "~4.2"
  },
  "dependencies": {
    "actions-on-google": "^1.0.0",
    "firebase-admin": "^4.2.1",
    "firebase-functions": "^0.5.7"
  }
}

index.js

'use strict';

process.env.DEBUG = 'actions-on-google:*';
const App = require('actions-on-google').DialogflowApp;
const functions = require('firebase-functions');


// a. the action name from the make_name Dialogflow intent
const NAME_ACTION = 'get_color';
// b. the parameters that are parsed from the make_name intent 
const COLOR_ARGUMENT = 'color';

exports.AgentTest = functions.https.onRequest((request, response) => {
  const app = new App({request, response});
  console.log('Request headers: ' + JSON.stringify(request.headers));
  console.log('Request body: ' + JSON.stringify(request.body));


// c. The function that generates the silly name
  function makeName (app) {
    let color = app.getArgument(COLOR_ARGUMENT);
    app.tell('あなたは ' +
      color + 'がすきなんですね。Firebaseからのメッセージ');
  }
  // d. build an action map, which maps intent names to functions
  let actionMap = new Map();
  actionMap.set(NAME_ACTION, makeName);


app.handleRequest(actionMap);
});

packege.jsonで指定したパッケージをインストールします。

npm install

FifebaseにDeployします。

firebase deploy --only functions

DialogflowのWebhookの設定

Function URL (AgentTest):が発行されるので、これをDialogflowのWebhookのEndpointに指定します。

Menuから、Fulfillmentを選択し、WebhookをEnableに変更します。

 

Firebaseで発行されたURLをWebhookのURLに指定します。

[SAVE]して完了です。

Intentsのget_colorを選択し、FulfillmentのUse webhookにチェックマークをいれます。

 

最後に[SAVE]します。

 

エミュレーターでの確認

IntegrationsからGoogle Assistantを選択します。

変わりに、get_colorを選択します。

UPDATE DRAFTを選択します。

表示されるGoogle AssistantのDialogボックスをいったん閉じます。

再びIntegrationsから、Google Assistantを選択します。

TESTを選択します。

Test now activeの表示がでたら、[VIEW]を選択します。

Comment

  1. No comments yet.

  1. No trackbacks yet.

You must be logged in to post a comment.