действие SDK не работает - PullRequest
0 голосов
/ 30 мая 2018

Я обновил свой index.js, как показано ниже

'use strict';
const functions = require('firebase-functions');
const admin     = require('firebase-admin');
const {actionssdk} = require('actions-on-google');
const app = actionssdk({debug: true});


 exports.dairyProduct = functions.https.onRequest((request, response) => {
    console.log("request-------------->",request);
    console.log("response----------------->",response);

    function handleMainIntent(app) {
        console.log("Inside Main Intent");
        app.ask("Main Indent "+app.getRawInput());
     }
    function handleTextIntent() {
        console.log("Inside Main Intent");
        app.tell("First Text Indent");
    }
    let app = new ActionsSdkApp({request, response});
    let actionMap = new Map();
    console.log("app---------->",app);
    actionMap.set(app.StandardIntents.MAIN, handleMainIntent)
    actionMap.set(app.StandardIntents.TEXT, handleTextIntent);
    app.ask("This sample application is developing by Thirumani Selvam.M ");
    console.log("actionMap---------->",actionMap);
    app.handleRequest(actionMap);
 });

Мой обновленный action.json

    {
  "actions": [
    {
      "description": "Default Welcome Intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "testapp"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "Talk to Dairy Product"
          ]
        }
      }
    }
  ],
  "conversations": {
    "testapp": {
      "name": "testapp",
      "url": "https://us-central1-samplejs6-id.cloudfunctions.net/dairyProduct",
      "fulfillmentApiVersion": 2,
      "inDialogIntents": [
        {
          "name": "actions.intent.CANCEL"
        }
      ]
    }
  },
  "locale": "en"
}

Мой код package.json

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "actions-on-google": "^2.0.1",
    "firebase-admin": "~5.12.0",
    "firebase-functions": "^1.0.1"
  },
  "devDependencies": {
    "eslint": "^4.12.0",
    "eslint-plugin-promise": "^3.6.0"
  },
  "private": true
}

iразвернул с помощью "firebase deploy - только функции". Я обновил действие с помощью "gactions update --action_package action.json --project samplejs6-id". Я обновил тест с использованием действий "gactions test --action_package action.json -project samplejs6-id "

Я не получил ошибок в журналах Firebase.Я изменил название и имя в группировках как «Молочная команда».Рекомендую набрать «Поговори с молочной командой».Если я наберу «Talk to Dairy team», я получу ответ «Извините, но что-то пошло не так. Пожалуйста, попробуйте еще раз».

Пожалуйста, дайте мне знать, как решить эту проблему.Заранее спасибо

1 Ответ

0 голосов
/ 30 мая 2018

Проблема в том, что вы используете библиотеку "actions-on-google" версии 2, но ваш код написан с использованием объектов и функций версии 1.Там были некоторые существенные изменения между двумя версиями.См. руководство по миграции для получения подробной информации о том, как выполнить обновление до новой версии или измените файл package.json для использования версии 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...