Реагировать на собственное push-уведомление о обратном вызове несовместимо
Я уже довольно давно использую библиотеку response-native-push-messages для локальных уведомлений. Теперь мне нужны удаленные беззвучные уведомления. По сути, я отправляю уведомление, которое доставляется обратному вызову onNotification, и отправляю локальное уведомление в центр уведомлений.
Я ожидаю, что обратный вызов onNotification будет срабатывать каждый раз, когда я получаю уведомление, и я открываю приложение, нажимая на уведомление. Проблема в том, в зависимости от того, куда я звоню PushNotification.configure({...})
На Android он запускает Уведомление, когда уведомление доставляется, ИЛИ когда я нажимаю на него, но никогда оба! Мой код:
// if here: calls onNotification when it's received
PushNotifications.configureNotifications();
export default class App extends React.Component {
constructor(props) {
// if here: calls onNotification when I click on it to open an app
PushNotifications.configureNotifications();
super(props);
}
render() { ... }
}
PushNotifications.configureNotifications()
- это просто простая оболочка над вызовом конфигурации библиотеки. Да, пытался держать его в обоих местах - не работает. Что я делаю неправильно?
Я всегда отправляю данные в виде push-уведомлений.
1 ответ
Документация говорит не помещать конфигурацию в жизненный цикл React. В противном случае Android не будет иметь правильного поведения (у меня была такая большая боль с этим пунктом!). Здесь у вас есть хороший учебник: https://product.farewell.io/visible-react-native-push-notifications-that-work-on-both-ios-and-android-5e90badb4a0f Это плохо объяснено, но подход идеально. Используйте класс для инициализации и вызова методов. Инициализируйте класс в верхнем компоненте, как он предлагает. Работает хорошо. Заполните недостающую информацию с помощью этого учебника: https://shift.infinite.red/react-native-node-js-and-push-notifications-e851b279a0cd Получайте удовольствие!