默认FirebaseApp在此过程中未初始化-React Native-Local Notification



(在将此问题标记为重复之前,请阅读整个问题(

我在我的react native应用程序中使用了react native推送通知库。

在我的应用程序中,我还没有初始化Firebase,因为我现在不需要任何远程通知。目前我正在安排一个本地通知,当通知到来时,我希望用户从中采取行动。根据按下的按钮,我想进行适当的API调用。

因此,为了实现这一点,我使用了PushNotification.config方法,但它让我感到"在此过程中未初始化默认的FirebaseApp。确保Firebase已初始化">错误。

我被迫使用Firebase,当我完全不需要它的时候。

有人能帮我一下吗?过去两天我一直在寻找答案。我是React Native的新手,我仍在学习。任何帮助都将不胜感激。

感谢

最后我找到了解决方案,它实际上在文档中,但我不知怎么看了一遍。我会把它贴在这里,因为我确信外面有像我一样的人。

我们应该在PushNotification.configure中添加requestPermissions: Platform.OS === 'ios',,如下所示:

PushNotification.configure({
onNotification: function (notification) {
console.log('LOCAL NOTIFICATION ==>', notification);
},
// This line solves the problem that I was facing.
requestPermissions: Platform.OS === 'ios',
});

当使用Android API版本≥33时,接受的答案不再有效。


问题

问题是通过设置

requestPermissions: Platform.OS === 'ios'

权限将永远不会被请求,并且将其更改为true或手动运行PushNotification.requestPermissions()将始终抛出"在此过程中未初始化默认的FirebaseApp。确保Firebase已初始化">错误。

唯一的解决方法是让用户进入应用程序设置并手动切换通知权限。

不幸的是,由于react原生推送通知自2021年以来一直没有更新,似乎已被放弃,如果没有最新安卓版本上的Firebase支持,它将无法再用于本地通知。


解决方案

使用@notifee/rect本地

最新更新