【问题标题】:Dialogflow and Push notificationDialogflow 和推送通知
【发布时间】:2018-06-14 02:14:11
【问题描述】:

我实际上正在实现推送通知 (https://developers.google.com/actions/assistant/updates/notifications),但我不确定是否了解所有内容。

我正在通过 webhook json 和 php webservices 使用对话流,并且打算与 google home(和电话)一起使用。 我所有的测试都是通过模拟器完成的。

我已经创建了一个意图 get_store

我创建了 2 个隐式意图(notification_store 和 notification_text)并在操作控制台中将它们作为通知激活。

当我进入 get_store 时,我正在请求为 notification_store 发送通知的权限(发送 gmap 链接),当用户回答是时,它返回我一个 UPDATES_USER_ID 并在所有下一个请求中将用户权限设置为 true . 然后,我使用这个 UPDATES_USER_ID 和 get_store 发送通知(它以 200 ok 响应)

问题: - 一旦我接受了权限,即使我想为 notification_text 发送通知,它也不会询问我任何新的权限,这意味着它是所有通知意图的一个更新权限?
- 即使在使用重置按钮或更改版本后,我也无法从我的用户中删除 UpdatePermission - 我有疑问,它是否仅适用于已发布版本(alpha/beta/prod),甚至适用于草稿?

如果有人可以帮助我了解什么是可能的,那么我就可以知道什么是有效的,什么是无效的,什么是不可能的。

谢谢。

【问题讨论】:

  • 这是在谷歌家庭/智能音箱上运行的吗?我正在尝试找到一种在与 google home 交互后将通知推送到用户手机的方法。
  • 您好,事实上,我的项目是在谷歌家庭扬声器上,我正在使用通知在手机上发送额外信息(如谷歌地图链接)。但最后,通知并不是一件好事,相反,我会使用多面对话:developers.google.com/actions/assistant/…

标签: push-notification actions-on-google dialogflow-es


【解决方案1】:

当您请求发送推送通知的权限时,UPDATE 权限会被缓存,因此您不必反复向用户请求权限。但是,此权限对于请求权限时指定的意图是唯一的。

当请求用户发送推送通知的权限时,您必须指定您请求权限的隐含意图。所以在 get_store 中,我想这个意图被设置为 notification_store

以下代码使用Node.js客户端库,但概念相同:

app.intent('get_store', (conv) => {
  conv.ask(new UpdatePermission({intent: 'notification_store'}));
});

因此,您不能使用 get_store 来请求 notification_text 的权限。相反,您需要创建一个单独的 Intent,例如 get_text,它专门请求允许发送 notification_text 的推送通知。

【讨论】:

  • 在玩了很多之后,显然,当你请求更新权限时,它会返回一个用户令牌 ID。然后,您必须将此令牌用于任何意图通知。您只需要一次请求即可获得 UPDATE 权限。
猜你喜欢
  • 2015-08-19
  • 2013-04-17
  • 2010-10-13
  • 2012-04-14
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
相关资源
最近更新 更多