Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
os: 'android',
},
});
if (tokenSucceeded) {
await AsyncStorage.setItem('push-token', deviceToken);
}
});
NotificationsAndroid.refreshToken();
// On Android, we allow for only one (global) listener per each event type.
NotificationsAndroid.setNotificationReceivedListener(notification => {
// console.log('PUSHLOG: setNotificationReceivedListener', notification);
const notificationData = JSON.parse(notification.getData().payload);
this.onNotificationReceivedForeground(notificationData);
});
NotificationsAndroid.setNotificationOpenedListener(notification => {
// console.log('PUSHLOG: setNotificationOpenedListener', notification);
const notificationData = JSON.parse(notification.getData().payload);
this.onNotificationOpened(notificationData);
});
PendingNotifications.getInitialNotification().then(notifications => {
// console.log('PUSHLOG: getInitialNotification', notifications);
if (notifications) {
notifications.data.forEach(notification => {
const notificationData = JSON.parse(notification.payload);
if (notification.opened) {
this.onNotificationOpened(notificationData);
} else {
this.handlePushData(notificationData);
}
});
export const addNotificationListener = (notificationHandler: (notification: Object) => void) => {
NotificationsAndroid.setNotificationOpenedListener(notificationHandler);
};
NotificationsAndroid.setRegistrationTokenUpdateListener((deviceToken) => {
this.deviceToken = deviceToken;
if (this.onRegister) {
this.onRegister({token: this.deviceToken});
}
});
NotificationsAndroid.setNotificationReceivedListener((notification) => {
if (notification) {
const data = notification.getData();
this.handleNotification(data, false);
}
});
NotificationsAndroid.setNotificationOpenedListener((notification) => {
if (notification) {
const data = notification.getData();
this.handleNotification(data, true);
}
});
}
constructor() {
this.onRegister = null;
this.onNotification = null;
this.deviceToken = null;
NotificationsAndroid.setRegistrationTokenUpdateListener((deviceToken) => {
this.deviceToken = deviceToken;
});
NotificationsAndroid.setNotificationOpenedListener((notification) => {
this.onNotification(notification);
});
}