【发布时间】:2019-04-20 01:49:13
【问题描述】:
在高层次上,我想设置一个包含一些必需输入和一些可选输入的操作。用户开始后,将提示他/她输入缺少的任何必需输入。如果/当收集到所需的输入时,我想询问用户是否要指定更多可选输入。
具体用例是基于语音的房地产搜索。我设置了一些必需的输入,例如邮政编码、价格和卧室数量。然后我想让 bixby 询问“您想进一步优化您的搜索吗?”如果用户说是,我们可以询问浴室数量、停车安排和其他更多利基参数。我不想让所有这些都是必需的,并且如果他们想通过“池”或某些未广泛使用的参数进行过滤,我必须提示每个人。由于是基于语音的,我不想将它作为一个复选框显示在屏幕上,因为届时扬声器上的某个人将无法使用该参数。
我想到了 2 个可能的解决方案,但我不知道它们是否可行(至少不依赖屏幕上的控件来实现基于语音的胶囊):
1) 将搜索变成一个交易,然后代替正常的确认,尝试强行插入确认以询问用户是否想要添加更多细化。也许像银行转账这样的事情,但一个否定的确认会导致 bixby 要求她以前没有要求的信息:https://bixbydevelopers.com/dev/docs/sample-capsules/walkthroughs/simple-transactional#sample-capsule-walkthrough
2) 再做 2 个必需的输入,一个称为“WantsOptionalParameters”的布尔值,另一个称为“OptionalParameters”,它将是一个包含所有可选参数的结构。然后它会像正常的必需输入一样提示 WantsOptionalParameters,如果那是“真”,我可以有一个子操作,它会要求每个参数构造一个 OptionalParameters 对象。然后我们可以将该输出输入到搜索中。或者,如果 WantsOptionalParameters 为 false,我们可以自动构造带有所有否定响应的 OptionalParameters,并将其输入到原始操作中。
这两个解决方案都需要更多的研究和测试,我什至不知道它们是否会起作用,所以我希望能请教你们的智慧!
【问题讨论】:
标签: bixby