Я получаю push-уведомление от firebase, но когда я отправил его с помощью "https://fcm.googleapis.com/fcm/send" на android в реагировать на натив с помощью библиотеки реагировать-native-firebase, я не получаю никаких уведомлений на Android. Однако я не могудля отображения сообщения на консоли с помощью метода "onMessage". Но как я могу получить уведомление в панели уведомлений. Мое сообщение только для данных, поэтому я также создал bgMessaging.js для обработки фонового сообщения, и здесь я также могу отображать сообщениев консоли, но не в уведомлении.
Как я могу исправить эту проблему и отобразить сообщение на панели уведомлений с сообщениями только для данных.
Ниже приведен мой код
bgMessaging.js
import firebase from 'react-native-firebase';
// Optional flow type
import type { RemoteMessage } from 'react-native-firebase';
export default async (message: RemoteMessage) => {
// handle your message
console.log("message")
console.log(message)
// senName = message.data.senderName;
// senUid = message.data.senderUid;
// const notification = new
// firebase.notifications.Notification()
// .setNotificationId('notificationId')
// .setTitle(message.data.title)
// .setBody(message.data.body)
// .android.setChannelId('channel_id_foreground')
// .android.setSmallIcon('ic_launcher');
// firebase.notifications().displayNotification(notification);
return Promise.resolve();
}
index.js (следующие строки добавлены в конце)
AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => bgMessaging); // <-- Add this line
App.js
componentDidMount() {
this.messageListener = firebase.messaging().onMessage((message: RemoteMessage) => {
//process data message
console.log(message);
});
}
AndroidManifest.xml
<service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService" />
<service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="io.invertase.firebase.messaging.RNFirebaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service android:name=".MyTaskService" />