У меня есть сомнение, и я не могу решить проблему с наличием кнопок для выполнения действия (принять или отклонить) в push-уведомлении в iOS с реактивной базой реакции. Для Android я могу это сделать, но для iOS я не могу найти способ зарегистрировать действие. Далее я покажу, как работает мой код.
const notificationListener = () => {
firebase.notifications().onNotification((notification) => {
const localNotification = new firebase.notifications.Notification({
sound: 'default',
show_in_foreground: true,
})
.setSound('default')
.setBody(notification.body)
.setData(notification.data)
.setTitle(notification.title)
.setSubtitle(notification.subtitle)
.setNotificationId(notification.notificationId);
if (Platform.OS === 'android') {
localNotification
.android.setBigText(notification.body)
.android.setSmallIcon('ic_noti_logo_hnc')
.android.setLargeIcon('ic_launcher')
.android.setVisibility(firebase.notifications.Android.Visibility.Public)
.android.setChannelId(CHANNEL_NOTIFICATIONS.CHANNEL_ID)
.android.setPriority(firebase.notifications.Android.Priority.High);
if (isEqual(localNotification.data.set_delay_time, "true")){
// Build an action
const acceptAction = new firebase.notifications.Android.Action('accept_action', 'default', 'Accept');
const rejectAction = new firebase.notifications.Android.Action('reject_action', 'default', 'Reject');
localNotification
.android.addAction(acceptAction)
.android.addAction(rejectAction);
}
} else if (Platform.OS === 'ios') {
localNotification
.ios.setBadge(notification.ios.badge);
}
firebase.notifications().displayNotification(localNotification)
.catch(err => console.error(err));
});
};
То, что я собираюсь сделать, - это что-то похожее на то, что вы найдете в Android, но больше всего я нашел IOSNotification.alertAction.
Может ли кто-нибудь направить меня с этим? От уже большое спасибо!
Нико.