Firebase功能是否为Google助手保留状态

时间:2017-11-01 16:54:22

标签: actions-on-google dialogflow

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

1 个答案:

答案 0 :(得分:4)

不,Firebase功能不保留状态。事实上,你甚至不能保证在同一个webhook的调用之间在同一台服务器上运行。

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

  1. 如果您使用的是谷歌动作JavaScript库,则可以将数据放入app.data字段,并在下次调用时在同一位置使用。 (我找不到关于此的文档,但在https://plus.google.com/105458329026934344336/posts/Xr1KPiMPzpH

  2. 中报告了
  3. 由于您正在使用Dialogflow,因此可以将状态作为参数添加到Context。这些参数将保留在上下文中,并且只要上下文处于活动状态,即可将其作为传入上下文的未来Intent使用。

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

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