ios - React 本机 FCM iOS 推送通知未交付
问题描述
首先环境是 React 本机,我尝试按照rnfirebase包中的说明在 iOS 中设置推送通知,我做了什么步骤,我在 Real iPhone 设备上进行测试
- 创建密钥
- 然后添加到火力基地
- 添加 Google-service.plist 并从 firebase doc 添加以下设置
- 然后我安装 pod 包
- 运行应用程序得到令牌
- 在云消息控制台上使用令牌发送
通知未送达我不知道出了什么问题,因为消息也从 FCM 发送以及在 APNS 上发生了什么,我得到一个错误只是混淆
感谢提前
也没有再收到
然后尝试使用具有相同证书的 Onesignal 与 Firebase 即使在测试消息上也可以使用
解决方案
您在 Pusher 中使用的令牌看起来不正确。我的远程通知令牌如下所示。
我只是在测试静默推送,但对于常规警报,令牌看起来很相似。这是我用来获取令牌的代码。我的猜测是您正在将错误的令牌推向 FCM。
fileprivate func convertHexDataToString(_ data: Data) -> String {
var string: String = ""
for i in 0..<data.count {
string += String(format: "%02.2hhx", data[i] as CVarArg)
}
return string
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenString = convertHexDataToString(deviceToken)
#if DEBUG
print("APN sandbox token: '\(tokenString)'")
Messaging.messaging().setAPNSToken(deviceToken, type: .sandbox)
#else
print("APN prod token: '\(tokenString)'")
Messaging.messaging().setAPNSToken(deviceToken, type: .prod)
#endif
}
推荐阅读
- angularjs - DOM元素在刷新angularjs时消失
- python - 验证文件是否存在于 Tensorflow 流中。使用 tf.gfile.Exists 和字符串张量作为输入
- asp.net-core - 如何在 Scrutor 类似的 StructureMap 中注册程序集上的所有接口
- angular - Angular 6 如何在延迟加载的模块中初始化辅助路由
- spring-boot - SOAP 请求由两个 XSD 模式组成
- java - 引起:org.hibernate.MappingException:无法确定类型:
- android - Firebase UI - custom SnapshotParser is skipped by compiler
- shell - 在 Jenkins 中使用 nohup 时服务器无法上网
- optimization - 为什么 IBM 优化器工作室 OPL 给出的结果与 docplex 不同?
- makefile - 在 for 循环中使用 seq 时我的 Makefile 出错