【问题标题】:Does Firebase functions retain state for google assistantFirebase 功能是否保留谷歌助手的状态
【发布时间】:2017-11-02 03:13:10
【问题描述】:

场景是这样的。我想向用户显示一两个项目,但我不想一遍又一遍地显示相同的项目。我认为Firebase 函数不会保留状态,因为每个函数调用都会再次激活该函数。那么如何在不必将状态存储在数据库中的情况下维护状态。

【问题讨论】:

    标签: actions-on-google dialogflow-es


    【解决方案1】:

    不,Firebase 函数不保留状态。事实上,您甚至无法保证在对同一个 webhook 的调用之间运行在同一台服务器上。

    如果您想在对话期间保持状态,但在对话的不同部分之间,您有两种好方法:

    1. 如果您使用的是 actions-on-google JavaScript 库,您可以将数据放入 app.data 字段中,并且在下次调用时可以在同一位置使用。 (我找不到这方面的文档,但它在https://plus.google.com/105458329026934344336/posts/Xr1KPiMPzpH 中报告)

    2. 由于您使用的是 Dialogflow,因此您可以将状态作为参数添加到 Context。只要 Context 处于活动状态,这些参数将保留在 Context 中,并可供希望将其作为传入 Context 的未来 Intent 使用。

    如果您需要在会话之间维护状态,则需要保存该状态,该状态可能与每次请求传递给您的匿名 UserID 相关联。

    这些方法类似于您为用户处理 Web 请求时使用的方法。

    【讨论】:

    • 谢谢。将尝试此操作并将结果与​​您联系
    • 希望对您有所帮助!如果是这样 - 总是赞赏和/或接受答案。如果您在尝试实现它时有具体的详细问题,请发布一个新的 StackOverflow 问题,其中包含您尝试过的代码以及哪些代码不起作用,这通常是我们可以进一步帮助您的最佳方式。
    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多