https://github.com/just1and0/expo-push-notification-helper
💬🔥This package helps you make expo push notification for React Native easy to use.
https://github.com/just1and0/expo-push-notification-helper
expo expo-push-notifications javascript push-notifications pushnotifications reactnative
Last synced: 11 months ago
JSON representation
💬🔥This package helps you make expo push notification for React Native easy to use.
- Host: GitHub
- URL: https://github.com/just1and0/expo-push-notification-helper
- Owner: just1and0
- License: mit
- Created: 2019-01-28T23:02:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-06-01T01:35:03.000Z (about 6 years ago)
- Last Synced: 2025-03-27T12:06:36.493Z (over 1 year ago)
- Topics: expo, expo-push-notifications, javascript, push-notifications, pushnotifications, reactnative
- Language: JavaScript
- Homepage: https://just1and0.github.io/expo-push-notification-helper/
- Size: 34.2 KB
- Stars: 36
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# expo-push-notification-helper
[](#contributors-)
[](https://travis-ci.com/just1and0/expo-push-notification-helper/)
[](https://scrutinizer-ci.com/g/just1and0/expo-push-notification-helper/?branch=master)
This package helps you make expo push notification for React Native easy to use.
### Installation
Add expo-push-notification-helper to your project by executing
```sh
$ npm install expo-push-notification-helper
or
$ yarn add expo-push-notification-helper
```
You're all set!
### Usage
##### To initialize expo-push-notification-helper import the "initnotify"
```sh
//import the initnotify into your project
import { initnotify } from 'expo-push-notification-helper';
//and then use like so
initnotify();
```
### it's advicable to do this at your top level file.
##### can also use the callback function. Which returns true on success and false if unsuccessful.
##### this will also automatically create three channels for your app, "default", "reminders", "chat-messages" .
```sh
//import the initnotify into your project
import { initnotify } from 'expo-push-notification-helper';
//and then use like so
initnotify().then((data)=>{
if(data){
//get token
}else{
//request for permission
}
});
```
#
##### To get expo token of device import the "getToken"
###### this must be used in a async/await .
```sh
//import the getToken into your project
import { initnotify, getToken } from 'expo-push-notification-helper';
//and then use like so
initnotify().then( async(data)=>{
if(data){
console.log(await getToken());
}else{
alert('please grant this app notification permission in settings.')
}
})
```
#
##### To create a new channel import the "newChannel"
```sh
//import the newChannel into your project
import { newChannel } from 'expo-push-notification-helper';
//and then use like so
newChannel("GroupMessage");
```
##### on default your channel will be created sound being false but you can change that by adding true as a second input
#
#### To send push notification import the "notify"
```sh
//import the notify into your project
import { notify } from 'expo-push-notification-helper';
//and then use like so
notify(token, "new message", "hello there how are you doing", "default")
```
##### Not you must supply the channel."
## Props
#### all expo-push-notification-helper props
| Name | Use | callback | note |
| ------ | ------ | ------ | ------ |
| initnotify() | initialize package, this will ask for notification permission. | true, false | this will also automatically create three channels for your app, "default", "reminders", "chat-messages" .|
| getToken() | get expo token of device | null | must be called in async/await |
| newChannel(name, isSound) | create new notification channel | true, false | isSound is a boolean |
| notify( token, title, body, channel ) | send push notification| null | without providing a channel. channel will be set to default by default |
# Contributing
Have a new feature you'd love to add to this project? Make a Send me a pull request! Just follow the [guidelines](https://github.com/just1and0/expo-push-notification-helper/blob/master/contribute.md). Thank you!
### don't forget to star, like and share :)
## Licensing
----
This project is licensed under MIT license.
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Tomás Vélez Núñez
💻

Ujjal Acharya
📖

Oluwatobi Shokunbi
💻 📖
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!