2017-11-25 184 views
1

我在Google应用中设置了一项操作,其中我要求用户提供权限。一切正常。现在我想在第一次对话中询问用户的许可。当他第二次开始对话时,动作应用程序应该记住,此用户之前已在对话中授予了权限。所以当用户每次开始交谈时都不需要接受许可时,它就更加舒适。有什么办法可以做到这一点吗?在Google应用上的操作中保存所有对话中授予的权限

回答

1

简答:你不行。

但是,对于某些事情你不一定需要这样做。例如,如果你要求提供他们的名字 - 它可能不会改变,所以你可以第一次问这个问题,然后缓存答案。

如果您使用的是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设备的位置固定,但使用手机助理可能会发生变化。在这种情况下,您需要每次重新请求它。

很明显,在很多情况下这是不可取的,团队意识到这是多么糟糕的体验。什么时候没有承诺,但希望他们正在寻求更好的解决方案。

+0

谢谢你的回答! –