在 React-Native 中获取 FCM 令牌
Posted
技术标签:
【中文标题】在 React-Native 中获取 FCM 令牌【英文标题】:Get FCM token in React-Native 【发布时间】: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 ;
【问题讨论】:
【参考方案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/usage 和 https://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 中使用常见功能时使用。 这是更新的
【讨论】:
以上是关于在 React-Native 中获取 FCM 令牌的主要内容,如果未能解决你的问题,请参考以下文章