@capawesome/capacitor-app-shortcuts¶
Capacitor plugin to manage app shortcuts and quick actions.
Installation¶
iOS¶
On iOS, you must add the following to your app's AppDelegate.swift
:
+ import CapawesomeCapacitorAppShortcuts
@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 true
+ }
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)
+ }
Demo¶
A working example can be found here.
Android | iOS |
---|---|
Usage¶
import { AppShortcuts } from '@capawesome/capacitor-app-shortcuts';
const clear = async () => {
await AppShortcuts.clear();
};
const get = async () => {
const result = await AppShortcuts.get();
return result.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',
}
],
});
};
const addListener = async () => {
AppShortcuts.addListener('click', (event) => {
console.log('Shortcut clicked:', event.id);
});
};
API¶
clear()¶
Remove all app shortcuts.
Only available on Android and iOS.
Since: 6.0.0
get()¶
Get all app shortcuts.
Only available on Android and iOS.
Returns: Promise<GetResult>
Since: 6.0.0
set(...)¶
Create or update app shortcuts.
Only available on Android and iOS.
Param | Type |
---|---|
options |
SetOptions |
Since: 6.0.0
addListener('click', ...)¶
addListener(eventName: 'click', listenerFunc: (event: ClickEvent) => void) => Promise<PluginListenerHandle>
Called when an app shortcut is clicked.
Only available on Android and iOS.
Param | Type |
---|---|
eventName |
'click' |
listenerFunc |
(event: ClickEvent) => void |
Returns: Promise<PluginListenerHandle>
Since: 6.0.0
removeAllListeners()¶
Remove all listeners for this plugin.
Since: 6.0.0
Interfaces¶
GetResult¶
Prop | Type | Description | Since |
---|---|---|---|
shortcuts |
Shortcut[] |
The list of app shortcuts. | 6.0.0 |
Shortcut¶
Prop | Type | Description | Since |
---|---|---|---|
description |
string |
The description. Only available on Android. | 6.0.0 |
id |
string |
The unique identifier. | 6.0.0 |
title |
string |
The display name. | 6.0.0 |
SetOptions¶
Prop | Type | Description | Since |
---|---|---|---|
shortcuts |
Shortcut[] |
Th list of app shortcuts. | 6.0.0 |
PluginListenerHandle¶
Prop | Type |
---|---|
remove |
() => Promise<void> |
ClickEvent¶
Prop | Type | Description | Since |
---|---|---|---|
shortcutId |
string |
The unique identifier of the app shortcut that was clicked. | 6.0.0 |
Changelog¶
See CHANGELOG.md.
License¶
See LICENSE.