我正在使用DialogFlow和Firebase云功能来构建动作。根据用户的设备类型,我可以通过简单的检查问一个问题或关闭对话。
if (conv.hasScreen) {
response += `Do you want to see a picture?`;
conv.ask(response);
return;
}
else{
conv.close(response);
return;
}
按预期,我使用Google Home mini进行了测试,对话顺利结束。但是,当我在电话上进行测试时,if检查失败,对话再次关闭。我期望比赛继续进行,助理会要求我显示照片,但没有发生。我究竟做错了什么?
答案 0 :(得分:3)
看起来语法仅仅是conv.screen
。由于属性hasScreen
不存在,因此条件条件始终返回undefined,这是一个假值。
答案 1 :(得分:1)
看看以下内容以了解Surface Capabilities。
您是否使用以下语句?
const hasScreen =
conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT');