Я пытаюсь получить push-уведомления FCM, работающие в моем собственном реактивном проекте для Android с библиотекой реагировать-нативного уведомления и aws-ampify.У меня проблема с PushNotification.onRegister метод не вызывается в Android для получения токена устройства для отправки удаленных уведомлений. Как я могу заставить эти две библиотеки работать вместе в моем собственном проекте реагировать?
Я следовал документации aws-ampifyhttps://aws -amplify.github.io / docs / js / start? Ref = ampify-rn-btn & platform = Reaction-native для включения библиотеки усиления в собственный проект реагирования.Затем я добавил push-уведомления, настроенные в соответствии с https://aws -amplify.github.io / docs / js / push-notifications Я включил библиотеку реагировать на встроенную навигацию для поддержки навигации в моем приложении реагировать на работув соответствии с https://wix.github.io/react-native-navigation/#/docs/Installing После установки нереализована метод pushNotification.onRegister для встроенной навигационной библиотеки для получения токена устройства, без которого я не могу отправить push-уведомления в android.
У меня есть push-уведомлениянастроенный в App.js, как показано ниже
import PushNotification from '@aws-amplify/pushnotification';
import Analytics from '@aws-amplify/analytics';
import Auth from '@aws-amplify/auth';
// retrieve temporary AWS credentials and sign requests
Auth.configure(awsconfig);
// send analytics events to Amazon Pinpoint
Analytics.configure(awsconfig);
console.log(PushNotification);
PushNotification.configure(awsconfig);
Затем в конструкторе App.js я регистрируюсь для событий PushNotification.
Navigation.events().registerAppLaunchedListener(() => {
PushNotification.onNotification((notification) => {
// Note that the notification object structure is different from Android and IOS
console.log('in app notification', notification);
// required on iOS only (see fetchCompletionHandler docs: https://facebook.github.io/react-native/docs/pushnotificationios.html)
notification.finish(PushNotificationIOS.FetchResult.NoData);
});
// get the registration token
PushNotification.onRegister((token) => {
Alert.alert(token);
this.setState({token:token});
console.log('in app registration', token);
});
// get the notification data when notification is opened
PushNotification.onNotificationOpened((notification) => {
console.log('the notification is opened', notification);
});
});
Эта настройка работает нормально и PushNotification.onRegisterсобытие вызывается и токен устройства печатается, если я не включаю библиотеку реагировать на встроенную навигацию.В iOS я могу получить токен устройства с библиотекой реагировать на родную навигацию, но в Android он не работает.Будем весьма благодарны за любые указания по этому вопросу!