1.0.5 • Published 1 year ago

rn-notifee-hooks v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Badges

MIT License
GPLv3 License
AGPL License

Demo

Alt text)

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);
}

License

MIT

Author

zubyrbutt

Contact

Email