React Native 0.71.3 + Typescript。显然,项目也使用了 ProGuard。
我正在尝试通过云消息传递集成推送通知。我只在Android上测试过。
我已完成所需的所有步骤。我错过了什么?
classpath 'com.google.gms:google-services:4.4.0'
于/android/build.gradle
'com.google.gms.google-services'
at /android/app/build.gradleimport messaging from '@react-native-firebase/messaging';
在我的App.tsxasync function requestUserPermission() {
const authStatus = await messaging().requestPermission();
const enabled =
authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
authStatus === messaging.AuthorizationStatus.PROVISIONAL;
if (enabled) {
console.log('Authorization status:', authStatus);
}
}
然而,尽管采取了所有这些步骤,我还是不断
Possible Unhandled Promise Rejection (id: 0):
Error: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()
我错过了什么?这让我发疯。
因为你复制的函数是针对iOS的。这需要您为 [FIRApp 配置] 添加进一步的初始化; 对于 Android,请按照指导使用:
import {PermissionsAndroid} from 'react-native';
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS);
我通过更新 Firebase 的 package.json 依赖项解决了该问题:
"dependencies": {
"@react-native-firebase/app": "^21.3.0",
"@react-native-firebase/messaging": "^21.3.0"
}
我在npm网站上找到了最新的兼容版本。