{"maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"dist-tags":{"beta":"0.9.0-beta.3","latest":"1.2.3"},"author":{"name":"Sebastián Katzer"},"description":"Schedules and queries for local notifications","readme":"<p style=\"text-align: center;\">\n    <img src=\"images/logo.png\">\n</p>\n\n<!-- Apache license -->\n<a href=\"https://opensource.org/licenses/Apache-2.0\">\n    <img src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License\" />\n</a>\n\n# Version 1.2.3\n\nStable release:\n<!--\n  GitHub caches the npm badge and changes the url to a cached github url like:\n  https://camo.githubusercontent.com/11f744ab82c...\n  The GitHub can be cleared with the following bash command:\n  curl -X PURGE https://camo.githubusercontent.com/11f744ab82c...\n  The browser would have to be cleared also to let the updated badge appear.\n-->\n[![npm version](https://badge.fury.io/js/cordova-plugin-local-notification.svg)](https://badge.fury.io/js/cordova-plugin-local-notification)\n\nA notification is a message you display to the user outside of your app's normal UI. When you tell the system to issue a notification, it first appears as an icon in the notification area. To see the details of the notification, the user opens the notification drawer. Both the notification area and the notification drawer are system-controlled areas that the user can view at any time.\n\n<img style=\"float: right; padding: 20px; padding-right: 40px;\" width=\"320\" src=\"images/android-notification-example.png\">\n\n### Notification components\n\n- Header area\n- Content area\n- Action area\n\n### How notifications may be noticed\n\n- Showing a status bar icon\n- Appearing on the lock screen\n- Playing a sound or vibrating\n- Peeking onto the current screen\n- Blinking the device's LED\n\n### Supported platforms\n\n- Android 7.0+ (minimum version by cordova-android 13.0.0) with a minimum WebView Version 60 (Android 8 is shipped with a WebView version 58 and must be updated with Google Play Store before)\n- iOS 11.3+ (minimum version by cordova-ios 7.0.0)\n\n### Installation\n\nThe plugin can be installed via [Cordova-CLI][CLI] and is publicly available on [NPM][npm].\n\n#### NPM\n\nExecute from the projects root folder:\n\n    $ cordova plugin add cordova-plugin-local-notification\n\nInstall a specific version:\n\n    $ cordova plugin add cordova-plugin-local-notification@VERSION\n\n#### Git\nInstall the latest head version:\n\n    $ cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git\n\nInstall from a branch:\n\n    $ cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git#branch\n\nInstall from a tag:\n\n    $ cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git#v1.0.0\n\nInstall from a specific commit:\n\n    $ cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git#5e4f131\n\n#### Local\nInstall from local source:\n\n    $ cordova plugin add <path> --nofetch --nosave --link\n\n## Upgrade Notice\n\n### Version 0.9.0-beta.3 (13.02.2018)\n- Last version which supports `cordova-android` older than `13.0.0` and supports minimum `cordova-android` version `6.0.0` which is Android version `4.1`\n- Last version which supports the Windows platform\n\n### Version 1.0.0 (17.08.2024)\n- Removed Windows platform\n- Support for Android 12-14 and uses AndroidX\n- Raised minimum `cordova-android`version from `6.0.0` to `13.0.0`, which raised the minimum Android version from `4.1` `SDK 16` to `7.0` `SDK 24`\n- Raised minimum `cordova-ios` version from `4.3.0` to `7.0.0`\n- Raised minimum Cordova version from `3.6.0` to `12.0.0`\n- Raised minimum `cordova-plugin-device` version from `2.0.0` to `3.0.0`\n\n### Updates in version 1.1.0 (23.12.2024)\n- Proper handling of Android channels\n- Properties were renamed for the Android platform, see [Changed properties](#changes-since-version-110).\n\n#### Android\nThe [Default channel](#default-channel) id was changed from `default-channel-id` to `default_channel`. If you upgrade to this version and schedule notifications, there will be two channels from then on, the old one and the new one. You can remove the old one with [deleteChannel](#deletechannel).\n\n#### iOS\n[iOSForeground](#property-iosforeground) is `true` by default\n\n### Updates in version 1.1.1\n\n#### Android\nThe property `vibrate` was renamed to [androidChannelEnableVibration](#property-androidchannelenablevibration).\n\n#### iOS\nA notification will be always showed in the notification center like on Android. Happens also if [iOSForeground](#property-iosforeground) is `false`.\n\n### Updates in Version 1.1.4\n\n#### Android\nNotifications with an old `trigger.at` date will be shown when you schedule them. Before they were ignored.\n\n### Updates in Version 1.1.8\n\n- Notifications with `trigger.at` date more than 5 seconds in the past will be ignored. iOS did always ignore passed notifications.\n- If no [id](#property-id) of a notification is set, it will default to `1` instead of `0`.\n\n## Basics\n\nThe plugin creates the object `cordova.plugins.notification.local` and is accessible after the `deviceready` event has been fired.\n\nYou can schedule a single notification as follows:\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'My first notification',\n    text: 'Thats pretty easy...'\n});\n```\n\n<img width=\"320\" src=\"images/ios-notification.png\">\n\nYou have always to set an unique ID for every notification. The plugin does not automatically set an ID. If you do not set an ID, it will default to `1`. If you reuse an ID of a previous scheduled notification, the previous one will be canceled.\n\nThe plugin allows to schedule multiple notifications at once:\n\n```js\ncordova.plugins.notification.local.schedule([\n    {\n        id: 1,\n        title: 'My first notification'\n    },\n    {\n        id: 2,\n        title: 'My second notification'\n    }\n]);\n```\n\n## Notification Limits\nOn each platform are limits about how much notifications can be scheduled:\n\n- iOS: 64\n- Android: 500\n\nRepeating notifications count as 1 notification.\n\n## Properties\nA notification does have a set of configurable properties. See [all properties](#properties-1).\n\n## Permissions\nOn iOS and Android 13+ permissions must be requested from the user before notifications can be posted. This is done automatically, when scheduling a notification. If you want do it manually, you can use [requestPermission](#requestpermission). Please keep in mind, that the user can still change the permission later in the system. If you want to check, if you have still the permission to post notifications, use [hasPermission](#haspermission).\n\n<img width=\"240\" src=\"images/ios-request-permission.png\">\n<img width=\"240\" src=\"images/android-request-permission.png\">\n\nOn Android, the permissions must be requested since Android 13. In earlier versions no permissions must be granted.\n\n## Android specials\n\n### Notification channels\nSince Android 8 notification channels must be created to post noitifications. A [default channel](#default-channel) will be created for you, if you do not create one. You can also create your own channel by [createChannel](#createchannel) or when [scheduling a notification](#create-channel-by-posting-a-notification). For deleting a channel use [deleteChannel](#deletechannel).\n\n### Inexact alarms since Android 12\nSince Android 12 alarms will be scheduled inexact by default. On Android 12 (API level 31) and higher, the system invokes the alarm within one hour of the supplied trigger time, unless any battery-saving restrictions are in effect such as battery saver or Doze. Most apps can schedule tasks and events using inexact alarms to complete several common use cases. If your app's core functionality depends on a precisely-timed alarm — such as for an alarm clock app or a calendar app — then it's OK to use an exact alarm instead.\n\nSee [Schedule exact alarms](#android-schedule-exact-alarms), if you want use exact alarms.\n\nSee [Android documentation](https://developer.android.com/develop/background-work/services/alarms/schedule) for more information.\n\n### App hibernation / App unused\nIf your app runs on Android 12 and newer and the user doesn't interact with your app for 3 months, the system places your app in a hibernation state which will cancel all pending notifications and revokes permissions. When the user interacts with your app again, the app exits hibernation and the notifications will be re-scheduled. It doesn't count as app usage if the user dismisses a notification. If the app is hibernated, the user will get informed about it:\n\n<img width=\"320\" src=\"images/android-app-hibernation-notification.png\">\n\nThe documentation says that permissions are also revoked, but testing the hibernation behavior on an Android 15 emulator showed, that the app keeps the permission to post notifications.\n\n#### Notes\n- Android introduced this behavior in Android 11 and additionally backported this to Android 6 to 10 through the Google Play Store but only the permissions are revoked and not the pending notifications. Because permissions are only needed since Android 13, this does not affect this plugin. Since Android 12 notifications are also canceled besides revoking the permissions.\n- You can manually test the hibernation behavior, see [App hibernation > Manually invoke hibernation behavior](https://developer.android.com/topic/performance/app-hibernation#manually-invoke).\n- To see a complete list, what counts as app usage and what not, see [App hibernation > App usage](https://developer.android.com/topic/performance/app-hibernation#app-usage).\n- 3 months are based on executing `adb shell device_config get permissions \\ auto_revoke_unused_threshold_millis2` which will return `7776000000` milliseconds on an Android 15 Emulator which are nearly 3 months (~2.96 months).\n\n#### Manage App hibernation\n\nYou can get the status of the setting by calling [getUnusedAppRestrictionsStatus](#getunusedapprestrictionsstatus). To redirect the user to the setting, call [openManageUnusedAppRestrictions](#openmanageunusedapprestrictions). Before opening the setting, you can inform the user about this behavior and explain which setting he has to deactivate. When opening the settings, the system will not scroll to the right entry and the setting is named differently on different Android versions:\n\nSample Android 12:\n\n<img width=\"240\" src=\"images/android-app-hibernation-settings-android-12.png\">\n\nOn other Android versions it is named differently:\n\nAndroid 13/14:\n\n<img width=\"320\" src=\"images/android-app-hibernation-settings-android-13-14.png\">\n\nAndroid 15:\n\n<img width=\"320\" src=\"images/android-app-hibernation-settings-android-15.png\">\n\n### Doze and Standby\n\nAndroid has two power-saving features that extend battery life for users by managing how apps behave when a device isn't connected to a power source: Doze and App Standby. Doze reduces battery consumption by deferring background CPU and network activity for apps when the device is unused for long periods of time. App Standby defers background network activity for apps with no recent user activity.\n\nTo fire notifications when the device is in doze mode, you can schedule notifications with the property [androidAllowWhileIdle](#property-androidallowwhileidle).\n\nApp Standby does not affect you when showing a notification.\n\nYou can read everything about it in the [Android documentatation](https://developer.android.com/training/monitoring-device-state/doze-standby).\n\n### Alarm rescheduling\n\n#### App Update\nAndroid removes all alarms when the app is updated. The plugin reschedules all alarms by a [BroadcastReceiver](https://developer.android.com/develop/background-work/background-tasks/broadcasts) listening to [ACTION_MY_PACKAGE_REPLACED](https://developer.android.com/reference/android/content/Intent#ACTION_MY_PACKAGE_REPLACED).\n\n#### Device reboot\n\nAndroid removes all alarms when the device reboots. The plugin reschedules all alarms by a [BroadcastReceiver](https://developer.android.com/develop/background-work/background-tasks/broadcasts) listening to [ACTION_BOOT_COMPLETED](https://developer.android.com/reference/android/content/Intent#ACTION_BOOT_COMPLETED), but only after the device has been unlocked.\n\n#### User grants exact alarms\n\nIf you use [SCHEDULE_EXACT_ALARM](#exact-alarms-user-grants-permission) for scheduling exact alarms and the user permits the permission in the \"Alarms & Reminders\", inexact alarms will be rescheduled as exact alarms. This is done by a [BroadcastReceiver](https://developer.android.com/develop/background-work/background-tasks/broadcasts) listening to [ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED](https://developer.android.com/reference/android/app/AlarmManager#ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED). This action will not be called if the user revokes the permission. All exact alarms will be canceled then.\n\n[](README.md#android-15-alarms-get-canceled-on-force-stop)\n\n#### Android 15: Alarms get canceled on `Force stop`\nSince Android 15 all pending alarms will get canceled if the user force stops an app, this is a change by Google, see https://developer.android.com/about/versions/15/behavior-changes-all#enhanced-stop-states. The alarms will be re-registered, if the user starts the app again. If the user clears the app from the app stack the alarms will not get canceled.\n\nKeep in mind, that force stopping is only known by advised users and if they do it, they have a reason to do this and they should be aware, that the app will no longer function correctly as the System also states when clicking on `Force stop` by showing an alert with the message `If you force stop an app, it may misbehave.`\n\n## Actions\n\nYou can add actions to a notification, which can be a button or an input.\nBefore you can use them you have to create an action group with some actions.\n\n```javascript\n// Creates an action group with the id 'YES_NO_CATEGORY' and two actions.\ncordova.plugins.notification.local.addActions('YES_NO_CATEGORY', [\n    {\n        id: 'YES_ACTION', // Action id\n        title: 'Yes', // Action button title\n        launch: true // Click on action will open the app\n    },\n    {\n        id: 'NO_ACTION',\n        title: 'No'\n    }\n]);\n```\n\nTo see which properties can be set see [Action properties](#action-properties).\n\nBy default a click on an action will not open the app. To launch the app when a notification was clicked, set `launch: true`.\n\nNote for Android: If `launch` is not set and the app is killed, the event will be hold back in a background process of the app to wait for the next time the app starts, but could be lost, if the system kills the app background process.\n\nIf the `type` of an action is not set, it defaults to `button`.\n\nAfter the action group is defined, you can assign it to a notification:\n\n```javascript\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Justin Rhyss',\n    text: 'Do you want to go see a movie tonight?',\n    actions: 'YES_NO_CATEGORY'\n});\n```\n\n<p style=\"text-align: center;\">\n    <img width=\"320\" src=\"images/ios-actions.png\">\n    <img width=\"320\" src=\"images/android-actions.png\">\n</p>\n\nOn iOS the actions are not visible by default. You have to long press on the notification to see them.\n\n### Action Input\n\nCreate an action group with an action input:\n\n```javascript\ncordova.plugins.notification.local.addActions('REPLY_NO_CATEGORY', [\n    {\n        id: 'REPLY_ACTION',\n        type: 'input',\n        title: 'Reply',\n        emptyText: 'Type message',\n        launch: true // Will open the app\n    },\n    {\n        id: 'NO_ACTION',\n        title: 'No'\n    }\n]);\n```\n\nTo see which properties can be set for an action input see [Action properties](#action-properties).\n\nSchedule notification with the defined action group:\n\n```javascript\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Justin Rhyss',\n    text: 'Do you want to go see a movie tonight?',\n    actions: 'REPLY_NO_CATEGORY'\n});\n```\n\n| iOS          | Android      |\n| :----------- | :----------- |\n| <img width=\"240\" src=\"images/ios-actions-with-input.png\"> | <img width=\"240\" src=\"images/android-actions-with-input-not-clicked.png\"><br><img width=\"240\" src=\"images/android-actions-with-input-clicked.png\"> |\n\n#### Read input data\n\nYou have to subscribe to the event of the action id. The parameter `event` in the event callback will contain the input data of the user:\n\n```javascript\ncordova.plugins.notification.local.on('REPLY_ACTION', (notification, event) => {\n    // User made an input, event.text contains the input\n    console.log(\"user input data=\" + event.text);\n});\n```\n\n\n##### Android sepcifics\n\nWhen a notification has an input action, it can't be cleared from the statusbar (see\n[Stackoverflow](https://stackoverflow.com/questions/54219914/cancel-notification-with-remoteinput-not-working) or [plugin issue #2080](https://github.com/katzer/cordova-plugin-local-notifications/issues/2080)).\nGoogle recommends to update the notification after the user made an input and show the reply without the actions. This plugin does this, but without showing the reply of the user and directly clear the notification after the update. Because the notiification will be updated after the input, you will get also an `update` event for that notification.\n\n### Handle action events\n\nSee [Subscribe to an action event](#subscribe-to-an-action-event).\n\n### Action properties\n\n#### Common\n\nThese common properties can be specified for an action of type `button` or `input`:\n\n| Property     | Android | iOS | Description |\n| :----------- | :------ | :-- | :---------- |\n| id           | x       | x   | Action id. Also needed to listen to the [action event](#subscribe-to-an-action-event). |\n| title        | x       | x   | Title of the action button |\n| launch       | x       | x   | If the app should be launched, when the user clicks on an action button or sends the input of an action input. Default is `false`. |\n| ui           |         | x   | <img src=\"images/apple-icon.svg\" width=\"16\"> Can be set to `decline` which will display the action button with special highlighting to indicate that it performs a destructive task. Sets natively [UNNotificationActionOptionDestructive](https://developer.apple.com/documentation/usernotifications/unnotificationactionoptions/destructive?language=objc). |\n| needsAuth    |         | x   | <img src=\"images/apple-icon.svg\" width=\"16\"> If set to `true` the action can be performed only on an unlocked device. When the user selects an action with this option, the system prompts the user to unlock the device. After unlocking, the system notifies your app of the selected action. You might use option to perform actions that require accessing data that is encrypted while the device is locked. Sets natively [UNNotificationActionOptionAuthenticationRequired](https://developer.apple.com/documentation/usernotifications/unnotificationactionoptions/authenticationrequired?language=objc). |\n| icon         | x       |     | <img src=\"images/android-icon.svg\" width=\"16\"> Is not supported anymore for normal notifications since Android 7, see [Google Blog article for notifications on Android 7](https://android-developers.googleblog.com/2016/06/notifications-in-android-n.html). It will be only used on Android Wear. |\n\n#### Action input properties\n\nThese properties can additionally be specified for an `input` action:\n\n| Property     | Android | iOS | Description |\n| :----------- | :------ | :-- | :---------- |\n| emptyText    | x       | x   | Placeholder text for input field. |\n| submitTitle  |         | x   | <img src=\"images/apple-icon.svg\" width=\"16\"> Title for submit button. Defaults to `Submit`. |\n| editable     | x       |     | <img src=\"images/android-icon.svg\" width=\"16\"> Specifies whether the user can provide arbitrary text values. If you specify `false`, you must provide a non-null and non-empty array for `choices`. Default is `true`. |\n| choices      | x       |     | <img src=\"images/android-icon.svg\" width=\"16\"> A String array of pre-defined choices for users input. You must provide a non-null and non-empty array if you disabled free form input by setting `editable` to `false`. |\n\n## Triggers\n\nNotifications may trigger immediately or depend on calendar or location.\n\n### Fixed date\nTrigger at a fixed date:\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Design team meeting',\n    text: '3:00 - 4:00 PM',\n    trigger: { at: new Date(2017, 10, 27, 15) }\n});\n```\n\n| Property      | Type    | Value            | Android | iOS |\n| :------------ | :------ | :--------------- | :------ | :-- |\n| at            | Date    |                  | x       | x   |\n\n### Relative\nRelative from now:\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Design team meeting',\n    trigger: { in: 1, unit: 'hour' }\n});\n```\n\n| Property      | Type    | Value            | Android | iOS |\n| :------------ | :------ | :--------------- | :------ | :-- |\n| in            | Int     |                  | x       | x   |\n| unit          | String  | `second`, `minute`, `hour`, `day`, `week`, `month`, `quarter`, `year` | x       | x   |\n\n### Repeating\n\nRepeat relative from now:\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Design team meeting',\n    trigger: { every: 'day', count: 5 } // count is only supported by Android\n});\n```\n\n| Property      | Type    | Value            | Android | iOS | Note |\n| :------------ | :------ | :--------------- | :------ | :-- | :--- |\n| before        | Date    |                  | x       |     | |\n| firstAt       | Date    |                  | x       |     | |\n| count         | Int     |                  | x       |     |      |\n| every         | String  | `minute`, `hour`, `day`, `week`, `month`, `quarter` <img src=\"images/android-icon.svg\" width=\"16\">, `year` | x       | x   | |\n\nTrigger every time the date matches:\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Happy Birthday!!!',\n    trigger: { every: { month: 10, day: 27, hour: 9, minute: 0 } }\n});\n```\n\n| Property      | Type    | Value            | Android | iOS | Note |\n| :------------ | :------ | :--------------- | :------ | :-- | :--- |\n| before        | Date    |                  | x       |     | |\n| after         | Date    |                  | x       |     | |\n| count         | Int     |                  | x       |     |      |\n| every         | Object  | `minute`, `hour`, `day`, `weekday`, `weekdayOrdinal` <img src=\"images/apple-icon.svg\" width=\"16\">, `week` <img src=\"images/apple-icon.svg\" width=\"16\">, `weekOfMonth`, `month`, `quarter`  <img src=\"images/apple-icon.svg\" width=\"16\"> | x       | x   | |\n\n### Location based\n<img src=\"images/apple-icon.svg\" width=\"16\"> iOS only\n\nTo trigger when the user enters a region:\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Welcome to our office',\n    trigger: {\n        type: 'location',\n        center: [x, y],\n        radius: 15,\n        notifyOnEntry: true\n    }\n});\n```\n\n| Property      | Type    | Value            | Android | iOS | Note |\n| :------------ | :------ | :--------------- | :------ | :-- | :--- |\n| center        | Array   | `[lat, long]`    |         | x   |      |\n| radius        | Int     |                  |         | x   |      |\n| notifyOnEntry | Boolean |                  |         | x   |      |\n| notifyOnExit  | Boolean |                  |         | x   |      |\n| single        | Boolean |                  |         | x   |      |\n\n## Progress\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nNotifications can include an animated progress indicator that shows users the status of an ongoing operation.\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'Sync in progress',\n    text: 'Copied 2 of 10 files',\n    androidProgressBar: {\n        value: 20, // Default 0\n        maxValue: 100, // Default 100\n        indeterminate: false // Default false\n    }\n});\n```\n\n<p style=\"text-align: center;\">\n    <img src=\"images/android-progress.png\">\n</p>\n\nCalls [NotificationCompat.Builder#setProgress(int,int,boolean)](https://developer.android.com/reference/androidx/core/app/NotificationCompat.Builder#setProgress(int,int,boolean))\n\n### Indeterminate Progress\n\nUse indeterminate mode for the progress bar when you do not know how long an operation will take. It shows a cyclic animation without a specific amount of progress indicated.\n\nSee [ProgressBar#indeterminate-progress](https://developer.android.com/reference/android/widget/ProgressBar.html#indeterminate-progress)\n\n### Determinate Progress\n\nUse determinate mode for the progress bar when you want to show that a specific quantity of progress has occurred. For example, the percent remaining of a file being retrieved, the amount records in a batch written to database, or the percent remaining of an audio file that is playing.\n\nSee [ProgressBar#determinate-progress](https://developer.android.com/reference/android/widget/ProgressBar.html#determinate-progress)\n\n## Patterns\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nSplit the text by line breaks if the message comes from a single person and just too long to show in a single line.\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'The Big Meeting',\n    text: '4:15 - 5:15 PM\\nBig Conference Room',\n    androidSmallIcon: 'res://ic_menu_my_calendar',\n    androidLargeIcon: 'res://large_icon'\n});\n```\n\n<p style=\"text-align: center;\">\n    <img src=\"images/android-inbox.png\">\n</p>\n\n## Summarizing\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nInstead of displaying multiple notifications, you can create one notification that summarizes them all.\n\n```js\ncordova.plugins.notification.local.schedule({\n    id: 15,\n    title: 'Chat with Irish',\n    androidLargeIcon: 'res://large_icon',\n    androidMessages: [\n        { person: 'Me', message: 'I miss you' },\n        { person: 'Irish', message: 'I miss you more!' },\n        { person: 'Me', message: 'I always miss you more by 10%' }\n    ]\n});\n```\n\n<p style=\"text-align: center;\">\n    <img src=\"images/android-chat.png\">\n</p>\n\nTo add a new message to the existing chat:\n\n```js\ncordova.plugins.notification.local.update({\n    id: 15,\n    androidMessages: [{ person: 'Irish', message: 'Bye bye' }]\n});\n```\n\nFor displaying the messages, [NotificationCompat.MessagingStyle](https://developer.android.com/reference/androidx/core/app/NotificationCompat.MessagingStyle) will be used.\n\n### Properties for `androidMessages`\n```javascript\nandroidMessags: [\n    {\n        message: \"The message\", // Default is `null`\n        date: 1234567890, // Timestamp in milliseconds for e.g. by Date.getTime(), default is System.currentTimeMillis()\n        person: \"Michael\", // Default is `null`\n        personIcon: \"www/personIcon.png\" // Default is `null`\n    }\n]\n```\n\n#### Property `personIcon`\nWill be drawn as a circle icon.\n\nPossible values:\n- `res://personIcon.png` - Resource from the app bundle, see [documentation](#resource-pattern-res)\n- `www/personIcon.png` - Resource from the `www` folder, see [documentation](#resource-pattern-www)\n- `shared://personIcon.png` - Resource from the shared folder, see [documentation](#resource-pattern-shared)\n\n## Grouping\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nYour app can present multiple notifications as a single group:\n\n- A parent notification displays a summary of its child notifications.\n- The child notifications are presented without duplicate header information.\n\n```js\ncordova.plugins.notification.local.schedule([\n    {\n        id: 1,\n        title: 'Design team meeting',\n        ...\n    },\n    {\n        id: 2,\n        androidSummary: 'me@gmail.com',\n        androidGroup: 'email',\n        androidGroupSummary: true\n    },\n    {\n        id: 3,\n        title: 'Please take all my money',\n        ...,\n        androidGroup: 'email'\n    },\n    {\n        id: 4,\n        title: 'A question regarding this plugin',\n        ...,\n        androidGroup: 'email'\n    },\n    {\n        id: 5,\n        title: 'Wellcome back home',\n        ...,\n        androidGroup: 'email'\n    }\n]);\n```\n\n<p style=\"text-align: center;\">\n    <img src=\"images/android-stack.png\">\n</p>\n\n## Android channels\n\n### Default channel\nThe following settings will be used for the default Android channel.\n\n```javascript\n{\n    androidChannelId: \"default_channel\",\n    androidChannelName: \"Default channel\",\n    androidChannelImportance: \"IMPORTANCE_DEFAULT\"\n}\n```\n\nYou can change the defaults by calling [setDefaults](#setdefaults) or you can overwrite them, when scheduling a notification or [creating a channel](#createchannel).\n\nThe default channel id was changed in version 1.1.0 from `default-channel-id` to `default_channel`.\n\n### Create channel by posting a notification\nA channel can be created directly when posting a notification:\n\n```javascript\ncordova.plugins.notification.local.schedule({\n    id: 1,\n    title: 'My first notification',\n    androidChannelId: \"my_channel_01\",\n    androidChannelName: \"My Channel Name\"\n});\n```\n\nIf you omit some channel properties the [default channel properties](#default-channel) will be used.\n\n## Android: Schedule exact alarms\nSince Android 12 notifications will be scheduled inexact by default. On Android 12 (API level 31) and higher, the system invokes the alarm within one hour of the supplied trigger time, unless any battery-saving restrictions are in effect such as battery saver or Doze. Most apps can schedule tasks and events using inexact alarms to complete several common use cases. If your app's core functionality depends on a precisely-timed alarm — such as for an alarm clock app or a calendar app — then it's OK to use an exact alarm instead.\n\nSee [Android documentation](https://developer.android.com/develop/background-work/services/alarms/schedule) for more information.\n\nYou have two options, to schedule exact alarms.\n\n### Exact alarms: User grants permission\nYou must add the [SCHEDULE_EXACT_ALARM](https://developer.android.com/reference/android/Manifest.permission#SCHEDULE_EXACT_ALARM) permission to `AndroidManifest.xml`. You can do this with your `config.xml`.\n\nFirst add the Android xml namespace to your `widget` tag:\n\n```xml\n<widget ... xmlns:android=\"http://schemas.android.com/apk/res/android\">\n````\n\nThen add the following [config-file](https://cordova.apache.org/docs/en/12.x/plugin_ref/spec.html#config-file) declaration to your `config.xml`:\n\n```xml\n<config-file target=\"AndroidManifest.xml\" parent=\"/manifest\">\n    <uses-permission android:name=\"android.permission.SCHEDULE_EXACT_ALARM\" />\n</config-file>\n```\n\nThis tells Android that your app wants to have the permission to schedule exact alarms.\n\n|      |      |\n| :--- | :--- |\n| <img width=\"320\" src=\"images/android-alarms-and-reminders-in-app-settings.png\" /> | After declaring `SCHEDULE_EXACT_ALARM` as permission, your app have a new entry in the app settings called `Alarms & reminders`, where the user can enable/disable exact alarms. |\n| <img width=\"320\" src=\"images/android-alarms-and-reminders-setting.png\" /> | Clicking on this entry will open the setting to enable/disable exact alarms. This screen will also been shown if you call [openAlarmSettings](#openalarmsettings) |\n\nOn Android 12 `SCHEDULE_EXACT_ALARM` is pre-granted. On Android 13 and newer the user has to permit this in the \"Alarms & Reminders\" setting, which you can open by [openAlarmSettings](#openalarmsettings). You can use the [resume](https://cordova.apache.org/docs/en/12.x/cordova/events/events.html#resume) event of Cordova to check if exact alarms are permitted by [canScheduleExactAlarms](#canscheduleexactalarms). If you have already posted inexact alarms, before the user granted the exact alarm permission, inexact alarms will be automatically rescheduled by this plugin as exact alarms. The downside is, when the user revokes the exact alarm permission, your app will be killed and all exact alarms will be canceled without rescheduling them as inexact alarms. You have to reschedule them the next time the user starts your app. You can read everything about it in the [Android documentation](https://developer.android.com/about/versions/14/changes/schedule-exact-alarms).\n\n### Exact alarms: Define your app as a Calender or Alarm Clock app\nThis is a very special case you should think about. When you declare your app as a calendar or alarm clock app, the app have to fullfill the requirements and must be approved by Google in the Play Store. Google could remove the app from the store if the app is found to be misusing the permission.\n\nCalendar or alarm clock apps need to send calendar reminders, wake-up alarms, or alerts when the app is no longer running. These apps can request the [USE_EXACT_ALARM](https://developer.android.com/reference/android/Manifest.permission#USE_EXACT_ALARM) permission. The `USE_EXACT_ALARM` permission will be granted on install, and apps holding this permission will be able to schedule exact alarms just like apps with the `SCHEDULE_EXACT_ALARM` permission. The advantage is, that this permission can't be revoked by the user.\n\nTo declare the `USE_EXACT_ALARM` permission in the `AndroidManifest.xml`, you can do this with your `config.xml`.\n\nFirst add the Android xml namespace to your `widget` tag:\n\n```xml\n<widget ... xmlns:android=\"http://schemas.android.com/apk/res/android\">\n````\n\nThen add the following [config-file](https://cordova.apache.org/docs/en/12.x/plugin_ref/spec.html#config-file) declaration to your `config.xml`:\n\n```xml\n<config-file target=\"AndroidManifest.xml\" parent=\"/manifest\">\n    <uses-permission android:name=\"android.permission.SCHEDULE_EXACT_ALARM\" android:maxSdkVersion=\"32\" />\n    <uses-permission android:name=\"android.permission.USE_EXACT_ALARM\" />\n</config-file>\n```\n\nThe permission `SCHEDULE_EXACT_ALARM` must be decared to be backward compatible with Android 12. The is why the permission is limited by `android:maxSdkVersion=\"32\"`, see [StackOverflow](https://stackoverflow.com/questions/73972021/android-permission-schedule-exact-alarm-required-with-use-exact-alarm-for-alarm) or the documentation of [USE_EXACT_ALARM](https://developer.android.com/reference/android/Manifest.permission#USE_EXACT_ALARM).\n\nThe permission `USE_EXACT_ALARM` exists since Android 13 and will be used from then on.\n\n## Events\n\nThe following events are supported: `add`, `trigger`, `click`, `clear`, `cancel`, `update`, `clearall` and `cancelall`. Clicks on actions will trigger an event for the action id.\n\n### Subscribe to an event\n\n```js\ncordova.plugins.notification.local.on('click', (notification, event) => {\n    // A notification was clicked\n});\n```\n\n### Subscribe to an action event\n\nIf you want to listen when an action was clicked or an input was made, you have to subscribe to the action id:\n\nExample:\n\n```js\n// Define an action group with the action ids 'YES_ACTION' and 'NO_ACTION'\ncordova.plugins.notification.local.addActions('YES_NO_CATEGORY', [\n    {\n        id: 'YES_ACTION',\n        title: 'Yes'\n    },\n    {\n        id: 'NO_ACTION',\n        title: 'No'\n    }\n]);\n\n// Subscribe to the action click event for 'YES_ACTION'\ncordova.plugins.notification.local.on('YES_ACTION', (notification, event) => {\n    // yes action was clicked\n});\n```\n\n__Note:__\nA click on an action will **not** open the app by default. In Android, the event will be hold back in a background process of the app to wait for the next time the app starts, but could be lost, if the system kills the app background process. To avoid this, define the action with property `launch: true`.\n\n#### Content of `event` parameter\n\nThe `event` parameter of the event callback can contain the following properties:\n\n| Property     | Type         | Android | iOS | Description |\n| :----------- | :----------- | :------ | :-- | :---------- |\n| event        | String       | x       | x   | Contains the event name like `click`, `clear` or the action id, if an action was clicked. |\n| foreground   | Boolean      | x       | x   | If the app was in foreground, when the event was fired. |\n| queued       | Boolean      | x       | x   | If the event was hold, because `deviceready` was not yet fired. |\n| notification | int          | x       | x   | Notification id |\n| text         | String       | x       | x   | Contains the input data of a user made to an input action. |\n\n### Unsubscribe from an event\n\nTo unsubscribe from an event, you have to use the same callback you used for subscribing to the event.\n\nExample:\n\n```js\nconst clickEventCallback = (notification, event) => {\n    // Click event was triggered\n};\n\n// Register to the click event with the given callback\ncordova.plugins.notification.local.on('click', clickEventCallback);\n\n// Unregister from the click event\ncordova.plugins.notification.local.un('click', clickEventCallback);\n```\n\n### Fire manually\n\nNot an official interface, however its possible to manually fire events.\n\n```js\ncordova.plugins.notification.local.core.fireEvent(event, args);\n```\n\n## Launch Details\n\nCheck the `launchDetails` to find out if the app was launched by clicking on a notification.\n\n```js\ndocument.addEventListener('deviceready', function () {\n    console.log(cordova.plugins.notification.local.launchDetails);\n}, false);\n```\n\nIt might be possible that the underlying framework like __Ionic__ is not compatible with the launch process defined by cordova. With the result that the plugin fires the click event on app start before the app is able to listen for the events.\n\nTherefore its possible to fire the queued events manually by defining a global variable.\n\n```js\nwindow.skipLocalNotificationReady = true\n```\n\nOnce the app and Ionic is ready, you can fire the queued events manually.\n\n```js\ncordova.plugins.notification.local.fireQueuedEvents();\n```\n\n## Methods\n\nAll methods work asynchronous and accept callback methods.\n\nNote: This list has still to be documented.\n\n\n| Method                         | Android | iOS | Comment                   |\n| :------------------------------| :-------| :-- | :------------------------ |\n| addActions                     | x       | x   | Defines some actions in a group to re-use them. See [Actions](#actions). |\n| cancel                         | x       | x   |                           |\n| cancelAll                      | x       | x   |                           |\n| [canScheduleExactAlarms](#canscheduleexactalarms) | x       | -   | Checks if exact alarms are permitted. Since Android 13 inexact alarms are permitted by default. |\n| clear                          | x       | x   | On Android, it clears a already posted notification from the statusbar. |\n| clearAll                       | x       | x   |                           |\n| [createChannel](#createchannel) | x       | -   | Creates a channel for Android to post notifications on. |\n| [deleteChannel](#deletechannel) | x       | -   | Delete a channel by an id. |\n| fireQueuedEvents               | x       | x   | Fire queued events once the device is ready and all listeners are registered. This is done automatically, when `deviceready` is fired. Calls the Plugin with a `ready` action. |\n| get                            |         |     |                           |\n| getAll                         |         |     |                           |\n| getDefaults                    | x       | x   | Gets the default for notification properties. See [getDefaults](#getdefaults) |\n| getIds                         |         |     |                           |\n| getScheduled                   |         |     |                           |\n| getScheduledIds                |         |     |                           |\n| getTriggered                   |         |     |                           |\n| getTriggeredIds                |         |     |                           |\n| getType                        |         |     |                           |\n| [getUnusedAppRestrictionsStatus](#getUnusedAppRestrictionsStatus) | x       | -   | Gets the status of the unused app restrictions status |\n| hasActions                     | x       | x   | Checks if an action group exists by id like `hasActions('YES_NO_CATEGORY', (hasActions) => {}, this)`                       |\n| [hasPermission](#hasPermission) | x       | x   | Checks if the app has permission to post notifications. |\n| [iOSClearBadge](#iosclearbadge) | -       | x   | Clears the badge          |\n| isPresent                      |         |     |                           |\n| isScheduled                    |         |     |                           |\n| isTriggered                    |         |     |                           |\n| on                             | x       | x   | Listen to an [Event](#events) |\n| [openAlarmSettings](#openalarmsettings) | x       | -   | Supported since Android 12. Opens the \"Alarms & Reminders\"-settings, where the user can manually enable exact alarms. |\n| [openManageUnusedAppRestrictions](#openManageUnusedAppRestrictions) | x       | -   | Opens the unused app restriction settings directly in the app. |\n| [openNotificationSettings](#opennotificationsettings) | x       | (x) | Opens the notifications settings since Android 8. On iOS it opens the app settings. |\n| removeActions                  |  x      | x   | Removes actions by a group id like `removeActions('YES_NO_CATEGORY', () => {}, this)` which were previously created by `addActions` |\n| [requestPermission](#requestpermission) | x       | x   | Request permission to post notifications. This is called automatically when scheduling notifications. |\n| schedule                       | x       | x    | Schedules a single notification or multiple notifications. Accepts an object or an Array. |\n| [setDefaults](#setdefaults)    | x       | x   | Overwrites default values of notifications. Gets the default for notification properties. |\n| un                             | x       | x   | Unlisten to an [Event](#events) |\n| update                         | x       | x  | Updates a single notification or multiple notifications. The notification id has to be set to update a notification. Accepts an obect or an Array. |\n\n### canScheduleExactAlarms\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nChecks if the user has enabled the \"Alarms & Reminders\"-setting. If not, the notificiatons will be scheduled inexact, which is still ok and will only be delayed by some minutes.\n- On Android 11 and older, this method will always return `true` in the `successCallback`.\n- On Android 12 the permission is granted by default\n- On Android 13 and newer, the permission is not granted by default and have to be explicitly enabled by the user.\n\n### createChannel\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nCreates a channel, if it not already exists. A channel is not changeable, after it is created. This is a restriction by Android.\nIf a notification does not specify a [androidChannelId](#property-androidchannelid) a [default channel](#default-channel) will be used.\n\nFor setting the channel, use [androidChannelId](#property-androidchannelid) when scheduling a notification.\n\nOverview of all properties for a channel:\n\n```js\ncordova.plugins.notification.local.createChannel({\n    androidChannelId: \"my_channel_01\", // string, to separate something in the id, use \"_\" instead of \"-\"\n    androidChannelName: \"My Channel Name\", // string, defaults to \"Default Channel\"\n    androidChannelDescription: \"Description of channel\", // string (optional)\n    androidChannelImportance: \"IMPORTANCE_DEFAULT\", // string (optional)\n    androidChannelEnableLights: true, // boolean (optional), default is false\n    androidChannelEnableVibration: true, // boolean (optional), default is false\n    sound: 'www/audio/ring.mp3', // string (optional)\n    androidChannelSoundUsage: 5 // int (optional), default is USAGE_NOTIFICATION\n  }, successCallback, this)\n```\n\nProperty documentation:\n- [androidChannelId](#property-androidchannelid)\n- [androidChannelImportance](#property-androidchannelimportance)\n- [androidChannelEnableLights](#property-androidchannelenablelights)\n- [androidChannelEnableVibration](#property-androidchannelenablevibration)\n- [sound](#property-sound)\n- [androidChannelSoundUsage](#property-androidchannelsoundusage)\n\n### deleteChannel\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only\n\nDeletes a Android channel.\n\nExample:\n\n```javascript\ncordova.plugins.notification.local.deleteChannel(\"my_channel_id\", successCallback, this)\n```\n\nThese will delete all associated notificiations for this channel. If you create a new channel with the same id, the deleted channel will be un-deleted with all of the same settings it had before it was deleted, see [NotificationManagerCompat.deleteNotificationChannel](https://developer.android.com/reference/androidx/core/app/NotificationManagerCompat#deleteNotificationChannel(java.lang.String))\n\n### getDefaults\n\nReturns the default values of all properties on each platform.\n\nExample:\n\n```js\ncordova.plugins.notification.local.getDefaults();\n```\n\n### getUnusedAppRestrictionsStatus\n\nReturns the status of unused app restrictions also called [app hibernation](#app-hibernation--app-unused), which was introduced in Android 11 and is backported to Android 6 through the Google Play Store. From Android 6 to 11, only permissions gets revoked, what does not affect notifications, because notifications needs requesting permissions only since Android 13. But because since Android 12 also notifications get canceled, the status is relevant for Android 12 and later. When unused app restrictions are active, it will return `API_30_BACKPORT` (on Android 6 to 10), `API_30` on Android 11 or `API_31`on Android 12 and later. If it is disabled, `DISABLED` will be returned.\n\nSample:\n\n```javascript\ncordova.plugins.notification.local.getUnusedAppRestrictionsStatus(\n    (status) => {\n        // Shortcode for getting possibile status codes for status\n        const statusCodes = cordova.plugins.notification.local.androidUnusedAppRestrictionsStatusCodes;\n\n        // app hibernation is active on Android 12 and later\n        if (status == statusCodes.API_31) {\n\n        }\n    },\n    this\n);\n```\n\nPossible status codes:\n\n| Name                    | Value     | Description             |\n| :---------------------- | :-------- | ----------------------- |\n| ERROR                   | 0         | The status of Unused App Restrictions could not be retrieved from this app e.g. if the user is in locked device boot mode. Check the logs for the reason. |\n| FEATURE_NOT_AVAILABLE   | 1         | There are no available Unused App Restrictions for this app. This would happen on devices older then Android 6, but this plugin supports minimum Android 7. |\n| DISABLED                | 2         | Any available Unused App Restrictions on the device are disabled for this app. In other words, this app is exempt from having its permissions automatically removed or being hibernated. |\n| API_30_BACKPORT         | 3         | Unused App Restrictions introduced by Android API 30 (Android 11), and since made available on earlier (API 23-29 = Android 6 to 10) devices are enabled for this app: permission auto-reset. Note: This value is only used on API 29 (Android 10) or earlier devices. |\n| API_30                  | 4         | Unused App Restrictions introduced by Android API 30 (Android 11) are enabled for this app: permission auto-reset. Note: This value is only used on API 30 (Android 11) or later devices. |\n| API_31                  | 5         | Unused App Restrictions introduced by Android API 31 (Android 12) are enabled for this app: permission auto-reset and app hibernation. Note: This value is only used on API 31 (Android 12) or later devices. |\n\n### hasPermission\nChecks if the app has permissions to post notifications.\n\n```js\ncordova.plugins.notification.local.hasPermission(function (granted) { ... });\n```\n\n### iOSClearBadge\nClears the badge.\n\n### openAlarmSettings\n<img src=\"images/android-icon.svg\" width=\"16\"> Android only. Since Android 12 (SDK 31).\n\nOpens the `Alarms & reminders` setting as an Activity when running on Android 12 (SDK 31) or later, where the user can enable exact alarms.\n\n<img width=\"240\" src=\"images/android-alarms-and-reminders-setting.png\" />\n\nThis is only available, if [SCHEDULE_EXACT_ALARM](#exact-alarms-user-grants-permission) is declared as permission in the `AndroidManifest.xml`.\n\nThis method will not wait for the user to be returned back to the app. For this, the `resume`-event can be used. The callback will just return `OK`, after starting the activity.\n- If the user grants permission, already inexact scheduled notifications will be rescheduled as exact alarms.\n- If exact alarms were already granted and the user revokes it, the app will be killed and all scheduled notifications will be canceled. The app have to schedule the notifications as inexact alarms again, when the app is opened the next time, see https://developer.android.com/develop/background-work/services/alarms/schedule#using-schedule-exact-permission.\n- On Android older then 12, it will just call the `successCallback`, without doing anything. \n\n### openManageUnusedAppRestrictions\n\nOpens the unused app restriction settings directly in your app. The `successCallback` will be called if the user returns to your app.\n\nSample:\n\n```javascript\ncordova.plugins.notification.local.openManageUnusedAppRestrictions((result) => {\n    // User has returned from the settings\n}, this);\n```\n\nYou can check in the `successCallback` what the user selected, by calling [getUnusedAppRestrictionsStatus](#getunusedapprestrictionsstatus).\n\n### openNotificationSettings\nOpens the notifications settings of the app on Android 8 and newer. This method will not wait for the user to be returned back to the app. For this, the `resume`-event can be used.\n- On Android, the callback will just return \"OK\", after starting the activity.\n- On Android older then 8, it opens the app details.\n- On iOS it's not possible to open the notification settings, it will open the app settings.\n\n### requestPermission\nRequest permission to post notifications. This is called automatically by the plugin when scheduling notifications, but you can also request it manually before scheduling notifications:\n\n```js\ncordova.plugins.notification.local.requestPermission(function (granted) { ... });\n```\n\nIf this method is called, a dialog will be shown to the user to ask for the permission.\n\n<img width=\"240\" src=\"images/ios-request-permission.png\">\n<img width=\"240\" src=\"images/android-request-permission.png\">\n\nThe user can still allow/deny the permission through the system settings.\n\nTo check if permissions are granted, without calling this method, use [hasPermission](#haspermission).\n\n### setDefaults\n\nChanges default values of properties.\n\nExample:\n\n```js\ncordova.plugins.notification.local.setDefaults({\n    androidChannelId: \"my_channel_01\",\n    title: \"My default Title\"\n});\n```\n\n## Properties\n\n### Changed properties\nList of changed properties on newer plugin versions.\n\n#### Changes since version `1.1.0`\n\nThere were some properties renamed. You can still use the old ones, but you will get a deprecation warning in the log and they will be removed in future versions.\n\n| Old Property            | New Property                |\n| :---------------------- | :-------------------------- |\n| autoClear               | androidAutoCancel           |\n| badge                   | badgeNumber                 |\n| channelDescription      | androidChannelDescription   |\n| channelId               | androidChannelId            |\n| channelImportance       | androidChannelImportance    |\n| channelName             | androidChannelName          |\n| clock                   | Use for `clock: boolean` = `androidShowWhen: boolean` and for `clock: 'chronometer'` = `androidUsesChronometer: true` |\n| color                   | androidColor                |\n| defaults                | androidDefaults             |\n| description             | androidChannelDescription   |\n| foreground              | iOSForeground               |\n| group                   | androidGroup                |\n| groupSummary            | androidGroupSummary         |\n| icon                    | androidLargeIcon            |\n| iconType                | androidLargeIconType        |\n| importance              | androidChannelImportance    |\n| lockscreen              | androidLockscreen           |\n| mediaSession            | *Property was removed*      |\n| onlyAlertOnce           | androidOnlyAlertOnce        |\n| prio                    | Use `androidChannelImportance`, `androidAlarmType` and `androidAllowWhileIdle` instead. |\n| priority                | Use `androidChannelImportance`, `androidAlarmType` and `androidAllowWhileIdle` instead. |\n| progressBar             | androidProgressBar          |\n| smallIcon               | androidSmallIcon            |\n| sticky                  | androidOngoing              |\n| soundUsage              | androidChannelSoundUsage    |\n| ongoing                 | androidOngoing              |\n| summary                 | androidSummary              |\n| text as Array           | androidMessages             |\n| timeoutAfter            | androidTimeoutAfter         |\n| titleCount              | androidTitleCount           |\n| wakeup                  | androidWakeUpScreen         |\n\n##### Changes on androidProgressBar\nThe default value changed from:\n\n```json\n{enabled: false, value:0, maxValue:100, indeterminate:false}\n```\n\nto\n\n`null`\n\nThe property `androidProgressBar.enabled` is not supported anymore.\nJust set `androidProgressBar: null` to disable the progressbar.\n\n##### Changes on sound\nThe property `sound` takes no longer additionally a boolean, now only a string, which points to a sound file.\n- The value `sound: true` is replaced with `sound: 'default'`\n- The value `sound: false` is replaced with `sound: null`\n\n### Changes since version `1.1.1`\n\nThere were some properties renamed. You can still use the old ones, but you will get a deprecation warning in the log and they will be removed in future versions.\n\n| Old Property            | New Property                  | Reason                  |\n| :---------------------- | :---------------------------- | ----------------------- |\n| vibrate                 | androidChannelEnableVibration | The vibration cannot be controlled on iOS. So this is a Android only property and can only be set on a channel. See [androidChannelEnableVibration](#property-androidchannelenablevibration)|\n\n### Common properties\n\nThese properties can be used on all platforms, but some may behave differently on each platform.\n\n| Property               | Default           | Comment                   |\n| :----------------------| :-----------------|:--------------------------|\n| [actions](#actions)    | `[]`              | Actions of a notification |\n| [attachments](#property-attachments) | `[]`              | List of resources, to attach to the notification. |\n| [badgeNumber](#property-badgenumber) | Android: `1`, iOS: `-1` | Sets the badge for the application. The behaviour differs on Android and iOS.  |\n| data                   | `null`            | Custom data for the notification. Can be used, when the notification is send back to the app, e.g. by clicking on it. |\n| [id](#property-id)     | `1`               | ID of a notification as number. |\n| launch                 | `true`            | If a click on the notification should launch the app. |\n| [priority](#property-priority) | `0` (=PRIORITY_DEFAULT) | Deprecated. Use [androidChannelImportance](#property-androidchannelimportance), [androidAlarmType](#property-androidalarmtype) and [androidAllowWhileIdle](#property-androidallowwhileidle) |\n| silent                | `false`            | iOS: Don't show a notification, make no sound, no vibration, when app is in foreground. Android: Don't show a notification (Does not create a Builder. Must be tested if that works) |\n| text                  | `\"\"`               | Text of the notification. Android features: 1. If the text contains line breaks (`\\n`) the notification style [NotificationCompat.InboxStyle](https://developer.android.com/reference/androidx/core/app/NotificationCompat.InboxStyle) will be used. 2. If the text is longer then 44 chars, the notifications style [NotificationCompat.BigTextStyle](https://developer.android.com/reference/androidx/core/app/NotificationCompat.BigTextStyle) will be used. |\n| [sound](#property-sound) | `default`          | Sets the sound of a notification. On iOS it also turns on/off the vibration. |\n| title                 | `\"\"` (Sets the app name)               | Title of the notification. Has to be a String. If it is empty, the app name will be used. |\n| [trigger](#triggers)  | `{at: new Date(), type : \"calendar\"}`| Notifications may trigger depend on time or location (iOS only) |\n\n### Android properties\n\nThese properties are only available on Android.\n\n| Property               | Default           | Comment                   |\n| :----------------------| :-----------------|:--------------------------|\n| [androidAlarmType](#property-androidalarmtype) | `RTC_WAKEUP` |              |\n| [androidAllowWhileIdle](#property-androidallowwhileidle) | `false` | Alarm will be allowed to execute even when the system is in low-power idle (a.k.a. doze) modes. |\n| androidAutoCancel      | `true`            | Make this notification automatically dismissed when the user touches it |\n| androidChannelDescription | `null`            | Sets the `description` of a [notification channel](#notification-channels). |\n| [androidChannelEnableLights](#property-androidchannelenablelights) | `false` | Can be `true` or `false`and sets whether notifications posted to a [notification channel](#android-channels) should display notification lights, on devices that support that feature. |\n| [androidChannelEnableVibration](#property-androidchannelenablevibration) | `false`            | Enables the vibration of a channel. |\n| [androidChannelId](#property-androidchannelid) | `default_channel` | Specifies the channel id to be posted on. |\n| androidChannelImportance | `IMPORTANCE_DEFAULT` | Sets the [importance](#property-androidchannelimportance) of a [notification channel](#notification-channels) |\n| androidChannelName     | `Default channel` | Set the `channelName` for the notification to be posted on. See [Android Notification Channels](#notification-channels) for more information. |\n| androidChannelSoundUsage | `5` (=USAGE_NOTIFICATION) | Sets the [androidChannelSoundUsage](#property-androidchannelsoundusage) of a [notification channel](#notification-channels). |\n| [androidColor](#property-androidcolor) | `null`            | The notification background color for the small icon in the notification style. |\n| [androidGroup](#grouping) | `null`            | Set this notification to be part of a group of notifications sharing the same key. Grouped notifications may display in a cluster or stack on devices which support such rendering. To make this notification the summary for its group, also call setGroupSummary(boolean). A sort order can be specified for group members by using setSortKey(String) (not implemented yet). Calls [Notification.Builder#setGroup(java.lang.String)](https://developer.android.com/reference/android/app/Notification.Builder#setGroup(java.lang.String)) |\n| [androidGroupSummary](#grouping) | `false`        | Set this notification to be the group summary for a group of notifications. Grouped notifications may display in a cluster or stack on devices which support such rendering. Requires a group key also be set using setGroup(String). The group summary may be suppressed if too few notifications are included in the group. Calls [Notification.Builder#setGroupSummary(boolean)](https://developer.android.com/reference/android/app/Notification.Builder#setGroupSummary(boolean)) |\n| [androidLargeIcon](#property-androidlargeicon) | `null` | Add a large icon to the notification content view. |\n| androidLargeIconType   | `square`          | Can be `square` or `circle` |\n| androidLockscreen      | `true`            | If the entire notification should be shown on all lockscreens and while screen sharing. If the value is `true`, [Notification#VISIBILITY_PUBLIC](https://developer.android.com/reference/android/app/Notification#VISIBILITY_PUBLIC) will be set, otherwise [Notification#VISIBILITY_SECRET](https://developer.android.com/reference/android/app/Notification#VISIBILITY_SECRET). Sets [Notification#visibility](https://developer.android.com/reference/android/app/Notification#visibility). |\n| androidMessages        | `null`            | Array of messages to [summarize](#summarizing) notifications. [NotificationCompat.MessagingStyle](https://developer.android.com/reference/androidx/core/app/NotificationCompat.MessagingStyle) will be used. |\n| androidOngoing         | `false`           | Set whether this is an ongoing notification. Ongoing notifications cannot be dismissed by the user on locked devices, or by notification listeners, and some notifications (call, device management, media) cannot be dismissed on unlocked devices. |\n| androidOnlyAlertOnce   | `false`           | Set this flag if you would only like the sound, vibrate and ticker to be played if the notification is not already showing (see [documentation](https://developer.android.com/reference/android/app/Notification.Builder#setOnlyAlertOnce(boolean))). |\n| androidProgressBar     | `null`  | See [documentation](#progress) |\n| androidShowWhen        | `true`            | If the Notification should show the when date. Before Version 1.1.0 called `clock`. |\n| [androidSmallIcon](#property-androidsmallicon) | `res://ic_popup_reminder` (=Bell icon) | Set the small icon resource, which will be used to represent the notification in the status bar. |\n| [androidSummary](#property-androidsummary) | `null`             |  |\n| androidTimeoutAfter    | `0`               | Specifies a duration in milliseconds after which this notification should be canceled, if it is not already canceled. `0` means no automatic cancellation.  |\n| androidTitleCount      | `%n%`              | Additional text added to the title for displaying the number of messages if there is more than one. Only used, if using MessagingStyle. Use `%n%` in the string for specifying the location of the number. |\n| androidUsesChronometer | `false`           | Show the Notification#when field as a stopwatch. Instead of presenting when as a timestamp, the notification will show an automatically updating display of the minutes and seconds since when. Useful when showing an elapsed time (like an ongoing phone call). Was former handeld by `clock: 'chronometer'` |\n| androidWakeUpScreen    | `true`            | If the screen should go on, when a notification arrives |\n| androidDefaults        | `0`               | Android 7 only. Sets the default notification options that will be used only on Android 7. Bitwise-or of: DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS. |\n| led                    | `false`           | Android 7 only. Can be a Hex-String like `#FF00FF` or `{color: '#FF00FF', on: 500, off: 500}` and sets the led of a notification. Replaced by [androidChannelEnableLights](#property-androidchannelenablelights). |\n\n### iOS properties\n\nThese properties are only available on iOS.\n\n| Property                                 | Default value         | Comment                   |\n| :--------------------------------------- | :-------------------- | :------------------------ |\n| [iOSForeground](#property-iosforeground) | `true`                | Displays a notification banner, when app is in foreground. |\n\n#### Some notes:\n- A progressbar is natively not supported by iOS, [see Stackoverflow](https://stackoverflow.com/questions/48500532/progress-view-in-local-notification/48500734#48500734)\n- The vibration cannot be turned off separately. It can only be turned off, if no sound is set.\n\n### Default values\n\nDefault values for the properties can be get by [getDefaults](#getdefaults).\nValues can be changed by [setDefaults](#setdefaults)\n\n### Available properties\n\n#### Property `androidAllowWhileIdle`\nDefault: `false`\n\nAlarm will be allowed to execute even when the system is in low-power idle (a.k.a. doze) modes.\n\nThis type of alarm must only be used for situations where it is actually required that the alarm go off while in idle -- a reasonable example would be for a calendar notification that should make a sound so the user is aware of it. When the alarm is dispatched, the app will also be added to the system's temporary power exemption list for approximately 10 seconds to allow that application to acquire further wake locks in which to complete its work.\n\nThis executes [AlarmManager.setAndAllowWhileIdle](https://developer.android.com/reference/android/app/AlarmManager#setAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)) or [AlarmManager.setExactAndAllowWhileIdle](https://developer.android.com/reference/android/app/AlarmManager#setExactAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)) depending on [canScheduleExactAlarms](#canscheduleexactalarms).\n\n#### Property `androidAlarmType`\nDefault: `RTC_WAKEUP`\n\nIf the alarm should be scheduled on a specific time or in relevance to the time, when the device was booted and if the alarm should wakeup the device cpu (not the screen). See also the Android documentation [Choose an alarm type](https://developer.android.com/develop/background-work/services/alarms/schedule#type).\n\n| Value            | Support | Description |\n|:-----------------|:--------|:------------|\n| [RTC_WAKEUP](https://developer.android.com","repository":{"type":"git","url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git"},"users":{"shanewholloway":true},"bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"license":"Apache 2.0","versions":{"0.8.4":{"name":"cordova-plugin-local-notification","version":"0.8.4","keywords":["appplant","notification","local notification","cordova","ecosystem:cordova","cordova-android","cordova-ios","cordova-windows"],"author":{"name":"Sebastián Katzer"},"license":"Apache-2.0","_id":"cordova-plugin-local-notification@0.8.4","maintainers":[{"name":"anonymous","email":"agus@genesisdigital.asia"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"95e0baa3fe40178fa10f8c9ab78a6c94b9ca6ccf","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.8.4.tgz","integrity":"sha512-GG9ij5KfsbAxHmCd/8E8TUeMweY+6MymCENXhtXtS0RVoosP00l0rLALFi0aVcc8wqrT0/dI1CmbAY6UDw3jag==","signatures":[{"sig":"MEQCIF+Lxm3BB0PqLyd4R/SYu5pYXq7uMB5YPRUsXwibp3ORAiBZywkxkNWeGIozFRr1Xwt4Zl7t2M1pEHuPuwYcB/yZ2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"95e0baa3fe40178fa10f8c9ab78a6c94b9ca6ccf","engines":[{"name":"cordova","version":">=3.6.0"},{"name":"cordova-plugman","version":">=4.3.0"},{"name":"cordova-windows","version":">=4.2.0"}],"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"anonymous","email":"agus@genesisdigital.asia"},"platforms":["ios","android","windows"],"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"4.5.0","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"4.4.3","cordova_name":"Cordova LocalNotification Plugin","dependencies":{"cordova-plugin-device":"*","cordova-plugin-app-event":">=1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification-0.8.4.tgz_1495768409967_0.7697124173864722","host":"s3://npm-registry-packages"}},"0.9.0-beta.1":{"name":"cordova-plugin-local-notification","version":"0.9.0-beta.1","keywords":["appplant","notification","local notification","user notification","ecosystem:cordova","cordova-ios","cordova-android","cordova-windows"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@0.9.0-beta.1","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"06ac8cca12dd472f8972978664d4ff8c804461ac","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.1.tgz","integrity":"sha512-nehEYUqEfdI1Eggebj6vrmgePBr0hWqcsuptAsZIHZLe/OsxVdKAUa0caPAg5wZ5fV5qNg0SP1GQVaQm984NeQ==","signatures":[{"sig":"MEYCIQChtCd4sIaQBFB8HkWBD4RBD1VtPWf3hEJEaOJZzG8oYQIhAKsCpnA+s/gtIjQmp+ljMOQGoWc6xgUdXHP+JQN0ShLN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios","windows"]},"engines":[{"name":"cordova","version":">=3.6.0"},{"name":"cordova-windows","version":">=4.2.0"},{"name":"apple-ios","version":">=10.0.0"},{"name":"cordova-android","version":">=6.0.0"}],"gitHead":"03693b3c9f942d01da1a846b2ee7febb7d03a605","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"5.4.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"7.10.1","_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification-0.9.0-beta.1.tgz_1511606250676_0.7041924556251615","host":"s3://npm-registry-packages"}},"0.9.0-beta.2":{"name":"cordova-plugin-local-notification","version":"0.9.0-beta.2","keywords":["appplant","notification","local notification","user notification","ecosystem:cordova","cordova-ios","cordova-android","cordova-windows"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@0.9.0-beta.2","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"e3a0b4a35d11f95bb4f1e367d9baee9909cca695","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.2.tgz","integrity":"sha512-63n77K1pt8dnbWnNR8QWETi9Glezi1bvNHvHWmGNIOv0xCb0phZnm+Ku49BQ+omwe8Z5voMvrA4I03SYPpv38w==","signatures":[{"sig":"MEUCIGb3u/i2zutkHDen3fbKOAlR7f2xE/eiDaGpiTL/T97rAiEAjsU5bWsHdeqhCNWcOkbs/5Epw5JmwKaTwsFMT3bYuqk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios","windows"]},"engines":[{"name":"cordova","version":">=3.6.0"},{"name":"cordova-android","version":">=6.0.0"},{"name":"cordova-windows","version":">=4.2.0"},{"name":"android-sdk","version":">=26"},{"name":"apple-ios","version":">=10.0.0"}],"gitHead":"0ac0372f259f33683254ae0f3541d5918ec3698a","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"5.6.0","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"7.10.1","_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification-0.9.0-beta.2.tgz_1515686266132_0.4216797132976353","host":"s3://npm-registry-packages"}},"0.9.0-beta.3":{"name":"cordova-plugin-local-notification","version":"0.9.0-beta.3","keywords":["appplant","notification","local notification","user notification","ecosystem:cordova","cordova-ios","cordova-android","cordova-windows"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@0.9.0-beta.3","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"f63d49b90ea9cdf1a5de53e7eb478a09bb236f93","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.3.tgz","fileCount":187,"integrity":"sha512-L3Z1velxrkm9nHFcvLnMgBPZjKFt6hwM6hn1lA+JFwIR26Yw6UF72z+/lRMBclAcOxBIDYCqeaLgvezmajjuEg==","signatures":[{"sig":"MEUCIHK9F0RqAFGW0IalhSW2kGAgHCKg1y76FTrWiwNdcdZMAiEA9jAZmBCO5RbDDWciJh6UbxbFit2vYvgg1N5u8M3rwO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7718659},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios","windows"]},"engines":[{"name":"cordova","version":">=3.6.0"},{"name":"cordova-android","version":">=6.0.0"},{"name":"cordova-windows","version":">=4.2.0"},{"name":"android-sdk","version":">=26"},{"name":"apple-ios","version":">=10.0.0"}],"gitHead":"a75c0979ceab65b519b53c28047194ce1b82f324","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"5.6.0","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"7.10.1","_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_0.9.0-beta.3_1518530809460_0.8529114773704638","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"cordova-plugin-local-notification","version":"1.0.0","keywords":["appplant","notification","local notification","user notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.0.0","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"b81ab0f252f0d156e5343dad6e12b1395f057257","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.0.0.tgz","fileCount":488,"integrity":"sha512-dhw00d38cRo/6JlDR7i4u4u+In7wkzH5ffDnIZVzverct9XLcDyxs6WnPUGmWrpUjK6CpXrn3aGmt5kwkck+8g==","signatures":[{"sig":"MEQCIAoxXAxxAd0xPjHnBkG23owp68wuk7qsZa3uFy92gdPJAiB2kV14TXqb82A0kmE97JbP4oZ0yThvqOuBQGvwBzHbpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21797968},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=10.0.0","cordova-android":">=13.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=10.0.0","cordova-android":">=6.0.0"}}},"gitHead":"de438bfdf27723783ebd899521af0ebc73fd0839","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.1","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.0.0_1724599998031_0.2563601020797146","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"cordova-plugin-local-notification","version":"1.1.0","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.0","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"76e578ed1f1b2d35f9c09de2b2bb21c9cee55a20","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.0.tgz","fileCount":486,"integrity":"sha512-JC5gt1V0GASRq5I2Vlix9UHd5lw/Aab06BDZ/G+SemJI36BzvpvhiBOK+24HnHZR7ctaUQftirZCaqiDb7AgOA==","signatures":[{"sig":"MEQCIHQkBGIJdK1As/IlF/hLJGf9fFyQEc+pwgmr09weQDv6AiAOpsR++uAA7poTFnCQd+Oqd0ZGMp9BrQGrn2uYAZthXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21845844},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"01cbb666f1ef1b081ef0bbff1d9fb97f5dfadcb3","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.9.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"23.5.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.0_1734980554148_0.15894832663925773","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"cordova-plugin-local-notification","version":"1.1.1","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.1","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"95841d6c7ad9dc9dd93558562df0f6cb8da0f5d6","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.1.tgz","fileCount":58,"integrity":"sha512-p6MR8S68PErK/P6P8Yn42KcgLyjPCizoDPkVU5T8FhZTzxgyL5/r5WxS1V/vtYHszy727d+w6erOkqWNcByqfA==","signatures":[{"sig":"MEQCIB68WLDp8T5P5gEIt9ZqDd87Vvzi97+6EKiNXbzm1kEwAiB2+MIV5C3KHej9IJOGtBghzfnh9aiU6E5oq9+im7cknA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5867034},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"10d0ae4fd7580bccb33cf8e729373b57534dd086","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.18.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.1_1737745581076_0.38077351074787047","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"cordova-plugin-local-notification","version":"1.1.2","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.2","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"344ada575174b6ad9b62fc8e6efc9faf28ead5a0","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.2.tgz","fileCount":66,"integrity":"sha512-IBIOBN/q33/TlGeKRBYuUr5UFYyD1quIjzfkE6Ny/VIGgxArn/nI91udCusaKPleoRBxRkl1UlXHAxWbGFilgg==","signatures":[{"sig":"MEUCIQD/OTRe9OL3WeyAnowypFI/YldJxorm5m5z1f6D1xpATQIgNe54ba5wlNlHYhEoa447YSHFET4Z+R7j9bUqPRPfHdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3748388},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"045c1ce0ead26e260a1835cffb23ef170ecffa6a","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.2_1739001137644_0.7520359980552611","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"cordova-plugin-local-notification","version":"1.1.3","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.3","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"cccedaa81e5b224defe534256e48496d0bc4e5a4","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.3.tgz","fileCount":67,"integrity":"sha512-TeGRLL6D5v5ZDZG+iWjda+2mUwJhb8M3yLNV4/TTJM0wJnTIsxJ91rQWhgxMzLne2AqsLrb/3z2wHHCd9gdjwg==","signatures":[{"sig":"MEUCIQCdCV9Grjdefrmpf64wCUUGeYirvIyVUk6wPe5i5yTDEQIgJCG6RPY8LLDCtJMf+SEf0jstYjXJlkveKG8uoB3XMTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3750014},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"883e1e05200338525fb726f5e74040db5b748e18","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.18.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.3_1739633538789_0.3188585132855848","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"cordova-plugin-local-notification","version":"1.1.4","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.4","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"de02e2ee3e235ab2a01ab98140f4f6d6874b4395","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.4.tgz","fileCount":66,"integrity":"sha512-8TkW7Nv4hlrwXEJLNpksPdiwh1Sfj11mHKTGtCvHe3WTKupd5zt59gHEplp17kKFCiXWlc+2sDmxqftnf65shQ==","signatures":[{"sig":"MEUCIHJd6OLfGfA1AyzjaSABi1ygILQxxb8GeLNzVlqJMfkXAiEA26QmihnJqVz/dPUBU24Ycz7kM57EyTr9uMlEkW9UmoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757163},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"f281b7b564a5dae06f20a9cc359a41597f511687","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.4_1742587625119_0.7928000355558644","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"cordova-plugin-local-notification","version":"1.1.5","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.5","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"8ba440199608f09edccb97a936a215ee7ff6a873","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.5.tgz","fileCount":66,"integrity":"sha512-RhCijKjs58Hz/RQxG2ydDtF41Vij2bwb4uyruZyZ8iGfue7dkTGGPQTtFiYUJn72uR2KEpaeveliwgBWAabNKA==","signatures":[{"sig":"MEUCIQDmi5katipzwl1wNWrNeP/eiY8AZT0TMZVgWohJ/KTCmgIgWmQRg3ngLjKXPkz8ljdalR9LiA7rvI1rrJNV5cfvNE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758242},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"0a4a1f7fbc2be4df1e591522696ef8845c2e31f9","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.5_1742633283723_0.6801148586952515","host":"s3://npm-registry-packages-npm-production"}},"1.1.6-dev":{"name":"cordova-plugin-local-notification","version":"1.1.6-dev","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.6-dev","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"07b3fa07c8f1c5f7dc6f267b5a938dea54b8184f","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.6-dev.tgz","fileCount":66,"integrity":"sha512-hCeRcvvsGF4Hr+Rb5RyWfKqJVEDC8Xl8HiAAhagRpjqtyaj9FKLavYYy4Qa64ASEYeu0fPM6QsezOxzElhpNOA==","signatures":[{"sig":"MEQCIACHmD9BFCn421/KGCEoeFn+54bzcIKpxJlMxmvEFjtdAiAHJ1hpNDE3b0nYhTxsGzzJnD3KhN4osc/S4RA7nMVSkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758608},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"9fb47539c96a23694f1679214f8a8b0f6815e844","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.6-dev_1742634254313_0.3831247803656621","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"cordova-plugin-local-notification","version":"1.1.6","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.6","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"4fd7a5f416b06df71ccd4929bd0efd5985f48457","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.6.tgz","fileCount":66,"integrity":"sha512-8VVci+6bjQZoIb7miKi8K30q85V7cbfBEULqUSEPazgr9a4GqoyH4IaRzGdL73a5nd5jTf/WRDZp+3j6LnthEQ==","signatures":[{"sig":"MEQCIApogwH9ibGwDRwlyxU4bxcH+CBkFks/u1e6wd135gtTAiBEvMn784C4RdlpLIMdPe0mVZWCbbrKL52jO33nWNmoBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758727},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"129666e5f7c854452f4b123b2eb5346cf357e383","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.6_1742637077021_0.12243300663239132","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"cordova-plugin-local-notification","version":"1.1.7","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.7","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"e14cb7acd45b94dab2deb82a830e9becc7bfa87d","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.7.tgz","fileCount":66,"integrity":"sha512-X8Q8QbvV9nUc/h4eskxu0E6LnJ2fPKCbehrjj/7WZEFfYREzpkpQsIptoh/RblIs/KnCxl5wH9JMs78xoDqR1w==","signatures":[{"sig":"MEQCIDLZTok1Y7ReVaPLY8qP29XA+wr1+vuv6NFP7dgkiB2QAiAMlp3segAChXe4kkkEvlSxztiNvGP+d569dB5Evd5Ptw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3758905},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"ee52ee138916800baeb17309b6c3a138682678e0","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.7_1742637848771_0.762504026414109","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"cordova-plugin-local-notification","version":"1.1.8","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.8","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"dcd0a3656f6e9df3f9cb38789a8062f7a67fe80e","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.8.tgz","fileCount":67,"integrity":"sha512-fDdcaSG6tuiwPWNC1JoKwUHaWEH6dOl2uV/3rh5gmmNvufmR+4aYENxED5tst1vtbhG0V1fRoqTfcm4TYWXJng==","signatures":[{"sig":"MEUCIGmNamhYtRf6pDUwqpB6r1Je1u1JPuWXNPh1+36R/4QUAiEA3seWYL+zwT3hfYDsyD3hTaHYc17/4hncdzX92UzIIo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3768147},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"48705f3201cd4bfbfd079ae4248d410336b3055c","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.8_1748177924347_0.44885887116223144","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"cordova-plugin-local-notification","version":"1.1.9","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.1.9","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"7c5ce4de603aaf0c58661d52611570e73b96732d","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.1.9.tgz","fileCount":67,"integrity":"sha512-U8MbB7Zhf9A0/0sFLiKCSBUI4y8Ml5elmjaeH11y2/0b09RRSRTnyWe0DHts3Ixm3yMgvvgzGF5FRAcQW3srTA==","signatures":[{"sig":"MEYCIQChV61NZdVuIjKSDI5oERkhV4FV4ccbkVZ0Lw+y8gkb2QIhAPYSdlY2DRxxgXKyAO4ICFVmeLJZbVLAcrYmCOLnSfaf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3768577},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"4bae9f6eb00826d08bfc404a06d63045befa2b84","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.1.9_1749710798603_0.9109842455608701","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"cordova-plugin-local-notification","version":"1.2.0","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.2.0","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"bee0b57be57c45c4336ce66309f2c4ce4badb02f","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.2.0.tgz","fileCount":67,"integrity":"sha512-ksJX1p8mm8LNNpW+/gtM/W2V9vuqXMNEXEJ4Ccs+xDcIlkM5Y/nO4ubURcMH+Dm7VL9lMx9Vh0ki9ku1PCkeOQ==","signatures":[{"sig":"MEYCIQCZVLND2wFqQb4/XMZnQjo52YXJVndc0orJWGh3pA/U+QIhAPL+QTK91kRfzaRwpoHUWtuo2YdU/F/Rav3iRrcyXOvH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3769598},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"7caf795e263c69ba4f27344417491a7dcb3d05cf","_npmUser":{"name":"anonymous","actor":{"name":"katzer","type":"user","email":"katzer@appplant.de"},"email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.2.0_1751487551470_0.6943464594095692","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"cordova-plugin-local-notification","version":"1.2.1","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.2.1","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"b916f84ee62dc42b60de59d2b99a13ff3142ed83","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.2.1.tgz","fileCount":67,"integrity":"sha512-5GYT5fHOnNj6dvJoo/InRCYSAzfIXhOtN7RPh6PXjX3eNMRo648FSq2YlSeI8EjrMhUjKqeWPFSugy1TgKLCag==","signatures":[{"sig":"MEUCIH2H0gR3WQbZzgtUnXJ1VVS6LARe+qCgDyJEFRhUSxAQAiEAmCH3jtJwJEwZCzvRt0TUfbV8mGpJx2os7955FcxcLyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3772497},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"e2cd3fe0d7cabb08de2101413edcf8342ac9aaeb","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.2.1_1755205620378_0.7411332127330208","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"cordova-plugin-local-notification","version":"1.2.2","keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"author":{"name":"Sebastián Katzer"},"license":"Apache 2.0","_id":"cordova-plugin-local-notification@1.2.2","maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"contributors":[{"url":"https://manuelbeck.software","name":"Manuel Beck","email":"email@manuelbeck.software"}],"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"dist":{"shasum":"503e08451e5bde0f9f409ffac4aa8aada8150c8f","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.2.2.tgz","fileCount":67,"integrity":"sha512-bZroTGbdybmHY6zXq99Owk57imBHdG9f2E29uSxAhVW+/i3ragrVXkdUJ+3zChvG2FsBQgemnYvIrQs+V6Z+xA==","signatures":[{"sig":"MEQCIBp4+qE2rkm1yYNe9sMh4BDTgDil60bnNN9o99Z8wNU+AiB5LkQ9Em0I7EX4P2fAoHTwl0PR4lgzuGsxUsdCx5EU3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3773434},"cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"engines":{"cordovaDependencies":{"1.0.0":{"cordova":">=12.0.0","cordova-ios":">=7.0.0","cordova-android":">=13.0.0","cordova-plugin-device":">=3.0.0"},"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-ios":">=4.3.0","cordova-android":">=6.0.0","cordova-plugin-device":">=2.0.0"}}},"funding":"https://github.com/sponsors/GitToTheHub","gitHead":"315c0fabcddc1806a56c80123438133203fce570","_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"repository":{"url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git","type":"git"},"_npmVersion":"10.8.2","description":"Schedules and queries for local notifications","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-local-notification_1.2.2_1760263755135_0.13247634128618424","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"cordova-plugin-local-notification","version":"1.2.3","description":"Schedules and queries for local notifications","cordova":{"id":"cordova-plugin-local-notification","platforms":["android","ios"]},"repository":{"type":"git","url":"git+https://github.com/katzer/cordova-plugin-local-notifications.git"},"keywords":["notification","local notification","user notification","schedule notification","ecosystem:cordova","cordova-ios","cordova-android"],"engines":{"cordovaDependencies":{"0.9.0-beta.3":{"cordova":">=3.6.0","cordova-android":">=6.0.0","cordova-ios":">=4.3.0","cordova-plugin-device":">=2.0.0"},"1.0.0":{"cordova":">=12.0.0","cordova-android":">=13.0.0","cordova-ios":">=7.0.0","cordova-plugin-device":">=3.0.0"}}},"author":{"name":"Sebastián Katzer"},"contributors":[{"name":"Manuel Beck","email":"email@manuelbeck.software","url":"https://manuelbeck.software"}],"funding":"https://github.com/sponsors/GitToTheHub","license":"Apache 2.0","bugs":{"url":"https://github.com/katzer/cordova-plugin-local-notifications/issues"},"homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme","_id":"cordova-plugin-local-notification@1.2.3","gitHead":"1cdd2beb1e7f38ccb033d9805be9e4b92884ae24","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-/X5eQoVRsKjWInAEarvyEeX7bCp2rXpUomVY/YdDp16VnoKWoIIfrLYBQr7mRkrc4hAR5rlCwIJLwfFahqm7jQ==","shasum":"f0aa84818f15f7be4cbd7fb242cd0de21769949e","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-local-notification/-/cordova-plugin-local-notification-1.2.3.tgz","fileCount":67,"unpackedSize":3782306,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDOCcBVcVby6Rlfw+GmVcdIiEGrhMb9NeEQa9USbpckfAIhAMm9du70yC0vTqyb4GI2uQMDDfTPaUcyjxv6P7G4LKAg"}]},"_npmUser":{"name":"anonymous","email":"katzer@appplant.de"},"directories":{},"maintainers":[{"name":"anonymous","email":"katzer@appplant.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordova-plugin-local-notification_1.2.3_1763825840817_0.18243738333010717"},"_hasShrinkwrap":false}},"name":"cordova-plugin-local-notification","time":{"created":"2017-05-26T03:13:30.092Z","modified":"2025-11-22T15:37:21.292Z","0.8.4":"2017-05-26T03:13:30.092Z","0.9.0-beta.1":"2017-11-25T10:37:32.634Z","0.9.0-beta.2":"2018-01-11T15:57:51.047Z","0.9.0-beta.3":"2018-02-13T14:06:51.959Z","1.0.0":"2024-08-25T15:33:18.443Z","1.1.0":"2024-12-23T19:02:34.495Z","1.1.1":"2025-01-24T19:06:21.340Z","1.1.2":"2025-02-08T07:52:17.933Z","1.1.3":"2025-02-15T15:32:19.070Z","1.1.4":"2025-03-21T20:07:05.369Z","1.1.5":"2025-03-22T08:48:03.928Z","1.1.6-dev":"2025-03-22T09:04:14.698Z","1.1.6":"2025-03-22T09:51:17.290Z","1.1.7":"2025-03-22T10:04:09.091Z","1.1.8":"2025-05-25T12:58:44.612Z","1.1.9":"2025-06-12T06:46:38.889Z","1.2.0":"2025-07-02T20:19:11.747Z","1.2.1":"2025-08-14T21:07:00.634Z","1.2.2":"2025-10-12T10:09:15.427Z","1.2.3":"2025-11-22T15:37:21.105Z"},"contributors":[{"name":"Manuel Beck","email":"email@manuelbeck.software","url":"https://manuelbeck.software"}],"readmeFilename":"README.md","homepage":"https://github.com/katzer/cordova-plugin-local-notifications#readme"}