电容App快捷键插件
控制器插件,用于管理应用快捷方式和快速动作.
使用大小写
App快捷键插件一般用来让用户更快地从家用屏幕图标中直接访问您应用程序的关键部分,例如:
- 快速行动:让用户直接跳入搜索,作曲或反馈等常用屏幕.
- 动态快捷键:根据用户行为在运行时创建或更新快捷键,例如最近打开项目的快捷键.
- 默认快捷键: 在您的 Capacitor 配置中定义一组默认快捷键而无需写入任何代码 .
- 深层链接: 反应以快捷键单击
click听取并引导用户到相应的屏幕.
兼容性
| 插件版本 | 电容版本 | 状态 |
|---|---|---|
| 8.x.x (英语) | >=8.x.x | 积极支持 |
演示
可以找到一个实例 这里。 。 。 .
| 机器人 | iOS系统 |
|---|---|
安装
你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:
npx skills add capawesome-team/skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-app-shortcuts` plugin in my project.
如果你喜欢 手动设置,通过运行下列命令来安装插件:
npm install @capawesome/capacitor-app-shortcuts
npx cap sync
配置
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
shortcuts | Shortcut[] | 默认设置的应用快捷键列表 。 仅在Android和iOS上提供. | 7.2.0 联合国 |
实例
单位 capacitor.config.json数字 :
{
"plugins": {
"AppShortcuts": {
"shortcuts": [{ id: 'feedback', title: 'Feedback' }]
}
}
}
单位 capacitor.config.ts数字 :
/// <reference types="@capawesome/capacitor-app-shortcuts" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
AppShortcuts: {
shortcuts: [{ id: 'feedback', title: 'Feedback' }],
},
},
};
export default config;
iOS系统
如果您的应用程序使用 UIScene 生命周期( 自 Capacitor 8. 5 起的默认), 请在您的应用程序中添加以下内容 : SceneDelegate.swift数字 :
+ import AppShortcutsPlugin
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = scene as? UIWindowScene else { return }
window = UIWindow(windowScene: windowScene)
window?.rootViewController = CAPBridgeViewController()
window?.makeKeyAndVisible()
+ if let shortcutItem = connectionOptions.shortcutItem {
+ NotificationCenter.default.post(name: NSNotification.Name(AppShortcutsPlugin.notificationName), object: nil, userInfo: [AppShortcutsPlugin.userInfoShortcutItemKey: shortcutItem])
+ }
SceneDelegateProxy.shared.scene(scene, willConnectTo: session, options: connectionOptions)
}
+ func windowScene(_ windowScene: UIWindowScene, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) {
+ NotificationCenter.default.post(name: NSNotification.Name(AppShortcutsPlugin.notificationName), object: nil, userInfo: [AppShortcutsPlugin.userInfoShortcutItemKey: shortcutItem])
+ completionHandler(true)
+ }
如果您的应用程序不使用 UIScene 生命周期,请在您的应用程序中添加以下内容: AppDelegate.swift 相反:
+ import AppShortcutsPlugin
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+ if let shortcutItem = launchOptions?[.shortcutItem] as? UIApplicationShortcutItem {
+ NotificationCenter.default.post(name: NSNotification.Name(AppShortcutsPlugin.notificationName), object: nil, userInfo: [AppShortcutsPlugin.userInfoShortcutItemKey: shortcutItem])
+ return false
+ }
return true
}
+ func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) {
+ NotificationCenter.default.post(name: NSNotification.Name(AppShortcutsPlugin.notificationName), object: nil, userInfo: [AppShortcutsPlugin.userInfoShortcutItemKey: shortcutItem])
+ completionHandler(true)
+ }
如果您的工程仍然使用CocoaPods而不是 Swift 软件包管理器( SPM) , 导入 CapawesomeCapacitorAppShortcuts 而不是说 AppShortcutsPlugin数字 :
+ import CapawesomeCapacitorAppShortcuts
使用量
以下示例显示如何创建,获取,并删除应用程序快捷键并收听快捷键点击.
创建或更新应用程序快捷键
使用 set(...) 创建或更新应用程序快捷键的方法。 每个快捷键都需要一个独特的标识符和标题. 仅在Android和iOS上提供:
import { AppShortcuts } from '@capawesome/capacitor-app-shortcuts';
const set = async () => {
await AppShortcuts.set({
shortcuts: [
{
id: 'feedback',
title: 'Feedback',
description: 'Send us your feedback',
},
{
id: 'rate',
title: 'Rate',
description: 'Rate our app',
}
],
});
};
获取全部应用程序快捷键
获取当前设置的应用快捷键列表 。 仅在Android和iOS上提供:
import { AppShortcuts } from '@capawesome/capacitor-app-shortcuts';
const get = async () => {
const result = await AppShortcuts.get();
return result.shortcuts;
};
删除所有应用程序快捷键
清除所有应用程序快捷键, 例如用户签名退出时 。 仅在Android和iOS上提供:
import { AppShortcuts } from '@capawesome/capacitor-app-shortcuts';
const clear = async () => {
await AppShortcuts.clear();
};
点击快捷键
为您添加一个收听器 click 当用户点击一个应用程序快捷键时,例如导航到相应的屏幕时,事件可以作出反应。 在iOS上,这需要修改您的 AppDelegate.swift 说明 iOS 配置 指令:
import { AppShortcuts } from '@capawesome/capacitor-app-shortcuts';
const addListener = async () => {
AppShortcuts.addListener('click', (event) => {
console.log('Shortcut clicked:', event.shortcutId);
});
};
API 密码
清除( c)
clear() => Promise<void>
删除所有应用快捷键 .
仅在Android和iOS上提供.
自: 6.0.0 (单位:千美元)
获取()
get() => Promise<GetResult>
获得所有应用快捷键.
仅在Android和iOS上提供.
回返情况: Promise<GetResult>
自: 6.0.0 (单位:千美元)
设置(...)
set(options: SetOptions) => Promise<void>
创建或更新应用程序快捷键 .
仅在Android和iOS上提供.
| 参数 | 类型 |
|---|---|
options | SetOptions |
自: 6.0.0 (单位:千美元)
添加倾听器( 单击",...)
addListener(eventName: 'click', listenerFunc: (event: ClickEvent) => void) => Promise<PluginListenerHandle>
点击应用程序快捷键时调用 .
仅在Android和iOS上提供.
| 参数 | 类型 |
|---|---|
eventName | 'click' |
listenerFunc | (event: ClickEvent) => void |
回返情况: Promise<PluginListenerHandle>
自: 6.0.0 (单位:千美元)
删除所有收听器( )
removeAllListeners() => Promise<void>
删除此插件的所有听众 .
自: 6.0.0 (单位:千美元)
接口
获取恢复
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
shortcuts | Shortcut[] | App快捷键列表. | 6.0.0 (单位:千美元) |
快捷键
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
description | string | 说明. 打开 机器人,当它有足够的空间时,发射器会显示这个而不是短标题. | 6.0.0 (单位:千美元) |
id | string | 独一无二的标识符. | 6.0.0 (单位:千美元) |
title | string | 显示名. | 6.0.0 (单位:千美元) |
icon | string | number | 要显示的图标 。 打开 机器人,图标可以是: R. 可画 enum(例如:. 17301547) - 代表可绘图资源名称的字符串(如:. "alert_dark_frame") - Base64被编码的图像字符串(例如. "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QC...") (中文(简体) ). 打开 iOS系统,图标可以是以下之一: - UIApapplicationShortcutIcon. 中国植物物种信息数据库. 图标类型 enum(例如:. 6) - 一个系统符号名称(例如. star.fill- 资产目录中的图像资产名称. | 6.1.0 (中文(简体) ) |
androidIcon | string | number | 在Android上显示的图标. 图标可以是下列之一: R. 可画 enum(例如:. 17301547) - 代表可绘图资源名称的字符串(如:. "alert_dark_frame") - Base64被编码的图像字符串(例如. "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QC...") (中文(简体) ). | 7.2.0 联合国 |
iosIcon | string | number | 在iOS上显示的图标. 图标可以是以下之一: UIApapplicationShortcutIcon. 中国植物物种信息数据库. 图标类型 enum(例如:. 6) - 一个系统符号名称(例如. star.fill- 资产目录中的图像资产名称. | 7.2.0 联合国 |
设置选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
shortcuts | Shortcut[] | App快捷键列表. | 6.0.0 (单位:千美元) |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
点击事件
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
shortcutId | string | 点击的应用程序快捷键的独有标识符 . | 6.0.0 (单位:千美元) |
财务问题
此插件支持哪些平台 ?
App快捷键是Android启动器和iOS家用屏幕的本土概念,因此插件只在Android和iOS上可用. 所有插件方法和 click 事件标记为仅在Android和iOS上可用 API 密码 节.
为什么点击器没有在iOS上调用?
在iOS上,插件依赖于您的应用程序的更改 AppDelegate.swift 将快捷键项目转发到插件。 请确定您已经应用了您在 iOS 配置 说明。 没有他们 click 事件从未交付.
我可以不写代码就定义应用快捷键吗?
是的,你可以使用这个 shortcuts 用于定义默认设置的应用程序快捷键列表的配置选项 。 见 配置 区域 capacitor.config.json 财务报告和审定财务报表 capacitor.config.ts。 。 。 .
我能在Android和iOS上使用不同的图标吗?
是的,你可以使用这个 androidIcon 财务报告和审定财务报表 iosIcon 属性以提供特定平台图标,或 icon 两个平台的属性。 在Android上,支持可绘制资源和Base64编码图像,而在iOS上,您可以使用系统符号名,资产目录图像,或者 UIApplicationShortcutIcon 类型。 注意在iOS上,图标和描述必须一起使用.
我能用这个插件吗? 有Ionic、React、Vue或Angular?
是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.
相关插件
通讯
随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .
更改日志
见 变动情况。 。 。 .
许可证
见 自由主义。 。 。 .