正在React Native中获取Firebase云消息令牌



我是新来的本地react,我正在尝试创建一个具有后台通知的应用程序。在做了一些研究之后,我觉得最好的方法是使用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

当我尝试发送测试消息时,它似乎不会出现。

我的问题是:我是写错了代码还是做错了什么?

在实际使用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);
}
};

相关内容

  • 没有找到相关文章

最新更新