【问题标题】:How to manage a customize for returning users in dialogflow fullfilment?如何在对话流履行中管理为返回用户定制的?
【发布时间】:2019-04-26 18:27:49
【问题描述】:

按照 action-on-google 开发者平台上的设计提示,我正在尝试为重新使用 Google Assistant Voice 应用的用户提供自定义欢迎响应。 https://developers.google.com/actions/design/tips

要继续,我首先在 Fullfilment 模式下在 Dialogflow 中切换我的默认欢迎意图。然后在firebase上部署我的代码。当我请求名称权限时效果很好,但是当我尝试输入“AppRequest.User lastSeen”时,我的应用程序关闭了吗? 也许您知道我在代码中遗漏了什么?

'use strict';

const {
  dialogflow,
  Permission,
} = require('actions-on-google');

const functions = require('firebase-functions');

const app = dialogflow({debug: true});

app.intent('Default Welcome Intent', (conv) => {
  const welcome = (conv) => {
  if (conv.user.last.seen) {
    conv.ask(`Hey you're back...`);
  } else {
    conv.ask('Welcome to World Cities Trivia!...');
  }
}});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

【问题讨论】:

    标签: dialogflow-es actions-on-google


    【解决方案1】:

    看起来欢迎 Intent Handler 中的代码实际上并没有做任何事情。

    您设置处理程序

    app.intent('Default Welcome Intent', (conv) => {
      ...
    });
    

    但是在你的处理程序中你创建了另一个函数

      const welcome = (conv) => {
        if (conv.user.last.seen) {
          conv.ask(`Hey you're back...`);
        } else {
          conv.ask('Welcome to World Cities Trivia!...');
        }
      }
    

    永远不会被调用。不清楚为什么你有这个内部功能,因为它不是必需的。您只需要在外部的 that 函数的主体。所以它可能看起来像这样:

    app.intent('Default Welcome Intent', (conv) => {
      if (conv.user.last.seen) {
        conv.ask(`Hey you're back...`);
      } else {
        conv.ask('Welcome to World Cities Trivia!...');
      }
    });
    

    【讨论】:

      【解决方案2】:

      您应该从 conv 对象中读取它,它代表对话中的一个转折点并公开各个请求的属性:conv.user.last

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        相关资源
        最近更新 更多