我正在配置和初始化firebase app仍然是FCM消息传递结果,导致Firebase应用程序未初始化时出错。
import FCM from "react-native-fcm";
const firebaseConfig = {
apiKey: "xxx",
authDomain: "xxx",
databaseURL: "xxx",
messagingSenderId: "xxx",
storageBucket: "xxx",
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
class App extends Component {
configureStore()
{
const store = createStore(reducer,undefined,compose(autoRehydrate()));
persistStore(store,{ storage: AsyncStorage })
return store;
}
constructor(props)
{
super(props);
}
componentDidMount()
{
FCM.requestPermissions()
.then(()=>console.log('granted'))
.catch(()=>console.log('notification permission rejected'));
FCM.getFCMToken()
.then(token => {
alert("TOKEN (getFCMToken)", token);
})
.catch((error)=> alert(error))
}
}
已授予FCM通知权限,但getToken方法导致firebase应用程序未初始化错误,而不是在顶部初始化,
答案 0 :(得分:0)
您必须在FCM.getFCMToken()
内拨打FCM.requestPermissions().then()
,因为requestPermissions
是异步的
答案 1 :(得分:0)
react-native-firebase现在可以做react-native-fcm可以做的,所以它是 浪费精力并行构建同一事物。
与reac-native-fcm相比,您必须使用react-native-firebase。 在这里,您可以找到docs及其易于使用的方法,并将其集成到react-native中。