I have added the Ionic 3 local notification plugin to my project using these commands:
ionic cordova plugin add cordova-plugin-local-notification
npm install --save @ionic-native/local-notifications
I added all dependencies on my constructor.
My code is:
let year = new Date().getFullYear();
let month = new Date().getMonth();
let day = new Date().getDate();
let time1 = new Date(year, month, day, 10, 00, 0, 0);
let time2 = new Date(year, month, day, 12, 00, 0, 0);
this.localNotifications.schedule([
{
id: 1,
title: 'My first notification',
text: 'First notification test one',
trigger: { at: new Date(time1) },
data: {"id": 1, "name": "Mr. A"}
},
{
id: 2,
title: 'My Second notification',
text: 'Second notification on 12 pm',
trigger: { at: new Date(time2) },
data: {"id": 2, "name": "Mr. B"}
}
]);
It works fine for the current day app start, but I want to send a notification every day at the specified time.
I want local notifications specifically, not push notifications.
In order to make a daily repeated notification, you need to use an
every:"day"
and afirstAt
property with the date when the notification will be triggered for the first time.Note: Unlike cordova plugin in Ionic 3
firstAt
property needs to be wrapped intrigger
property. You can find more information in Ionic Local Notification Documentation.Try this code
In order to make a daily repeated notification, you need to use an
every:"day"
(or interval in minutes:every: 24*60
) and afirstAt
property with the date when the notification will be triggered for the first time. Try this codeIn their codebase is shown (commented) that you could achieve this by doing this
Now, if you have to send a notification every day at the same time you could either:
1 - schedule tenths of notifications and check each time a user opens your app
2 - re-schedule a notification each time the user opens up a notification already received.