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