firebase - 单设备推送通知(FCM 注册令牌)不起作用
问题描述
我正在使用 react-native-firebase 和 firebase-messaging 来实现推送通知。
虽然我可以向所有人发送推送通知,但我无法将它们发送给个人。据我所知,我需要的只是 FCM 注册令牌,我按照文档检索
firebase.messaging().getToken()
.then(fcmToken => {
if (fcmToken) {
console.log("fcm token", fcmToken);
} else {
console.log("fcm token", "null");
}
});
我收到的令牌是一个合理的令牌,但是当我将该令牌从日志复制到 Firebase 控制台并尝试将其发送到单个设备时,什么也没有收到。(如果我推送到用户群,所有安装了该应用程序的设备都会收到它)。
由于我无法测试 iOS,这在 iOS 上可能也可能不是问题。
在我的 build.gradle 文件中,firebase 相关库包括如下:
compile(project(':react-native-firebase')) {
transitive = false
}
implementation "com.google.android.gms:play-services-base:15.0.1"
implementation "com.google.firebase:firebase-core:16.0.1"
implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation "com.google.firebase:firebase-messaging:17.1.0"
在 MainApplication.java 文件中,我将它们添加到 ReactPackages 列表中。
new RNGoogleSigninPackage(),
new RNFirebasePackage(),
new RNFirebaseMessagingPackage(),
new RNFirebaseAuthPackage()
我的 AndroidManifest 没有任何与 Firebase 相关的更改,因为我发现推送通知即使没有它们也能正常工作。(在尝试实现推送通知时,我注意到所有手机都在接收它们,除了我正在积极使用的手机 - 所以我回滚了代码。)
编辑:我设法收到一个设备通知。没有任何变化,它突然只工作了一次。现在它不再起作用了。
解决方案
推荐阅读
- python - 获取 SON、DJF、MAM 多年数据中 95 个百分位的变量
- java - 在Android中的某个时间点调用所有特定代码
- python - 使用函数 1 的输出作为函数 2 的输入
- ignite - Apache Ignite.Net 在 GetOrCreateCache 上挂起
- git - 无法使用个人访问令牌访问 git 私人仓库,即使我已经给了它所有的范围
- typescript - 传递一个可注入服务的参数是一个好习惯吗?
- tomcat - 增加 Eden 空间堆大小 tomcat
- image - 如何在本机反应中弹出图像
- ssas - 将 MDX 查询结果保存到表或 csv 文件
- batch-file - 通过网络复制文件并从同一文件夹中删除文件 windows 7