Javascript 在React Native中获取Firebase云消息传递令牌

Javascript 在React Native中获取Firebase云消息传递令牌,javascript,ios,firebase,react-native,firebase-cloud-messaging,Javascript,Ios,Firebase,React Native,Firebase Cloud Messaging,我对react native很陌生,我正在尝试创建一个具有后台通知的应用程序。在做了一些研究之后,我觉得最好的方法是使用firebase云消息 在完成了大量不同的教程之后,我编写了以下代码 导出默认类App扩展React.Component{ requestUserPermission=async()=>{ const authStatus=等待消息传递().requestPermission(); 常量启用= authStatus==messaging.AuthorizationStatus

我对react native很陌生,我正在尝试创建一个具有后台通知的应用程序。在做了一些研究之后,我觉得最好的方法是使用firebase云消息

在完成了大量不同的教程之后,我编写了以下代码

导出默认类App扩展React.Component{
requestUserPermission=async()=>{
const authStatus=等待消息传递().requestPermission();
常量启用=
authStatus==messaging.AuthorizationStatus.AUTHORIZED||
authStatus==messaging.AuthorizationStatus.Temporative;
如果(已启用){
getFcmToken();
log('Authorization status:',authostatus);
}
};
getFcmToken=async()=>{
const fcmToken=等待消息传递().getToken();
如果(fcmToken){
控制台日志(fcmToken);
log(“您的Firebase令牌是:”,fcmToken);
}否则{
日志(“失败”,“未收到令牌”);
}
};
异步组件didmount(){
等待此消息。requestUserPermission();
//寄存器后台处理程序
消息传递().setBackgroundMessageHandler(异步(remoteMessage)=>{
log('Messaage在后台处理!',remoteMessage);
});
};

}
在实际使用之前声明
getFcmToken

    // declare getFcmToken first
    const getFcmToken = async () => {
      const fcmToken = await messaging().getToken();
      if (fcmToken) {
          console.log(fcmToken);
          console.log("Your Firebase Token is:", fcmToken);
      } else {
          console.log("Failed", "No Token Recived");
      }
    };

    // then use it
    const authStatus = await messaging().requestPermission();
    const enabled =
      authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
      authStatus === messaging.AuthorizationStatus.PROVISIONAL;
      if (enabled) {
        getFcmToken();
        console.log('Authorization status:', authStatus);
      }
    };

这就是我想做的,但一旦我将令牌函数放置在我似乎工作的应用程序组件之外,它似乎会导致语法错误。谢谢你的帮助