@capacitor/local-notifications
Local Notifications API 提供在本地安排设备通知的方式(即无需服务器发送推送通知)。
安装
npm install @capacitor/local-notifications
npx cap sync
Android 平台
Android 13 需要权限检查才能发送通知。您需要相应调用 checkPermissions() 和 requestPermissions()。
在 Android 12 及更早版本上,它不会显示提示,只会返回已授权。
从 Android 12 开始,除非将此权限添加到您的 AndroidManifest.xml 中,否则计划的通知将不会精确执行:
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
请注意,即使存在此权限,用户仍然可以从应用设置中禁用精确通知。使用 checkExactNotificationSetting() 检查该设置的值。如果用户禁用了此设置,应用将重新启动,并且任何使用精确闹钟安排的通知都将被删除。如果您的应用依赖于精确闹钟,请确保在应用启动时检查此设置(例如在 App.appStateChange 中),以提供备用或替代行为。
在 Android 14 上,有一个名为 USE_EXACT_ALARM 的新权限。使用此权限可以在无需请求用户许可的情况下使用精确闹钟。仅当精确闹钟的使用是应用功能核心时才应使用此权限。在此处阅读有关使用此权限的更多信息此处。
从 Android 15 开始,用户可以在私人空间中安装应用。用户可以随时锁定其私人空间,这意味着在用户解锁之前不会显示推送 通知。
无法检测应用是否安装在私人空间中。因此,如果您的应用显示任何关键通知,请告知您的用户避免在私人空间中安装该应用。
有关应用与私人空间相关行为变化的更多信息,请参阅 Android 文档。
配置
Local Notifications 可以通过以下选项进行配置:
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
smallIcon | string | 设置通知的默认状态栏图标。图标应放置在应用的 res/drawable 文件夹中。此选项的值应为可绘制资源 ID,即不带扩展名的文件名。仅适用于 Android。 | 1.0.0 |
iconColor | string | 设置通知状态栏图标的默认颜色。仅适用于 Android。 | 1.0.0 |
sound | string | 设置通知的默认通知声音。在 Android 8+ 上,它设置默认频道声音,除非应用被卸载,否则无法更改。如果未找到音频文件,Android 7.x 上将播放默认系统声音,Android 8+ 上则无声音。仅适用于 Android。 | 1.0.0 |
presentationOptions | LocalNotificationPresentationOption[] | 这是您可以组合的字符串数组。数组中可能的值有:- badge:更新应用图标上的徽章计数(默认值)- sound:收到通知时设备将响铃/振动 - banner:通知显示 为横幅 - list:通知显示在通知中心。如果不需要任何选项,可以提供空数组。仅适用于 iOS。 | 8.2.0 |
示例
在 capacitor.config.json 中:
{
"plugins": {
"LocalNotifications": {
"smallIcon": "ic_stat_icon_config_sample",
"iconColor": "#488AFF",
"sound": "beep.wav",
"presentationOptions": ["badge", "sound", "banner", "list"]
}
}
}
在 capacitor.config.ts 中:
/// <reference types="@capacitor/local-notifications" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
LocalNotifications: {
smallIcon: "ic_stat_icon_config_sample",
iconColor: "#488AFF",
sound: "beep.wav",
presentationOptions: ["badge", "sound", "banner", "list"],
},
},
};
export default config;
Doze 模式
如果设备已进入 Doze 模式,您的应用可能具有受限的能力。如果您需要通知即使在 Doze 期间也触发,请使用 allowWhileIdle: true 安排通知。请谨慎使用 allowWhileIdle,因为此类通知每个应用每 9 分钟只能触发一次。
API 参考
schedule(...)getPending()registerActionTypes(...)cancel(...)areEnabled()getDeliveredNotifications()removeDeliveredNotifications(...)removeAllDeliveredNotifications()createChannel(...)deleteChannel(...)listChannels()checkPermissions()requestPermissions()changeExactNotificationSetting()checkExactNotificationSetting()addListener('localNotificationReceived', ...)addListener('localNotificationActionPerformed', ...)removeAllListeners()- Interfaces
- Type Aliases
- Enums
schedule(...)
schedule(options: ScheduleOptions) => Promise<ScheduleResult>
安排一个或多个本地通知。
| Param | Type |
|---|---|
options | ScheduleOptions |
返回: Promise<ScheduleResult>
自版本: 1.0.0
getPending()
getPending() => Promise<PendingResult>
获取待处理通知的列表。
返回: Promise<PendingResult>
自版本: 1.0.0
registerActionTypes(...)
registerActionTypes(options: RegisterActionTypesOptions) => Promise<void>
注册通知显示时要执行的操作。
仅适用于 iOS 和 Android。
| Param | Type |
|---|---|
options | RegisterActionTypesOptions |
自版本: 1.0.0
cancel(...)
cancel(options: CancelOptions) => Promise<void>
取消待处理的通知。
| Param | Type |
|---|---|
options | CancelOptions |
自版本: 1.0.0
areEnabled()
areEnabled() => Promise<EnabledResult>
检查通知是否启用。
返回: Promise<EnabledResult>
自版本: 1.0.0
getDeliveredNotifications()
getDeliveredNotifications() => Promise<DeliveredNotifications>
获取通知屏幕上可见的通知列表。
返回: Promise<DeliveredNotifications>
自版本: 4.0.0
removeDeliveredNotifications(...)
removeDeliveredNotifications(delivered: DeliveredNotifications) => Promise<void>
从通知屏幕中移除指定的通知。
| Param | Type |
|---|---|
delivered | DeliveredNotifications |
自版本: 4.0.0
removeAllDeliveredNotifications()
removeAllDeliveredNotifications() => Promise<void>
从通知屏幕中移除所有通知。
自版本: 4.0.0
createChannel(...)
createChannel(channel: Channel) => Promise<void>
创建通知频道。
仅适用于 Android。
| Param | Type |
|---|---|
channel | Channel |
自版本: 1.0.0
deleteChannel(...)
deleteChannel(args: { id: string; }) => Promise<void>
删除通知频道。
仅适用于 Android。
| Param | Type |
|---|---|
args | { id: string; } |
自版本: 1.0.0
listChannels()
listChannels() => Promise<ListChannelsResult>
获取通知频道列表。
仅适用于 Android。
返回: Promise<ListChannelsResult>
自版本: 1.0.0
checkPermissions()
checkPermissions() => Promise<PermissionStatus>
检查显示本地通知的权限。
返回: Promise<PermissionStatus>
自版本: 1.0.0
requestPermissions()
requestPermissions() => Promise<PermissionStatus>
请求显示本地通知的权限。
返回: Promise<PermissionStatus>
自版本: 1.0.0
changeExactNotificationSetting()
changeExactNotificationSetting() => Promise<SettingsPermissionStatus>
引导用户进入应用设置屏幕以配置精确闹钟。
如果用户将设置从已授权更改为拒绝,应用将重新启动,并且任何使用精确闹钟安排的通知都将被删除。
在 Android < 12 上,用户不会被引导到应用设置屏幕,此函数将返回 granted。
仅适用于 Android。
返回: Promise<SettingsPermissionStatus>
自版本: 6.0.0
checkExactNotificationSetting()
checkExactNotificationSetting() => Promise<SettingsPermissionStatus>
检查使用精确闹钟的应用设置。
仅适用于 Android。
返回: Promise<SettingsPermissionStatus>
自版本: 6.0.0
addListener('localNotificationReceived', ...)
addListener(eventName: 'localNotificationReceived', listenerFunc: (notification: LocalNotificationSchema) => void) => Promise<PluginListenerHandle>
监听通知显示时。
| Param | Type |
|---|---|
eventName | 'localNotificationReceived' |
listenerFunc | (notification: LocalNotificationSchema) => void |
返回: Promise<PluginListenerHandle>
自版本: 1.0.0
addListener('localNotificationActionPerformed', ...)
addListener(eventName: 'localNotificationActionPerformed', listenerFunc: (notificationAction: ActionPerformed) => void) => Promise<PluginListenerHandle>
监听通知上执行操作时。
| Param | Type |
|---|---|
eventName | 'localNotificationActionPerformed' |
listenerFunc | (notificationAction: ActionPerformed) => void |
返回: Promise<PluginListenerHandle>
自版本: 1.0.0
removeAllListeners()
removeAllListeners() => Promise<void>
移除此插件的所有监听器。
自版本: 1.0.0
接口
ScheduleResult
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
notifications | LocalNotificationDescriptor[] | 已安排的通知列表。 | 1.0.0 |
LocalNotificationDescriptor
描述本地通知的对象。
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
id | number | 通知标识符。 | 1.0.0 |
ScheduleOptions
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
notifications | LocalNotificationSchema[] | 要安排的通知列表。 | 1.0.0 |
LocalNotificationSchema
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
title | string | 通知的标题。 | 1.0.0 |
body | string | 通知的正文,显示在标题下方。 | 1.0.0 |
largeBody | string | 设置用于大文本通知样式的多行文本块。 | 1.0.0 |
summaryText | string | 用于在收件箱和大文本通知样式中设置摘要文本详情。仅适用于 Android。 | 1.0.0 |
id | number | 通知标识符。在 Android 上是一个 32 位整数。因此值应在 -2147483648 和 2147483647 之间(包含)。 | 1.0.0 |
schedule | Schedule | 将此通知安排到以后的时间。 | 1.0.0 |
sound | string | 显示此通知时要播放的音频文件名称。包括文件名及其扩展名。在 iOS 上,文件应在应用包中。在 Android 上,文件应在 res/raw 文件夹中。推荐格式为 .wav,因为它同时受 iOS 和 Android 支持。仅适用于 iOS 和 Android 7.x。对于 Android 8+,请使用已配置所需声音的频道的 channelId。如果找不到声音文件(即空字符串或错误的名称),将使用默认系统通知声音。如果未提供,在 Android 上会产生默认声音,在 iOS 上则无声音。 | 1.0.0 |
smallIcon | string | 设置自定义状态栏图标。如果设置,将覆盖 Capacitor 配置中的 smallIcon 选项。图标应放置在应用的 res/drawable 文件夹中。此选项的值应为可绘制资源 ID,即不带扩展名的文件名。仅适用于 Android。 | 1.0.0 |
largeIcon | string | 设置通知的大图标。图标应放置在应用的 res/drawable 文件夹中。此选项的值应为可绘制资源 ID,即不带扩展名的文件名。仅适用于 Android。 | 1.0.0 |
iconColor | string | 设置通知图标的颜色。仅适用于 Android。 | 1.0.0 |
attachments | Attachment[] | 设置此通知的附件。 | 1.0.0 |
actionTypeId | string | 为此通知关联一个操作类型。 | 1.0.0 |
extra | any | 设置要存储在此通知中的额外数据。 | 1.0.0 |
threadIdentifier | string | 用于将多个通知分组。在 UNMutableNotificationContent 上设置 threadIdentifier。仅适用于 iOS。 | 1.0.0 |
summaryArgument | string | 此通知添加到类别摘要格式字符串的字符串。在 UNMutableNotificationContent 上设置 summaryArgument。仅适用于 iOS。 | 1.0.0 |
relevanceScore | number | 系统用于确定当系统对应用的通知进行分组时,该通知是否为主要通知的分数。值必须在 0 和 1 之间,0 表示最不相关,1 表示最相关。默认值为 0。在 UNMutableNotificationContent 上设置 relevanceScore。仅适用于 iOS。 | 8.1.0 |
interruptionLevel | InterruptionLevel | 指示通知优先级和传递时机的干扰级别。在 UNMutableNotificationContent 上设置 interruptionLevel。仅适用于 iOS。 | 8.1.0 |
group | string | 用于将多个通知分组。使用提供的值在 NotificationCompat.Builder 上调用 setGroup()。仅适用于 Android。 | 1.0.0 |
groupSummary | boolean | 如果为 true,此通知成为一组通知的摘要。使用提供的值在 NotificationCompat.Builder 上调用 setGroupSummary()。仅适用于 Android,且在使用 group 时。 | 1.0.0 |
channelId | string | 指定通知应传递到的频道。如果具有给定名称的频道不存在,则通知不会触发。如果未提供,将使用默认频道。使用提供的值在 NotificationCompat.Builder 上调用 setChannelId()。仅适用于 Android 8+。 | 1.0.0 |
ongoing | boolean | 如果为 true,通知不能被滑动清除。使用提供的值在 NotificationCompat.Builder 上调用 setOngoing()。仅适用于 Android。 | 1.0.0 |
autoCancel | boolean | 如果为 true,用户点击通知时自动取消。使用提供的值在 NotificationCompat.Builder 上调用 setAutoCancel()。仅适用于 Android。 | 1.0.0 |
inboxList | string[] | 设置在收件箱样式通知中显示的字符串列表。最多允许 5 个字符串。仅适用于 Android。 | 1.0.0 |
silent | boolean | 如果为 true,当应用在前台时通知不会出现。仅适用于 iOS。 | 5.0.0 |
Schedule
表示通知的安排计划。
使用 at、on 或 every 来安排通知。
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
at | Date | 在特定的日期和时间安排通知。 | 1.0.0 |
repeats | boolean | 在 at 指定的日期和时间重复投递此通知。仅适用于 iOS 和 Android。 | 1.0.0 |
allowWhileIdle | boolean | 允许此通知在 Doze 模式下触发。请注意,此类通知只能每 9 分钟触发一次,每个应用。 | 1.0.0 |
on | ScheduleOn | 在特定的时间间隔上安排通知。这类似于安排 cron 任务。仅适用于 iOS 和 Android。 | 1.0.0 |
every | ScheduleEvery | 在特定的时间间隔安排通知。 | 1.0.0 |
count | number | 限制由 every 指定的时间间隔投递通知的次数。 | 1.0.0 |
Date
支持日期和时间的基本存储和检索。
| 方法 | 签名 | 描述 |
|---|---|---|
| toString | () => string | 返回日期的字符串表示。字符串的格式取决于区域设置。 |
| toDateString | () => string | 返回日期作为字符串值。 |
| toTimeString | () => string | 返回时间作为字符串值。 |
| toLocaleString | () => string | 返回适合宿主环境当前区域设置的值作为字符串值。 |
| toLocaleDateString | () => string | 返回适合宿主环境当前区域设置的日期作为字符串值。 |
| toLocaleTimeString | () => string | 返回适合宿主环境当前区域设置的时间作为字符串值。 |
| valueOf | () => number | 返回自 UTC 1970 年 1 月 1 日午夜以来的存储时间值(毫秒)。 |
| getTime | () => number | 获取时间值(毫秒)。 |
| getFullYear | () => number | 使用本地时间获取年份。 |
| getUTCFullYear | () => number | 使用协调世界时 (UTC) 获取年份。 |
| getMonth | () => number | 使用本地时间获取月份。 |
| getUTCMonth | () => number | 使用协调世界时 (UTC) 获取 Date 对象的月份。 |
| getDate | () => number | 使用本地时间获取月份中的日期。 |
| getUTCDate | () => number | 使用协调世界时 (UTC) 获取月份中的日期。 |
| getDay | () => number | 使用本地时间获取星期几。 |
| getUTCDay | () => number | 使用协调世界时 (UTC) 获取星期几。 |
| getHours | () => number | 使用本地时间获取日期中的小时。 |
| getUTCHours | () => number | 使用协调世界时 (UTC) 获取 Date 对象中的小时值。 |
| getMinutes | () => number | 使用本地时间获取 Date 对象的分钟。 |
| getUTCMinutes | () => number | 使用协调世界时 (UTC) 获取 Date 对象的分钟。 |
| getSeconds | () => number | 使用本地时间获取 Date 对象的秒。 |
| getUTCSeconds | () => number | 使用协调世界时 (UTC) 获取 Date 对象的秒。 |
| getMilliseconds | () => number | 使用本地时间获取 Date 的毫秒。 |
| getUTCMilliseconds | () => number | 使用协调世界时 (UTC) 获取 Date 对象的毫秒。 |
| getTimezoneOffset | () => number | 获取本地计算机时间与协调世界时 (UTC) 之间的时间差(分钟)。 |
| setTime | (time: number) => number | 设置 Date 对象中的日期和时间值。 |
| setMilliseconds | (ms: number) => number | 使用本地时间设置 Date 对象中的毫秒值。 |
| setUTCMilliseconds | (ms: number) => number | 使用协调世界时 (UTC) 设置 Date 对象中的毫秒值。 |
| setSeconds | (sec: number, ms?: number | undefined) => number | 使用本地时间设置 Date 对象中的秒值。 |
| setUTCSeconds | (sec: number, ms?: number | undefined) => number | 使用协调世界时 (UTC) 设置 Date 对象中的秒值。 |
| setMinutes | (min: number, sec?: number | undefined, ms?: number | undefined) => number | 使用本地时间设置 Date 对象中的分钟值。 |
| setUTCMinutes | (min: number, sec?: number | undefined, ms?: number | undefined) => number | 使用协调世界时 (UTC) 设置 Date 对象中的分钟值。 |
| setHours | (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number | 使用本地时间设置 Date 对象中的小时值。 |
| setUTCHours | (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number | 使用协调世界时 (UTC) 设置 Date 对象中的小时值。 |
| setDate | (date: number) => number | 使用本地时间设置 Date 对象的月份中的日期数值。 |
| setUTCDate | (date: number) => number | 使用协调世界时 (UTC) 设置 Date 对象中的月份日期数值。 |
| setMonth | (month: number, date?: number | undefined) => number | 使用本地时间设置 Date 对象中的月份值。 |
| setUTCMonth | (month: number, date?: number | undefined) => number | 使用协调世界时 (UTC) 设置 Date 对象中的月份值。 |
| setFullYear | (year: number, month?: number | undefined, date?: number | undefined) => number | 使用本地时间设置 Date 对象的年份。 |
| setUTCFullYear | (year: number, month?: number | undefined, date?: number | undefined) => number | 使用协调世界时 (UTC) 设置 Date 对象中的年份值。 |
| toUTCString | () => string | 返回使用协调世界时 (UTC) 转换为字符串的日期。 |
| toISOString | () => string | 返回 ISO 格式的日期作为字符串值。 |
| toJSON | (key?: any) => string | 由 JSON.stringify 方法使用,以启用对象数据到 JavaScript 对象表示法 (JSON) 序列化的转换。 |
ScheduleOn
| 属性 | 类型 |
|---|---|
year | number |
month | number |
day | number |
weekday | Weekday |
hour | number |
minute | number |
second | number |
Attachment
表示通知附件。
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
id | string | 附件标识符。 | 1.0.0 |
url | string | 附件的 URL。使用 res 方案引用 Web 资源,例如 res:///assets/img/icon.png。也接受 file URL。 | 1.0.0 |
options | AttachmentOptions | 附件选项。 | 1.0.0 |
AttachmentOptions
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
iosUNNotificationAttachmentOptionsTypeHintKey | string | 在 UNNotificationAttachment 的可哈希选项中设置 UNNotificationAttachmentOptionsTypeHintKey 键。仅 适用于 iOS。 | 1.0.0 |
iosUNNotificationAttachmentOptionsThumbnailHiddenKey | string | 在 UNNotificationAttachment 的可哈希选项中设置 UNNotificationAttachmentOptionsThumbnailHiddenKey 键。仅适用于 iOS。 | 1.0.0 |
iosUNNotificationAttachmentOptionsThumbnailClippingRectKey | string | 在 UNNotificationAttachment 的可哈希选项中设置 UNNotificationAttachmentOptionsThumbnailClippingRectKey 键。仅适用于 iOS。 | 1.0.0 |
iosUNNotificationAttachmentOptionsThumbnailTimeKey | string | 在 UNNotificationAttachment 的可哈希选项中设置 UNNotificationAttachmentOptionsThumbnailTimeKey 键。仅适用于 iOS。 | 1.0.0 |
PendingResult
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
notifications | PendingLocalNotificationSchema[] | 待处理的通知列表。 | 1.0.0 |
PendingLocalNotificationSchema
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
title | string | 通知的标题。 | 1.0.0 |
body | string | 通知的正文,显示在标题下方。 | 1.0.0 |
id | number | 通知标识符。 | 1.0.0 |
schedule | Schedule | 将此通知安排到以后的时间。 | 1.0.0 |
extra | any | 设置要存储在此通知中的额外数据。 | 1.0.0 |
RegisterActionTypesOptions
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
types | ActionType[] | 要注册的操作类型列表。 | 1.0.0 |
ActionType
操作的集合。
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
id | string | 操作类型的 ID。在通知中通过 actionTypeId 键引用。 | 1.0.0 |
actions | Action[] | 与此操作类型关联的操作列表。 | 1.0.0 |
iosHiddenPreviewsBodyPlaceholder | string | 在 UNNotificationCategory 上设置 hiddenPreviewsBodyPlaceholder。仅适用于 iOS。 | 1.0.0 |
iosCustomDismissAction | boolean | 在 UNNotificationCategory 的选项中设置 customDismissAction。仅适用于 iOS。 | 1.0.0 |
iosAllowInCarPlay | boolean | 在 UNNotificationCategory 的选项中设置 allowInCarPlay。仅适用于 iOS。 | 1.0.0 |
iosHiddenPreviewsShowTitle | boolean | 在 UNNotificationCategory 的选项中设置 hiddenPreviewsShowTitle。仅适用于 iOS。 | 1.0.0 |
iosHiddenPreviewsShowSubtitle | boolean | 在 UNNotificationCategory 的选项中设置 hiddenPreviewsShowSubtitle。仅适用于 iOS。 | 1.0.0 |
Action
通知显示时可以执行的操作。
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
id | string | 操作标识符。在 'actionPerformed' 事件中作为 actionId 引用。 | 1.0.0 |
title | string | 为此操作显示的标题文本。 | 1.0.0 |
requiresAuthentication | boolean | 在 UNNotificationAction 的选项中设置 authenticationRequired。仅适用于 iOS。 | 1.0.0 |
foreground | boolean | 在 UNNotificationAction 的选项中设置 foreground。仅适用于 iOS。 | 1.0.0 |
destructive | boolean | 在 UNNotificationAction 的选项中设置 destructive。仅适用于 iOS。 | 1.0.0 |
input | boolean | 使用 UNTextInputNotificationAction 代替 UNNotificationAction。仅适用于 iOS。 | 1.0.0 |
inputButtonTitle | string | 在 UNTextInputNotificationAction 上设置 textInputButtonTitle。仅适用于 iOS 且 input 为 true 时。 | 1.0.0 |
inputPlaceholder | string | 在 UNTextInputNotificationAction 上设置 textInputPlaceholder。仅适用于 iOS 且 input 为 true 时。 | 1.0.0 |
CancelOptions
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
notifications | LocalNotificationDescriptor[] | 要取消的通知列表。 | 1.0.0 |
EnabledResult
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
value | boolean | 设备是否已启用本地通知。 | 1.0.0 |
DeliveredNotifications
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
notifications | DeliveredNotificationSchema[] | 在通知屏幕上可见的通知列表。 | 1.0.0 |
DeliveredNotificationSchema
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
id | number | 通知标识符。 | 4.0.0 |
tag | string | 通知标签。仅适用于 Android。 | 4.0.0 |
title | string | 通知的标题。 | 4.0.0 |
body | string | 通知的正文,显示在标题下方。 | 4.0.0 |
group | string | 通知的已配置组。仅适用于 Android。 | 4.0.0 |
groupSummary | boolean | 此通知是否为一组通知的摘要。仅适用于 Android。 | 4.0.0 |
data | any | 通知负载中包含的任何附加数据。仅适用于 Android。 | 4.0.0 |
extra | any | 要存储在此通知中的额外数据。仅适用于 iOS。 | 4.0.0 |
attachments | Attachment[] | 此通知的附件。仅适用于 iOS。 | 1.0.0 |
actionTypeId | string | 与此通知关联的操作类型。仅适用于 iOS。 | 4.0.0 |
schedule | Schedule | 用于触发此通知的安排计划。仅适用于 iOS。 | 4.0.0 |
sound | string | 通知显示时使用的声音。仅适用于 iOS。 | 4.0.0 |
Channel
| 属性 | 类型 | 描述 | 默认值 | 自版本 |
|---|---|---|---|---|
id | string | 频道标识符。 | 1.0.0 | |
name | string | 此频道的人类可读名称(呈现给用户)。 | 1.0.0 | |
description | string | 此频道的描述(呈现给用户)。 | 1.0.0 | |
sound | string | 投递到此频道的通知应播放的声音。重要性至少为 3 的通知频道应有声音。声音文件的文件名应相对于 Android 应用的 res/raw 目录指定。如果未提供声音或未找到声音文件,则不会使用声音。 | 1.0.0 | |
importance | Importance | 投递到此频道的通知的干扰级别。 | | 1.0.0 |
visibility | Visibility | 投递到此频道的通知的可见性。此设置用于确定投递到此频道的通知是否在锁屏上显示,如果显示,是否以编辑形式显示。 | 1.0.0 | |
lights | boolean | 投递到此频道的通知是否应在支持此功能的设备上显示通知灯。 | 1.0.0 | |
lightColor | string | 投递到此频道的通知的灯光颜色。仅在此频道启用了灯光且设备支持时有效。支持的颜色格式为 #RRGGBB 和 #RRGGBBAA。 | 1.0.0 | |
vibration | boolean | 投递到此频道的通知是否应振动。 | 1.0.0 |
ListChannelsResult
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
channels | Channel[] | 通知频道列表。 | 1.0.0 |
PermissionStatus
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
display | PermissionState | 显示通知的权限状态。 | 1.0.0 |
SettingsPermissionStatus
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
exact_alarm | PermissionState | 使用精确闹钟的权限状态。 | 6.0.0 |
PluginListenerHandle
| 属性 | 类型 |
|---|---|
remove | () => Promise<void> |
ActionPerformed
| 属性 | 类型 | 描述 | 自版本 |
|---|---|---|---|
actionId | string | 已执行操作的标识符。 | 1.0.0 |
inputValue | string | 用户在通知上输入的值。仅适用于 iOS 且 input 设置为 true 的通知。 | 1.0.0 |
notification | LocalNotificationSchema | 原始通知模式。 | 1.0.0 |
类型别名
ScheduleEvery
'year' | 'month' | 'two-weeks' | 'week' | 'day' | 'hour' | 'minute' | 'second'InterruptionLevel
指示通知优先级和传递时机的干扰级别。
active:系统立即呈现通知,点亮屏幕,并可以播放声音。critical:系统立即呈现通知,点亮屏幕,并绕过静音开关播放声音。需要关键提醒授权。passive:系统将通知添加到通知列表,而不点亮屏幕或播放声音。timeSensitive:系统立即呈现通知,点亮屏幕,可以播放声音,并突破系统通知控件。需要 Time Sensitive Notifications 功能。没有此功能,通知可能无法突破更严格的专注模式(如勿扰模式)。即使有此功能,用户也可以在设置中为每个专注模式禁用 Time Sensitive 通知。有关更多详细信息,请参阅 Time Sensitive 通知。
'active' | 'critical' | 'passive' | 'timeSensitive'Importance
重要性级别。有关更多详细信息,请参阅 Android 开发者文档。
0 | 1 | 2 | 3 | 4 | 5Visibility
通知可见性。有关更多详细信息,请参阅 Android 开发者文档。
-1 | 0 | 1PermissionState
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'枚举
Weekday
| 成员 | 值 |
|---|---|
Sunday | 1 |
Monday | 2 |
Tuesday | 3 |
Wednesday | 4 |
Thursday | 5 |
Friday | 6 |
Saturday | 7 |