会话结束后如何使用谷歌助手回复用户?

问题描述 投票:0回答:2

我正在进行谷歌行动。我有一个场景,计算需要一些时间在云实现,但我不想让用户等待答案。即使与用户的对话结束,我想在我的答案准备就绪时回复用户我想在通知中发送我的答案或类似的东西。

我刚刚在谷歌行动文件中找到了这个。 https://developers.google.com/actions/assistant/updates

这有可能在谷歌的行动和如何?

actions-on-google dialogflow google-assistant-sdk
2个回答
2
投票

你在这里的意思是通知。您可以使用它,但请注意您提供的链接顶部的警告:“更新和通知目前在开发人员预览版中。您可以使用本文中描述的功能构建应用程序,但您目前无法发布它们”。

至于创建每日通知的步骤:

  1. 导航到您的actions.intent.CONFIGURE_UPDATES意图。
  2. 在“响应”下,转到“Google智能助理”标签,单击“添加消息内容”,然后选择“自定义有效负载”。 在“自定义有效负载”框中,添加以下代码以调用AskToRegisterDailyUpdate帮助程序。将INTENT_NAME交换为当用户与您的通知进行交互时要调用的意图。 { "google": { "system_intent": { "intent": "actions.intent.REGISTER_UPDATE", "data": {"@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec", "intent": "INTENT_NAME", "triggerContext": { "timeContext": { "frequency": "DAILY" } } } } }} 如果使用webhook,您可以直接通过客户端库调用此API: appMap.set('setup_update', function(app) { app.askToRegisterDailyUpdate('INTENT_NAME'); }) }) 再添加一个名为“finish_update_setup”的intent,并输入actions_intent_REGISTER_UPDATE作为其Event。 将intent的Action设置为“finish_update_setup”。 在您的webhook中,打开index.js并添加以下内容。替换好,我会开始给你每日更新,好的,我不会给你每日更新。无论您想要给用户的任何回复: appMap.set('finish_update_setup', function(app)) { if (app.isUpdateRegistered()) { app.tell("Ok, I'll start giving you daily updates."); } else { app.tell("Ok, I won't give you daily updates."); } } 将webhook部署到Firebase功能并在Dialogflow中启用webhook实现。

如果您想了解如何创建简单的通知(而不是每日通知) - 请在push notifications上查看此文档。


-2
投票

如果你没有立即回复发送但很快就会发现你所做的就是返回“承诺”。当您能够回复时,“履行”承诺会导致您的回复被送达。我不知道实际超时是多少,但在我的情况下,我很确定至少允许几秒延迟。

至于更新或通知,API就在那里,但是文档说你不能使用它们将Action部署到生产中。如果您需要,可以对“联系支持”进行一些略微含糊的评论。

有一天我可能会尝试。

© www.soinside.com 2019 - 2024. All rights reserved.