React-Native-Firebase - 未创建 Firebase 应用程序“[DEFAULT]” - 调用 firebase.initializeApp()(在 Android 上,尽管设置正确)

React-Native-Firebase - No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp() (on Android, despite correct setup)

提问人:AndrewHoover898 提问时间:11/17/2023 更新时间:11/17/2023 访问量:44

问:

React Native 0.71.3 + 打字稿。显然,Project 也使用 ProGuard。

我正在尝试通过云消息传递集成推送通知。我只在 Android 上测试过它。

我完成了所有需要的步骤。我错过了什么?

  1. npm install --save @react-native-firebase/app
  2. 将我的google-services.json文件放在 /android/app/ 文件夹中
  3. 添加于classpath 'com.google.gms:google-services:4.4.0'/android/build.gradle
  4. 新增应用插件:/android/app/build.gradle'com.google.gms.google-services'
  5. npm install @react-native-firebase/messaging
  6. npx react-native run-android 重建项目 7)在我的 App.tsx 中import messaging from '@react-native-firebase/messaging';
  7. 为了测试,我从文档中添加了这个函数
async function requestUserPermission() {
  const authStatus = await messaging().requestPermission();
  const enabled =
    authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
    authStatus === messaging.AuthorizationStatus.PROVISIONAL;

  if (enabled) {
    console.log('Authorization status:', authStatus);
  }
}
  1. 我在 App.tsx 的 useEffect() 中调用该函数

然而,尽管采取了所有这些步骤,我还是继续得到

 Possible Unhandled Promise Rejection (id: 0):
Error: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()

我错过了什么?这让我发疯了。

安卓 打字稿 react-native react-native-firebase

评论


答:

1赞 Cam Hoang 11/17/2023 #1

因为您复制的函数是针对 iOS 的。这需要您为 [FIRApp configure] 添加进一步的初始化; 对于 android,请按照以下指导使用:

import {PermissionsAndroid} from 'react-native';
  PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS);