我正在为 INTransferMoneyIntent
开发一个 Siri 扩展处理程序。在这个意图中有一个参数 toAccount
Siri 可以从你的请求中解析出来并传递给你的处理程序。它可以成功解析出 toAccount
参数的任何值,即使它们没有在应用程序中注册(通过全局 AppIntentVocabulary.plist 或通过 INVocabulary
)。但如果请求在实际帐户名之前或之后包含单词“帐户”,它只能识别请求中的帐户名。说:“将 3 美元转入 Beer 帐户”。或“将 10 美元转账至 Beer 帐户”,其中“Beer”是帐户名称。这完全没问题,因为这正是这个意图应该用于的目的。但是我的客户希望应用程序能够通过关键字“类别”来识别帐户名称,而不是“帐户”一词。就像在短语“在啤酒类别上花费 30 美元”中一样。或者甚至只是“花了 30 美元买了啤酒”。
我知道我可以通过 AppIntentVocabulary.plist 或 INVocabulary 类添加自定义词汇表。但它似乎只允许设置意图属性的可能值(在我的例子中是 INTransferMoneyIntent.toAccount.organizationName 的属性 INTransferMoneyIntent.toAccount.nickname),但不允许为用于识别参数的关键字本身提供同义词来自请求短语。
我 99% 确定这是不可能实现的,但谁知道呢..也许还有一些我还没有发现的隐藏选项..
有什么建议吗?
最佳答案
我确认这不可能可能。
遗憾的是,您不能使用 AppIntentVocabulary.plist
为定义意图的关键字定义同义词。
至少今天是 iOS 11.2
关于ios - 如何定义 Siri 意图参数关键字的同义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48768412/