rn-notifee-hooks
v1.0.5
Published
Simple and useful hooks for react-native-notifee
Downloads
68
Maintainers
Readme
Badges
Demo
)
Installation
yarn add rn-notifee-hooks
npm install rn-notifee-hooks
if notifee is not installed then:
# Using npm
npm install --save @notifee/react-native
# Using Yarn
yarn add @notifee/react-native
Usage/Examples
import { useNotification } from 'rn-notifee-hooks';
Initialize the useNotification hook by calling it.
const { createChannel, requestPermission, displayNotification, displayTriggerNotification, getTriggerNotificationIds, cancelTriggerNotifications, cancelAllNotifications, cancelNotification } = useNotification();
Request permission to display notifications from the user.
async function handleRequestPermission() {
await requestPermission();
}
Create an Android notification channel (required for Android devices)
async function handleCreateChannel() {
const channel = {
id: 'my-channel-id',
name: 'My Channel Name',
description: 'My Channel Description',
importance: notifee.Importance.HIGH,
};
const channelId = await createChannel(channel);
}
Display a simple notification.
async function handleDisplayNotification() {
const notification = {
title: 'My Notification Title',
body: 'My Notification Body',
android: {
channelId: 'my-channel-id',
},
};
const notificationId = await displayNotification(notification);
}
Display a trigger-based notification (i.e. a notification that will be displayed at a specific time).
async function handleDisplayTriggerNotification() {
const notification = {
title: 'My Trigger Notification Title',
body: 'My Trigger Notification Body',
android: {
channelId: 'my-channel-id',
},
};
const trigger = {
type: TriggerType.TIMESTAMP,
timestamp: Date.now() + 60000, // display notification 1 minute from now
repeatFrequency: RepeatFrequency.DAILY, // repeat the notification every day
};
const triggerNotificationId = await displayTriggerNotification(notification, trigger);
}
Get the IDs of all trigger notifications that have been scheduled.
async function handleGetTriggerNotificationIds() {
const triggerNotificationIds = await getTriggerNotificationIds();
}
Cancel all trigger notifications or specific trigger notifications by ID.
async function handleCancelTriggerNotifications() {
// Cancel all trigger notifications
await cancelTriggerNotifications();
// Cancel specific trigger notifications by ID
const notificationIds = ['trigger-notification-id-1', 'trigger-notification-id-2'];
await cancelTriggerNotifications(notificationIds);
}
Cancel all notifications or specific notifications by ID or tag.
async function handleCancelAllNotifications() {
// Cancel all notifications
await cancelAllNotifications();
// Cancel a specific notification by ID
const notificationId = 'notification-id-1';
await cancelNotification(notificationId);
// Cancel a specific notification by tag
const tag = 'notification-tag-1';
await cancelNotification(null, tag);
}