我一直在跟踪template on GitHub与Google上的操作提供的位置API集成。
它在模拟器中工作得很好,甚至在Google Phone for Phones上工作正常,也就是说,我要么提供一个lat / lon对,要么根据设备是否有屏幕提供粗略位置。
但是,在我的实体Google Home设备上,响应中的位置字段为空,我无法找出原因。
一步,我用
请求许可app.askForPermission(Responses.permissionReason(), app.SupportedPermissions.DEVICE_COARSE_LOCATION);
在我的后续步骤中,我会检查是否已授予权限并继续:
if (!app.isPermissionGranted()) {
return Promise.reject(new Error('Permission not granted'));
}
const location = app.getDeviceLocation();
如果我从Google主页开始此对话,getDeviceLocation
为undefined
。
查看请求,明确授予了权限,但位置字段为空:
<snip>
"user": {
"userStorage": "{\"data\":{}}",
"lastSeen": "2018-01-20T10:50:01Z",
"permissions": [
"DEVICE_COARSE_LOCATION"
],
"locale": "en-GB",
"userId": "<redacted>"
},
"device": {
"location": {}
},
</snip>
完整请求here。
我无法在文档中找到有关为什么会发生这种情况的任何信息。有人能填补我吗?
答案 0 :(得分:1)
检查以确保您的Google Home在配置中为其设置了位置。如果您已将其配置为语音识别,请确保您的语音被识别,而不是通用帐户。