#react-native #react-native-push-notification
#реагировать-родной #react-native-push-уведомление
Вопрос:
Я создал локальные уведомления, и они работают нормально, за исключением того, что они не появляются, если я нажимаю на кнопки действий. Он появляется, если я нажимаю на само уведомление. Есть ли способ изменить это? Я хочу, чтобы уведомление появлялось и при нажатии на кнопки действий.
Здесь я настраиваю уведомления:
PushNotification.configure({
onNotification: function(notification) {
onNotificationOpened(notification)
console.log('Opened notification:', notification)
},
permissions: {
alert: true,
badge: true,
sound: true
},
popInitialNotification: true,
requestPermissions: true
})
И здесь я проверяю, были ли нажаты кнопки действий:
function onNotificationOpened(notification) {
if (notification.action == 'Yes') {
cancelNotification(notification.id)
// some code
})
} else {
cancelNotification(notification.id)
// some code
}
}
Еще один вопрос, который у меня есть по поводу кнопок действий. Независимо от того, какой из них я выберу, он откроет мое приложение. Есть ли способ сделать кнопку действия типа «Напомнить позже», которая перенесет уведомление, не открывая приложение?
Комментарии:
1. Я сталкиваюсь с той же проблемой
2. Я до сих пор не решил эту проблему. Если вы найдете решение, пожалуйста, дайте мне знать. Я сделаю то же самое.
Ответ №1:
Если вы показываете локальное уведомление и хотите выводить уведомление при нажатии кнопки действия, вы можете использовать invokeApp prop . В документации по реагированию на родное push-уведомление говорится
Это позволяет нажимать на действия, чтобы вернуть приложение на передний план или остаться в фоновом режиме, по умолчанию: true
установите invokeApp: false, чтобы выводить уведомление, не открывая приложение, например
PushNotification.localNotification({
message: "My Notification Message",
channelId: "firebase-channel",
foreground: true,
actions: ["Accept", "Reject"],
invokeApp : false
});