FCM - firebase App未初始化 - React Native

时间:2017-10-27 09:33:23

标签: javascript firebase firebase-cloud-messaging react-native-android

我正在配置和初始化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应用程序未初始化错误,而不是在顶部初始化,

2 个答案:

答案 0 :(得分:0)

您必须在FCM.getFCMToken()内拨打FCM.requestPermissions().then(),因为requestPermissions是异步的

答案 1 :(得分:0)

根据"react-native-fcm"

  

react-native-firebase现在可以做react-native-fcm可以做的,所以它是   浪费精力并行构建同一事物。

与reac-native-fcm相比,您必须使用react-native-firebase。 在这里,您可以找到docs及其易于使用的方法,并将其集成到react-native中。