如何将time.DateTimeExpression或geo.LocalityName传递给在bixby中单击时设置的值

时间:2019-02-26 11:53:43

标签: bixby bixbystudio

当我点击cell-card时,我需要传递一些值到目标,但没有传递。但是,普通值通过了,但结构值没有通过。我给用户一个cell-card,其中包含“下周的体育新闻是什么”。所以我的运动是类别,下周是DateTimeExpression

所以我可以传递类别,但不能传递时间。 这是我的onclick

on-click{
   intent{
     goal:NewsSearch
       value-set:CategoryName{CategoryName(Sports)}
       value-set:MyDateTimeExpression($expr(viv.time.DateTimeExpression(Next Week)))
   }
}

我的结构MyDateTimeExpression

structure (MyDateTimeExpression) {
 role-of(time.DateTimeExpression)
   features {
    transient
  }
}

2 个答案:

答案 0 :(得分:0)

在封装(时,您的代码使用的是{而不是MyDateTimeExpression

下面的代码已修改,以反映值集的正确用法

on-click{
       intent{
         goal:NewsSearch
           value-set:CategoryName{CategoryName(Sports)}
           value-set:MyDateTimeExpression{$expr(nextWeek)}
       }
    }

您可以查看文档以获取更多使用值和值集的示例

https://bixbydevelopers.com/dev/docs/reference/type/intent.value https://bixbydevelopers.com/dev/docs/reference/type/intent.value-set

答案 1 :(得分:0)

如果要在按钮内使用自然语言,则也许应该尝试使用conversation-driver而不是cell-card。这样做的好处是,如果用户说出请求,它不仅可以通过按下按钮来工作,而且还可以在免提模式下工作。

在结果视图中,您将添加一个如下所示的块:

  conversation-drivers {
    conversation-driver {
      template ("What is the sports news for the next week.")
    }
  }

您将在“训练”选项卡中训练类似的话语。源代码视图中的aligned-nl看起来像这样:

[g:NewsSearch] What are the (sports)[v:CategoryName:Sports] news for (next week)[v:time.DateTimeExpression]