因此,我已将项目中的Firebase从v@5迁移到v@14,因为推送通知在android API31+(v12(上根本不起作用。
注意:我们使用react-native-splash-screen
。Folk在一些问题上指出了react native firebase/issues/4005和react nativefirebase/iissues/2768以及react naturesplashscreen/issues/289,并建议从旧的splash方法转向react-native-bootsplash
作为替代方法,这对我们来说并不是真正的解决方案。PS。上面链接中的任何评论都没有帮助
firebase.messaging().onNotificationOpenedApp
-与最初的推送不同,后台模式下的推送服务表现良好。
我的问题是通过使用三方库(如react-native-push-notification
而非firebase.messaging().getInitialNotification()
(中的API解决的
const getAndroidInitialNotification = (remoteMessage: ReceivedNotification | null): void => {
const data = remoteMessage?.data;
if (data) {
// Your code such deep links implementation, dispatch to reducer etc...
}
};
PushService.popInitialNotification(handleInitialNotifications);
希望这能对像我这样的人有所帮助,他们不明白splash方法对firebase服务和所有相关的令人困惑的东西的影响。