我在Google应用上编写动作,我请求用户获得许可。一切正常。现在我想在第一次谈话中要求用户许可。当他第二次启动对话时,操作应用应该记住该用户之前在对话中授予了权限。因此,当用户每次开始对话时都不必接受权限时,它会更加舒适。有没有办法让这成为可能?
答案 0 :(得分:2)
简短回答:你不能。
然而,对某些事情你不一定需要这样做。例如,如果您要求他们的名字 - 它可能不会改变,所以您可以在第一时间提出要求,然后缓存答案。
如果您正在使用node.js库,则可以通过将信息添加到app.userStorage
对象来轻松完成此操作。这将在两次会话之间为您保存。所以你的代码看起来像这样:
var userName = app.userStorage.userName;
if( !userName ){
if( app.isPermissionGranted() ){
userName = app.userStorage.userName = app.getUser().displayName;
} else {
requestPermission();
}
}
(所以我没有测试过,看起来大致正确。)
如果您要求地点,这可能是也可能不是一个好的解决方案。虽然Google Home设备具有固定位置,但使用手机中的智能助理可以更改。在这种情况下,您每次都需要重新请求它。
显然,在很多情况下这是不可取的,团队意识到这种体验有多糟糕。什么时候没有承诺,但希望他们正在努力寻找更好的解决方案。