【问题标题】:Get FCM token in React-Native在 React-Native 中获取 FCM 令牌
【发布时间】:2019-07-22 06:08:43
【问题描述】:

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

【问题讨论】:

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


    【解决方案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

    【讨论】:

      【解决方案2】:

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

      Firebase Console

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-09-24
          • 2016-10-13
          • 2021-02-18
          • 2017-11-09
          • 2020-04-01
          • 2018-12-30
          • 2017-07-07
          相关资源
          最近更新 更多