【问题标题】:Actions SDK conv.hasScreen not working as expectedActions SDK conv.hasScreen 未按预期工作
【发布时间】:2018-09-07 01:37:46
【问题描述】:

我正在使用 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 检查失败并且对话再次关闭。我原以为比赛会继续下去,助理会要求我展示一张照片,但没有发生。我究竟做错了什么?

【问题讨论】:

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


    【解决方案1】:

    看起来语法只是conv.screen。由于属性hasScreen不存在,所以条件总是返回undefined,这是一个假值。

    【讨论】:

      【解决方案2】:

      看下面了解Surface Capabilities

      您是否使用以下语句?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-30
        • 2013-08-20
        • 1970-01-01
        • 2021-06-04
        • 2022-01-24
        • 2015-05-11
        • 2020-05-15
        • 2014-10-31
        相关资源
        最近更新 更多