在React-Native中获取FCM令牌

时间:2019-07-22 06:08:43

标签: firebase react-native react-native-fcm

在我的React-Native应用程序中,我必须使用firebase通知。 所以我创建了这个库。我是否以正确的方式完成此操作?我该如何测试以检查其是否正常工作?我想要的是在这里返回FCM令牌。

/** Firebase Cloud Messaging Methods */
import firebase from 'react-native-firebase';

const getToken = async () => {
  try {
    const token = await firebase.messaging().getToken();
    if (token) return token;
  } catch (error) {
    console.log(error);
  }
};

const getFCMToken = async () => {
  try {
    const authorized = await firebase.messaging().hasPermission();
    const fcmToken = await getToken();

    if (authorized) return fcmToken;

    await firebase.messaging().requestPermission();
    return fcmToken;
  } catch (error) {
    console.log(error);
  }
};

export { getFCMToken };

3 个答案:

答案 0 :(得分:1)

import messaging from '@react-native-firebase/messaging';

const checkToken = async () => {
 const fcmToken = await messaging().getToken();
 if (fcmToken) {
    console.log(fcmToken);
 } 
}

checkToken();

参考文献:https://rnfirebase.io/messaging/usagehttps://github.com/invertase/react-native-firebase-docs/blob/master/docs/messaging/device-token.md

答案 1 :(得分:0)

使用第3方库获取FCM通知对于调试总是很痛苦,所以总是我建议使用react-native bridge对此类API使用Native调用。因为react-native库仅应在Android和IOS中使用的通用功能时使用。 / p>

答案 2 :(得分:0)

检查您是否正确实施了通知。你必须去

Firebase Console

点击“云消息传递”,然后点击“新通知” 发送测试通知。 如果您收到通知,则您的代码很好。

顺便说一句,您应该使用“主题”实现而不是“令牌”实现。这将使发送通知的过程非常容易且易于管理。