我现在有一个意图,需要用户的位置-每次触发这个意图时,都会提示用户访问他们的位置。虽然我理解这背后的原因——这对最终用户来说有点麻烦和沮丧——他们可能在一天内使用这种意图10次或更多次。
问题:我可以存储用户的位置pemission/偏好以备后期使用吗?还是每次都需要征得他们的许可?
我的想法是这样的:
app.intent('user_locate', (conv, params, granted) => {
return new Promise(function (resolve, reject) {
if (granted) {
conv.user.storage.location = granted;
}
});
});
您不能存储他们已授予您访问其位置的权限。每个位置请求都必须得到用户的批准。
但是,在某些情况下,您可以只存储位置。然而,在这样做之前,你应该考虑一些事情:
- 从法律上讲,这可能被视为个人或敏感信息。查看您计划使用Action的法律,看看您是否被合法允许存储用户的位置,或者您可能需要如何处理。
- 如果是这样,您可以将该位置存储在用户存储器中,这样他们就可以在愿意的情况下控制删除该位置
- 如果你希望他们通过移动设备询问位置,并且他们经常走动,你可能不想这样做。
- 有一些方法可以解决这个问题,比如假设他们的固定位置,但允许他们选择"当前"位置,在这种情况下,你可以重新提示获得权限