调用 SiriKit API 创建自动化快捷方式
Call the SiriKit API to create Automation Shortcuts
我正在使用 react-native-siri-shortcut 并成功创建了一个“快捷方式”,但是,它似乎只是一个将用户带回我的应用程序的快捷方式。
我已经开始使用 Swift 5 和 XCode 13.2,很高兴也能收到使用这些语言的答案。
我想做的是允许他们在应用程序中创建自动化快捷方式,无论是“每天下午 5 点打开此应用程序”还是类似的内容。
是否可以调用 API 来创建快捷方式自动化?有没有另一种不使用 react-native-siri-shortcut 的方法?
非常感谢任何帮助,谢谢!
Siri 快捷方式 api 提供给开发者,以便他们可以向系统提供他们应用程序的主要功能(siri,快捷方式)。
如果你想创建一个自动化应用程序,我有一些其他的自动化不同任务的建议:
需要权限的自动化任务:
这些任务 iOS 不会委派给您的应用程序,例如按计划打开应用程序。
解决此问题的一种方法是使用您的应用程序 deep link 或其他提供深度 link 的应用程序并使用该 link 设置本地通知或推送通知。当您单击通知时,如果 link 是您的,您的应用程序将打开,如果不是您的应用程序,您就完成了,如果您调用深度 link,其他应用程序将打开。这种方法的问题是回调,并在工作完成时收到通知,您必须启动下一个任务。
这些是一些 ios 系统 URL 方案,它们也可用于其他应用程序。他们通常会在他们的网站上提及这些计划。
https://github.com/phynet/iOS-URL-Schemes
基于位置的自动化服务:
您可以使用地理围栏功能并将其与推送通知或本地通知混合使用,并在您的用户位于他标记的位置时继续您应用中的其余任务。看看
https://www.raywenderlich.com/17649843-geofencing-with-core-location-getting-started
时基自动化服务:
time-based 自动化可以通过后台任务实现,如果您可以提供 server-side 它们也可以通过推送通知实现。
复杂的多步自动化服务:
为此,您可以使用一些可用的 open-source 自动化并在您的应用程序中实施它们的 API,例如 n8n
并在工作流程的每个步骤上通知您的应用程序,以便作为自动化的主界面,它可以显示当前步骤。
这些只是基于可能的解决方法的一些建议。
正在与 apples Shortcut 应用交互:
使用深层链接允许用户打开快捷方式应用、打开单个快捷方式或运行特定快捷方式。
为您的应用程序提供一个快捷方式,然后可以在 ShortCut 应用程序中使用该快捷方式,例如:MyApp - 向我显示来自“所选博客”的最新消息
使用快捷方式自动化时值得一提的事情:
自动化需要特殊权限 运行 无需用户交互
如果设备被锁定
,许多自动化将不会运行
在应用程序自动化中 (IOS):
您可以使用 Background Tasks
、BGTaskScheduler
、UserNotifications (APNS)
等在您的应用中实现自动化。
在应用程序自动化 (MacOS) 中:
在 macOS 上,您可以使用 crontab
轻松实现自动化 - 当用户登录时 - 或者 launchctl
如果您想要更灵活(注意守护进程需要 root 权限!)
Notice:
Any kind of automation can cause security issues if it can run without user interactions, especially if it has root privileges.
链接根据这个 topic/answer:
-
https://developer.apple.com/documentation/sirikit/offering_actions_in_the_shortcuts_app
https://medium.com/infonity-tech/shortcut-deeplinking-for-ios-developer-64f75171c7de
-
https://www.raywenderlich.com/6462-siri-shortcuts-tutorial-in-ios-12
-
我正在使用 react-native-siri-shortcut 并成功创建了一个“快捷方式”,但是,它似乎只是一个将用户带回我的应用程序的快捷方式。
我已经开始使用 Swift 5 和 XCode 13.2,很高兴也能收到使用这些语言的答案。
我想做的是允许他们在应用程序中创建自动化快捷方式,无论是“每天下午 5 点打开此应用程序”还是类似的内容。
是否可以调用 API 来创建快捷方式自动化?有没有另一种不使用 react-native-siri-shortcut 的方法?
非常感谢任何帮助,谢谢!
Siri 快捷方式 api 提供给开发者,以便他们可以向系统提供他们应用程序的主要功能(siri,快捷方式)。
如果你想创建一个自动化应用程序,我有一些其他的自动化不同任务的建议:
需要权限的自动化任务:
这些任务 iOS 不会委派给您的应用程序,例如按计划打开应用程序。 解决此问题的一种方法是使用您的应用程序 deep link 或其他提供深度 link 的应用程序并使用该 link 设置本地通知或推送通知。当您单击通知时,如果 link 是您的,您的应用程序将打开,如果不是您的应用程序,您就完成了,如果您调用深度 link,其他应用程序将打开。这种方法的问题是回调,并在工作完成时收到通知,您必须启动下一个任务。
这些是一些 ios 系统 URL 方案,它们也可用于其他应用程序。他们通常会在他们的网站上提及这些计划。
https://github.com/phynet/iOS-URL-Schemes
基于位置的自动化服务:
您可以使用地理围栏功能并将其与推送通知或本地通知混合使用,并在您的用户位于他标记的位置时继续您应用中的其余任务。看看
https://www.raywenderlich.com/17649843-geofencing-with-core-location-getting-started
时基自动化服务:
time-based 自动化可以通过后台任务实现,如果您可以提供 server-side 它们也可以通过推送通知实现。
复杂的多步自动化服务:
为此,您可以使用一些可用的 open-source 自动化并在您的应用程序中实施它们的 API,例如 n8n
并在工作流程的每个步骤上通知您的应用程序,以便作为自动化的主界面,它可以显示当前步骤。
这些只是基于可能的解决方法的一些建议。
正在与 apples Shortcut 应用交互:
使用深层链接允许用户打开快捷方式应用、打开单个快捷方式或运行特定快捷方式。
为您的应用程序提供一个快捷方式,然后可以在 ShortCut 应用程序中使用该快捷方式,例如:MyApp - 向我显示来自“所选博客”的最新消息
使用快捷方式自动化时值得一提的事情:
自动化需要特殊权限 运行 无需用户交互
如果设备被锁定
,许多自动化将不会运行
在应用程序自动化中 (IOS):
您可以使用 Background Tasks
、BGTaskScheduler
、UserNotifications (APNS)
等在您的应用中实现自动化。
在应用程序自动化 (MacOS) 中:
在 macOS 上,您可以使用 crontab
轻松实现自动化 - 当用户登录时 - 或者 launchctl
如果您想要更灵活(注意守护进程需要 root 权限!)
Notice: Any kind of automation can cause security issues if it can run without user interactions, especially if it has root privileges.
链接根据这个 topic/answer:
https://developer.apple.com/documentation/sirikit/offering_actions_in_the_shortcuts_app
https://medium.com/infonity-tech/shortcut-deeplinking-for-ios-developer-64f75171c7de
https://www.raywenderlich.com/6462-siri-shortcuts-tutorial-in-ios-12