【发布时间】:2018-02-13 13:52:15
【问题描述】:
我正在为INTransferMoneyIntent 开发一个 Siri 扩展处理程序。在这个意图中,有一个参数toAccount,Siri 可以从你的请求中解析出来并传递给你的处理程序。它可以成功解析出toAccount 参数的任何值,即使它们没有在应用程序中注册(通过全局 AppIntentVocabulary.plist 或通过INVocabulary)。但是,如果请求在实际帐户名称之前或之后包含“帐户”一词,则它只能识别请求中的帐户名称。说:“将 3 美元转入 Beer 帐户”。或“将 10 美元转入帐户 Beer”,其中“Beer”是帐户名称。这完全没问题,因为这正是这个意图的用途。但我的客户希望应用能够通过关键字“类别”识别帐户名称,而不是“帐户”一词。就像短语“在啤酒类别上花费 30 美元”一样。或者甚至只是“在啤酒上花了 30 美元”。
我知道我可以通过 AppIntentVocabulary.plist 或 INVocabulary 类添加自定义词汇。但它似乎只允许设置意图属性的可能值(在我的情况下为 INTransferMoneyIntent.toAccount.nickname 的属性 INTransferMoneyIntent.toAccount.organizationName),但不允许为用于识别参数的关键字本身提供同义词来自请求短语。
我 99% 确信这是不可能实现的,但谁知道呢..也许还有一些我还没有发现的隐藏选项..
有什么建议吗?
【问题讨论】: