iOS上未收到长度为163的FCM令牌的Firebase通知



我正在做一个react原生项目,该项目使用FCM令牌根据配置文件注册手机(不使用Firebase Auth(。

对于android,生成的FCM令牌长度为152,当我使用Firebase Admin SDK发送通知时,我会收到通知。

但对于iOS,生成的FCM令牌长度为163。在使用相同的Java代码发送通知时,"errorCode": "UNREGISTERED""message": "Requested entity was not found."出现404错误

Xcode中添加了推送通知功能。如果应用程序处于前台、后台或关闭状态,通知侦听器也可以处理通知。

我已尝试卸载然后安装该应用程序。即使生成了新的FCM令牌,结果也是一样的。另一方面,对于一些iOS设备(相同的iOS版本(,FCM令牌的长度为152,我可以向这些iPhone发送通知。我无法找出导致某些iOS设备出现此问题的原因。

预期:通知同时到达android和iOS设备
实际结果:
通知到达android
FCM令牌长度为152的iOS设备上收到的通知
通知未到达在FCM令牌长度为163的iOS设备上

以下是我的配置:
常规:
iOS:13.5.1
型号:iPhone XR
react native:0.62.2

Package.json:
"反应天然火球":"5.6.0">

Podfile:
pod"Firebase/Core","5.20.2">
pod"Firebase/Messageing","5.2 0.2"

Android/app build.gradle:
实现"firebase:firebase核心:16.0.8">
实现"com.google.firebase:firebase消息:17.6.0">

工作正常。对于那些可能面临这个问题的人来说,问题是使用NativeManager来获取FCM令牌
以前我是这样取令牌的:

nativeManager.getTokenString(CONSTANT_FCM_TOKEN, (fcmToken) => {...});

更改为:

fcmToken = await firebase.messaging().getToken();

使用firebase.messaging((.getToken((,首先接收一个FCM令牌,然后再次接收RNFirebaseMessaging消息:didReceiveRegistrationToken返回一个新令牌。新令牌是要使用的令牌。

对于NativeManager,只返回了第一个令牌,这不是正确的令牌。

相关内容

  • 没有找到相关文章

最新更新