Simple way to get react-native local push notifications to work (android).
Usaid
Posted on May 15, 2021
Do you want to get local push notifications to work? Here's simple steps that might help you:
1) Create a file name it anything you want I named it "AndroidNotificationHandler.js".
2) Import react-native push-notification package:
import PushNotification, {Importance} from 'react-native-push-notification';
3) Since latest update push-notification package requires you to create a channel id in order for notifications to work properly, here's what it looks like:
const createChannel = () => {
PushNotification.createChannel(
{
channelId: 'channel-id', // (required)
channelName: 'My channel', // (required)
channelDescription: 'A channel to categorise your notifications', // (optional) default: undefined.
playSound: false, // (optional) default: true
soundName: 'default', // (optional) See `soundName` parameter of `localNotification` function
importance: Importance.HIGH, // (optional) default: Importance.HIGH. Int value of the Android notification importance
vibrate: true, // (optional) default: true. Creates the default vibration patten if true.
},
(created) => console.log(`createChannel returned '${created}'`), // (optional) callback returns whether the channel was created, false means it already existed.
);
};
4) After you have created the channelId function create another function that will do the main work in order to get the notifications that you want it to get. Check this out:
const notificationHandler = (title, message, date) => {
PushNotification.localNotificationSchedule({
channelId: 'channel-id', // this we get from above func()
title: title,
message: message,
autoCancel: true,
subText: 'Notification',
vibrate: true,
vibration: 300,
playSound: true,
soundName: 'default',
ignoreInForeground: false,
importance: 'high',
invokeApp: true,
allowWhileIdle: true,
priority: 'high',
visibility: 'public',
date: date,
});
};
5) You can also cancel notifications if you want, here's how:
const cancelNotifications = () => {
PushNotification.cancelAllLocalNotifications();
};
6) export your functions:
export {createChannel, notificationHandler, cancelNotifications};
7) You can now import use these functions across your project, example from my project:
let alertDescription = `Time to study ${topicName}`;
notificationHandler('Reminder!', alertDescription, date);
// I get date parameter from datepicker.
That is it. You shall get your notifications now :).
Posted on May 15, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 29, 2024
November 5, 2024