我试图在用户第二次返回我的应用程序后个性化欢迎消息 . 为了识别用户,我保存了由google在Action-Request中生成和发送的“userId” .
它在模拟器中工作得很好,其中userID看起来像这样:
ABwppHGLJJ-odPadAddq-HOIqpS_tee0jFGJsMV5r-uTCaC9_4Hpz9hi-7YR9823Ulf9PkO7AWJjsotr0989A
当我在真实设备上测试我的Alpha-App时,“userId”总是与conversationId相同 . ID在下次访问时都会发生变化,这使得无法识别用户 .
{
"user": {
"userId": "1529659908330",
"locale": "de-DE",
"lastSeen": "2018-06-22T09:31:45Z"
},
"conversation": {
"conversationId": "1529659908330",
"type": "ACTIVE",
"conversationToken": "[]"
},
"inputs": [
{
"intent": "actions.intent.TEXT",
"rawInputs": [
{
...
...
..
}
这是Alpha阶段的正常行为吗?应用程序发布到Beta / Production后,此行为是否会发生变化?
我必须提一下,该动作尚未发布(Alpha) .
//编辑:“userId”是一个以毫秒为单位的Unixtimestamp
1 回答
注意:不推荐使用userId .
正如Nick所说,您可以使用userStorage来记住用户 . 这应该为您提供Saving Data in a Conversation周围所需的所有信息 .
但是,如果...,则在会话结束时清除用户存储的内容 .
语音匹配已设置但用户无法匹配(例如背景噪音或其他)
用户禁用了个人数据
希望这可以帮助 .