对话流 conv.user.id 弃用 - 有什么影响吗?



类似于 DialogFlow V2 用户 ID?我正在使用 conv.user.id(对话流 v2(中的用户 ID 来(匿名(确定我的对话流应用程序中的用户。但是,我收到日志消息:

conv.user.id is *DEPRECATED*: Use conv.user.storage to store data instead 

这是否意味着我将(很快(不再有权访问用户 ID?我知道我可以将数据存储在conv.user.storage中,但我需要id-而不是存储。

有人想过如何对此进行故障保护吗?

代码片段:

app.intent('Default Welcome Intent', conv => {
var userID = conv.user.id;
// do something
});

匿名用户身份已被弃用,将从 2019 年 6 月 1 日(一年后(开始正式删除。所以你的代码片段将开始失败。

修复取决于您使用 id 的方式和原因,但对于最基本的需求,您可以执行以下操作:

  1. 检查您是否在用户存储中存储了 ID。如果您有 - 使用此 ID。

  2. 如果没有,请生成一个 id(生成 UUID 是一个很好的方法(,将其用作您的 ID,并将其存储在 userStore 中以供将来参考。

执行此操作的代码可能如下所示:

if ('userId' in conv.user.storage) {
userId = conv.user.storage.userId;
} else {
// generateUUID is your function to generate ids.
userId = generateUUID();
conv.user.storage.userId = userId
}

或者,您可能希望只计划使用Google Sign-In作为助手,这将使您获得Google UserID。

编辑:用户ID在条件中应引用。

最新更新