Dialogflow Webhook UpdatePermissions自定义提示

时间:2018-08-16 03:23:06

标签: node.js dialogflow actions-on-google google-home

我当前正在尝试在我的dialogflow Webhook中实现推送通知的提示。如果我按照Google文档(https://developers.google.com/actions/assistant/updates/notifications)中的操作中所述的方式实施推送通知,它将很好地工作并设置用户以接收推送通知。

conv.ask(new UpdatePermission({
            intent: 'send_notification'
        }));

当用户激活此部分代码时,系统会提示他们

  

我可以发送有关 my_updates_intent 的推送通知吗?

此消息没有问题,但是,我至少希望在其前面加上我自己的消息,以便我可以根据用户在对话流中的位置在上下文中显示此提示。例如:

  

您的电子邮件已设置。我们可以设置通知以使您了解情况。如果我发送 my_updates_intent 的推送通知可以吗?

  

没问题,我们不会给您发送电子邮件。如果您有兴趣,我们可以设置通知以随时通知您。如果我发送 my_updates_intent 的推送通知可以吗?

使用 Permission 构造函数继承了 UpdatePermission ,我可以设置一个允许执行此操作的上下文。

conv.ask(new Permission({
    context: "So we can give you directions",
    permissions: ['DEVICE_PRECISE_LOCATION'],
});

谁会回应:

  

因此我们可以为您提供指示,我只需要从Google获取您的街道地址即可。可以吗?

该信息的前半部分是我写的,后半部分是Google根据我所请求的许可类型而写的。

从逻辑上讲,我认为也许可以通过将 permissions 设置为 UPDATE 的基本 Permission 构造函数来解决此问题:

conv.ask(new Permission({
    context: 'Your email has been set. We can set up notifications to keep you informed',
    permissions: ['UPDATE'],
    updatePermissionValueSpec: {
        arguments: undefined,
        intent: 'send_notification'
    }
}));

但是,它的响应与 UpdatePermission 构造函数相同,并且完全忽略了我的上下文。我找不到任何解决此问题的文档或在线资源。有可能吗?还是我缺少明显的东西?

1 个答案:

答案 0 :(得分:3)

在联系Google支持人员的操作后,我了解到UpdatePermission消息目前无法自定义。

来自支持团队:

  

不幸的是,无法更改此消息以进行更新和推送通知。我将其添加到我们的系统中作为反馈。

希望这可以帮助其他面临类似问题的人。