Я использую react-native-onesignal
в своем приложении, и push-уведомления показывают 100% времени, когда приложение не используется (на переднем плане).Тем не менее, когда приложение открывается, уведомления не отображаются, и слушатели тоже не запускаются.
- Я использую OneSignal React-Native SDK v3.2.7, добавленный через
yarn
- macOS версия: Mojave
- XCode версия: 9.4.1
- Устройство: Apple iPhone 6, работает под управлением iOS 11
Мой код основан накод RNOneSignal, пример :
class Root extends Component {
constructor(props) {
super(props)
this.onReceived = this.onReceived.bind(this)
this.onOpened = this.onOpened.bind(this)
this.onIds = this.onIds.bind(this)
}
componentWillMount() {
console.warn(new Date())
console.warn('componentWillMount')
OneSignal.setLogLevel(7, 0);
OneSignal.inFocusDisplaying(2);
OneSignal.init(MY_APP_ID);
OneSignal.configure({});
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('ids', this.onIds);
}
componentWillUnmount() {
console.warn('componentWillUnmount')
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.warn("Notification received: ", notification);
}
onOpened(openResult) {
console.warn('Message: ', openResult.notification.payload.body);
console.warn('Data: ', openResult.notification.payload.additionalData);
console.warn('isActive: ', openResult.notification.isAppInFocus);
console.warn('openResult: ', openResult);
}
onIds(device) {
console.warn('Device info: ', device);
}
render(){
return(
<Provider store={store}>
<App />
</Provider>
);
}
}
PS: Когда я использую тот же идентификатор приложения в RNOneSignal пример приложения , все работаетотлично (уведомления отображаются, когда приложение находится в фоновом режиме и на переднем плане)