3

在我的 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 };
4

3 回答 3

7
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/usage和 https://github.com/invertase/react-native-firebase-docs/blob/master/docs/messaging/device-token.md

于 2021-06-02T12:16:09.063 回答
-1

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

Firebase 控制台

单击“云消息传递”,然后单击“新通知”发送测试通知。如果您收到通知,那么您的代码就可以了。

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

于 2019-07-22T07:39:14.883 回答
-2

使用 3rd 方库获取 FCM 通知对于调试来说总是很痛苦,所以我总是建议使用 react-native bridge 对此类 API 使用 Native 调用。因为 react-native 库仅应在 Android 和 IOS 中使用常见功能时使用。这是更新的

于 2019-07-22T06:18:14.547 回答