pushbots-react-native
v1.2.1
Published
PushBots React Native plugin
Downloads
25
Maintainers
Readme
pushbots-react-native
React Native Library for PushBots Push Notifications Service
Getting started
npm install pushbots-react-native --save && npm install
run pod install
in ios folder:
cd ios && pod install
Automatic Installation
react-native link pushbots-react-native
Configuration
iOS
Add Required Capabilities
- Select the root project and then under Capabilities click to enable "Push Notifications".
- Enable "Background Modes" and check "Remote notifications".
Adding the Code
- Open
AppDelegate.h
Import RCTPushbots:
#import "RCTPushbots.h"
- The add PushbotsClient propery below
@property (nonatomic, strong) UIWindow *window;
@property (strong, nonatomic) RCTPushbots *PushbotsClient;
- Open
AppDelegate.m
: Add PushBots code toapplication:didFinishLaunchingWithOptions
method (replace APP_ID with your PushBots app ID):
self.PushbotsClient = [[RCTPushbots alloc] initWithAppId:@"APP_ID" withLaunchOptions:launchOptions];
Android
Go to android/app/build.gradle
app level and add this in default config
Add the following to defaultConfig in build.gradle
file inside the android/app folder
defaultConfig {
manifestPlaceholders = [
pushbots_app_id: "APP_ID",
google_sender_id: "SENDER_ID",
pushbots_loglevel: "DEBUG"
]
}
make sure buildToolsVersion and compileSdkVersion are set to at least 27:
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
....
}
Usage
in your App.js:
import {
Alert
} from 'react-native';
import Pushbots from 'pushbots-react-native'
Pushbots.registerForRemoteNotifications()
export default class App extends Component<{}> {
componentWillMount() {
Pushbots.addEventListener('received', this.onReceived);
Pushbots.addEventListener('opened', this.onOpened);
}
componentWillUnmount() {
Pushbots.removeEventListener('received', this.onReceived);
Pushbots.removeEventListener('opened', this.onOpened); }
onReceived(notification) {
Alert.alert( 'Received Notification', JSON.stringify(notification), [ {text: 'Ask me later', onPress: () => console.log('Ask me later pressed')}, {text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'}, {text: 'OK', onPress: () => console.log('OK Pressed')}, ], { cancelable: false } )
}
onOpened(notification) {
Alert.alert( 'Opened Notification', JSON.stringify(notification), [ {text: 'Ask me later', onPress: () => console.log('Ask me later pressed')}, {text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'}, {text: 'OK', onPress: () => console.log('OK Pressed')}, ], { cancelable: false } )
}
}
Contributors
Thanks goes to these wonderful people:
| Mohamed Shaban💻| Abdullah Diaa💻📖| meMuhammadkamal💻| amrsobhy 📖| ibrahimAlii 💻| | :---: | :---: | :---: | :---: |:---: |
Contributions of any kind welcome!