Actions SDK conv.hasScreen无法按预期工作

时间:2018-09-07 01:37:46

标签: dialogflow actions-on-google google-home

我正在使用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检查失败,对话再次关闭。我期望比赛继续进行,助理会要求我显示照片,但没有发生。我究竟做错了什么?

2 个答案:

答案 0 :(得分:3)

看起来语法仅仅是conv.screen。由于属性hasScreen不存在,因此条件条件始终返回undefined,这是一个假值。

答案 1 :(得分:1)

看看以下内容以了解Surface Capabilities

您是否使用以下语句?

const hasScreen =
    conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT');