我想将 Siri 集成到我的 iOS 版 flutter 应用程序中。当用户提出特定问题时,Siri 必须从应用程序获取输出并执行应用程序中的函数。我怎样才能实现这个目标?任何帮助将不胜感激。
小智 5
为了实现这一目标,您将需要以下内容:
这里需要考虑一些事情:Siri 的意图位于不同的 Target 中,因为如果需要,它们可以在后台运行,这就是为什么您无法在意图和 flutter 之间建立直接通信线路(目前)。相反,您需要做的是在内存中保存用户在使用 Siri 时可能需要的一些数据(可能是用户 ID 或 API 密钥),如果您需要进行一些 HTTP 调用,则必须从 Swift 进行。
这就是为什么我们需要家庭小部件扩展,因为家庭小部件也使用不同的目标,并且此扩展使用应用程序组和用户默认打开通信通道,我们可以使用相同的通信通道将数据发送到我们的 Siri Intent。
只需遵循 HomeWidget 扩展的配置指南,并将 AppGroups 功能添加到您的跑步者 Target 以及您的 Siri 意图即可。确保在所有这些组中使用相同的组 ID,包括在 flutter 端:
HomeWidget.setAppGroupId('YOUR_GROUP_ID');
然后您可以使用扩展方法在 flutter 和 swift 之间发送和接收数据。
| 归档时间: |
|
| 查看次数: |
3838 次 |
| 最近记录: |