如何在不提供意图或使用快捷方式的情况下利用 Siri 创建自定义对象?

How can I utilize Siri to create a custom object without donating intents or using shortcuts?

*使用 Swift 4.2 & Xcode 10.2

我正在尝试通过允许用户免提创建对象来使我的应用程序功能更加丰富。该应用程序旨在简化某些对象的创建,因此允许用户通过调用 Siri 来创建基本对象会很棒。但是,我希望应用程序首次 downloaded/run 时已经集成了 Siri 功能。

我现在在使用 SiriKit 和快捷方式时遇到的问题:

建议您 "donate" 每当在您的移动应用程序中触发关联功能时使用自定义意图,以便 Siri 可以在其他时间推荐使用快捷方式的建议 - 我希望这只是我的标准功能不需要 "donate"。 我正在处理一个较老的目标用户群,并提示最终用户进入他们的设置以将快捷方式添加到 Siri 并进行额外的设置会让很多用户迷失方向。

例如:

我的应用程序用于创建和发布具有名称和颜色属性的简单平面对象。

我想允许用户免提初始化 Siri 并像这样创建这个对象:

"Hey Siri, create a plane with name Warkhawk and color blue"

网络上充斥着有关这些新快捷方式的信息,但我不喜欢您必须 "donate" 在您的应用程序中触发该功能时的意图,然后转到设置以实际添加它到 Siri。

如何在没有快捷方式附带的所有附加步骤的情况下利用 Siri 来适应这个用例?

谢谢!

不幸的是,此时您无法在没有用户交互的情况下执行您想要的操作。

应用程序可以在受支持的 intent domains 之一中公开 Siri Intents,例如拨打 VoIP 电话或进行付款。我认为这些域中的任何一个都不适合您的任务。

在 iOS 12 中,一个应用程序可以捐赠 Siri 快捷方式,正如您提到的。这些在触发词汇方面具有更灵活的格式,但必须由用户设置。

要更快速、更轻松地捐赠 Siri INIntent,您可以使用

INUIAddVoiceShortcutViewController

像 UIImagePickerController 一样工作,它是一个“快捷方式”,可以将用户直接带到短语语音记录屏幕。无需离开您的应用程序,使用起来更容易。

示例guide