如何使用 Siri 快捷方式在我的应用程序中显示特定页面?
How can I use Siri Shortcuts to show a specific page in my app?
我想进阶研究快捷方式技术。所以这里有一些问题:
- Siri 快捷方式可以在任何类型的应用程序中使用吗?因为SiriKit只能做旅游,聊天等
- 正在使用快捷方式。我可以通过 Siri 跳转到我的应用显示特定页面吗?
Can Siri shortcuts be used in any type of app? Because of SiriKit only
working in tourism, chatting etc.
是的,任何一个。它们不绑定到任何特定域。它们是定制的。
Now using shortcuts. Can I jump to my app showing specific page by
Siri?
是的。
下面的代码显示了如何通过 Siri 显示特定页面的最简单方法,它通过 NSUserActivity
调用 "Donating a Shortcut"。但是您可以通过定义自定义 INIntent
.
来实现相同的目的
第 1 步:
在 Info.plist
中,在 NSUserActivityTypes
下添加一个 activity 类型字符串:com.app.viewPage
第 2 步:
创建 activity:
let viewPageActivityType = "com.app.viewPage"
let viewPageActivity: NSUserActivity = {
let userActivity = NSUserActivity(activityType: viewPageActivityType)
userActivity.title = "View Page"
userActivity.suggestedInvocationPhrase = "View Page"
userActivity.isEligibleForSearch = true
userActivity.isEligibleForPrediction = true
return userActivity
}()
然后将它添加到您的视图控制器:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
userActivity = viewPageActivity
}
}
第 3 步:
在 UIApplicationDelegate
方法中处理(如果用户按下快捷方式或通过语音从 Siri 激活,将调用此方法):
public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if userActivity.activityType == viewPageActivityType {
print("open the `ViewController` here")
return true
}
return false
}
用户打开ViewController
一次后,可能会在锁屏和搜索建议中得到提示。他们还可以转至 Settings -> Siri & Search -> My Shortcuts
定义自定义短语以使用语音执行操作。
要对此进行调试,请确保使用设备(而非模拟器)。然后去Settings -> Developer -> Enable "Display Recent Shortcuts" and "Display Donations on Lock Screen"
.
这方面有很多很棒的资源:
我想进阶研究快捷方式技术。所以这里有一些问题:
- Siri 快捷方式可以在任何类型的应用程序中使用吗?因为SiriKit只能做旅游,聊天等
- 正在使用快捷方式。我可以通过 Siri 跳转到我的应用显示特定页面吗?
Can Siri shortcuts be used in any type of app? Because of SiriKit only working in tourism, chatting etc.
是的,任何一个。它们不绑定到任何特定域。它们是定制的。
Now using shortcuts. Can I jump to my app showing specific page by Siri?
是的。
下面的代码显示了如何通过 Siri 显示特定页面的最简单方法,它通过 NSUserActivity
调用 "Donating a Shortcut"。但是您可以通过定义自定义 INIntent
.
第 1 步:
在 Info.plist
中,在 NSUserActivityTypes
下添加一个 activity 类型字符串:com.app.viewPage
第 2 步:
创建 activity:
let viewPageActivityType = "com.app.viewPage"
let viewPageActivity: NSUserActivity = {
let userActivity = NSUserActivity(activityType: viewPageActivityType)
userActivity.title = "View Page"
userActivity.suggestedInvocationPhrase = "View Page"
userActivity.isEligibleForSearch = true
userActivity.isEligibleForPrediction = true
return userActivity
}()
然后将它添加到您的视图控制器:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
userActivity = viewPageActivity
}
}
第 3 步:
在 UIApplicationDelegate
方法中处理(如果用户按下快捷方式或通过语音从 Siri 激活,将调用此方法):
public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if userActivity.activityType == viewPageActivityType {
print("open the `ViewController` here")
return true
}
return false
}
用户打开ViewController
一次后,可能会在锁屏和搜索建议中得到提示。他们还可以转至 Settings -> Siri & Search -> My Shortcuts
定义自定义短语以使用语音执行操作。
要对此进行调试,请确保使用设备(而非模拟器)。然后去Settings -> Developer -> Enable "Display Recent Shortcuts" and "Display Donations on Lock Screen"
.
这方面有很多很棒的资源: