为了账号安全,请及时绑定邮箱和手机立即绑定

在 React Native 中获取 Firebase Cloud Messaging 令牌

在 React Native 中获取 Firebase Cloud Messaging 令牌

烙印99 2023-07-14 15:28:30
我是本机反应新手,我正在尝试创建一个具有后台通知的应用程序。经过一些研究后,我觉得最好的方法是使用 firebase 云消息传递。在学习了许多不同的教程后,我编写了以下代码。export default class App extends React.Component {   requestUserPermission = async () => {    const authStatus = await messaging().requestPermission();    const enabled =      authStatus === messaging.AuthorizationStatus.AUTHORIZED ||      authStatus === messaging.AuthorizationStatus.PROVISIONAL;      if (enabled) {        getFcmToken();        console.log('Authorization status:', authStatus);      }    };    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");      }    };    async componentDidMount() {      await this.requestUserPermission();       // Register background handler       messaging().setBackgroundMessageHandler(async (remoteMessage) => {       console.log('Messaage handled in the background!', remoteMessage);  });};  }当我在 iOS 设备上运行应用程序时,我可以在终端中看到以下错误。ReferenceError:找不到变量:getFcmToken当我尝试发送测试消息时,它似乎没有出现。我的问题是:我是否错误地编写了代码或者我做错了什么?
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

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);

      }

    };


查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信