如何强制Siri在我的应用程序中搜索文本

时间:2018-05-25 13:49:48

标签: ios swift sirikit

我有几个短文的应用程序。我希望Siri能够搜索这些文本。

我找到的唯一方法是使用INSearchForNotebookItemsIntent。但是当使用这种方法时,用户应该说“注意”一词(在下面的例子中 - 在句子的末尾)。单词“list”和“task”也是合适的。

也就是说,使用Siri的搜索效果很好,如果对它说(她?):

  

在TextBook上显示Core Animation note。

但这句话让Siri在互联网上搜索:

  

在TextBook上展示Core Animation。

我的目标是让用户通过应用程序方便地搜索(无需说出“注释”,“列表”这些奇怪的单词,这些单词并不能反映用户所寻找的内容)

所以我需要:

  • 要么强迫Siri搜索而不说"note"
  • 这个词
  • 或让Siri理解其他字词,而不是"note"(例如,"record")。

我该怎么做?

如果您需要,请随时询问更多详情

PS I've added sample project so you could test this yourself。但是你应该在开始之前配置功能(SiriKit和App Groups)。

1 个答案:

答案 0 :(得分:1)

简短回答:你不能。 INSearchForNotebookItemsIntent旨在搜索笔记,任务或提醒,而不是搜索任意文本。

Apple不会让您更改Siri在调用Intent Handler时所看到的大部分必要关键字。遗憾的是,没有明确记录每个意图的必要关键字或特定意图将识别的句子是什么。您可以尝试创建自定义词汇表,使Siri使用与默认情况下略有不同的句子调用您的应用意图,但您仍然无法省略某些关键字或完全更改已识别句子的结构。此外,由于缺乏准确的文档,这是一个反复试验过程。

如果您仍然希望使用自定义词汇表文件解决问题,请参阅官方文档中的Registering custom vocabulary with SiriKit文章。