第一次使用 expo,看文档已经很清楚了,而且新起一个基础项目也能获取到 token
https://docs.expo.io/push-notifications/sending-notifications/
但是!但是我的项目就是获取不到 token,并且提示
Error: Encountered an exception while calling native method: Exception occurred while executing exported method getDevicePushTokenAsync on module ExpoPushTokenManager: Default FirebaseApp is not initialized in this process com.adminapp. Make sure to call FirebaseApp.initializeApp(Context) first.
我要的是 expo push notifications 不是 firebase 的推送。这个问题我网上查询了好多答案(很多都是让去看文档),但都没有能解决我的问题。
求大佬解答一下
1
hello2060 2021-03-29 20:38:49 +08:00 via iPhone
不懂 React 但这提示不是很清楚了吗,FirebaseApp 没初始化啊,应该调用 FirebaseApp.initializeApp(Context)
|
2
wuxi889 OP @hello2060 不是的,expo 的推送分为两种,如果使用 expo 的话是不需要配置 firebase 的,这个很清楚了。我的问题是我目前使用了 expo 的推送,但还是提示我配置 firebase,这个明显是错误的,我没找到问题在哪里。
|
3
qiongyue 2021-03-29 22:18:39 +08:00
这个没试过,我们接入的是阿里云的推送
|
4
JosephHan 2021-03-30 04:09:37 +08:00 via Android
Expo 的推送服务器只是中间层,屏蔽了复杂的配置,提供了更简便的 API,但低层还是调用的 APNs 和 FCM,这点文档里已经明确的画图说明了。所以你不初始化 Firebase 是没办法用的。
|
5
wuxi889 OP @JosephHan 我看完文档,感觉你的说话不对。我直接拿个全新的 expo 项目,什么都不配置,直接获取 expo push token 也是可以获取到的。所以感觉跟 firebase 没啥关系
|
7
JosephHan 2021-03-31 02:50:04 +08:00 via Android
@wuxi889 如果你用 Expo Go 来跑运行代码,是的确是不需要的,因为 Expo Go 自己已经初始化过了,但你自己编译成独立程序或者进行了 eject,就必修自己初始化 Firebase 。文档明明说的很清楚,你为什么愿意相信呢? https://docs.expo.io/push-notifications/push-notifications-setup/
|