我的代码在 Objective-C 中
Firebase 方面
- 已创建应用
- General settings --> done
- APNs Auth Key --> done
苹果开发者账号端
- 应用 ID --> 完成
- 开发和分发证书 --> 完成
- 开发和分发配置文件 --> 完成
应用端
- 我的 AppDelegate 调用
registerForRemoteNotifications 没有任何错误,并且方法“didReceiveRegistrationToken ”能够返回如下字符串:NSLog(@"Remote instance ID token :%@", result.token);
- 第一项确认我的应用能够访问 Firebase 服务器和 APN,因为 TOKEN 总是返回!
- 我已经实现了所有功能
didReceiveRemoteNotification ,无论我在应用程序处于后台时收到通知消息还是没有收到通知消息。
- GoogleService-Info.plist --> 移到我的项目中
问题
问题是我的应用无法接收我要使用 firebase 控制台发送的任何通知。 didReceiveRemoteNotification 从未调用过!
我已阅读您对其他问题的所有反馈,但我没有解决我的问题。
更新 #1
感谢 iDev750 的回答!
我的问题是当我从 Firebase 控制台或直接从我的后端发送通知时,我的应用程序没有收到通知。在我看来,如果我没有收到通知,就不可能调用 didReceiveRemoteNotification,你同意我的观点吗?
无论如何,正如你所说,我直接向我的 token /设备发送了一条推送消息,结果如下:
{"multicast_id":6185922XXX,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1543141675131005%YYYY"}]}
因此,确定消息已发送,否则输出应类似于请求的身份验证(服务器) key 包含无效或格式错误的 FCM-Token(又名 IID-Token)。
我希望我的第二条信息很清楚。你有什么想法可以帮助我吗?
非常感谢!
Best Answer-推荐答案 strong>
在这里,您在问题中说了两点。
- 您的应用未收到通知。
- didReceiveRemoteNotification 从未调用过。
首先,您的问题是什么?因为两者都是不同的问题。
您可以做一件事,只需在 iPhone 中安装您的应用,然后将您的设备 token 粘贴到 Firebase 控制台,然后在该设备上发送测试通知。忘记调用与否的“didReceiveRemoteNotification”方法。
现在,如果您收到通知但 didReceiveRemoteNotification 未调用,请查看我的回答:
https://stackoverflow.com/a/53460880/1673192
如果设备上收到通知,可能是其他问题,例如 -
- 是否为您在 AppStore 上创建的 AppId 启用推送通知?
- 是否在您的应用中启用推送通知 -> 目标 -> 功能 -> 推送通知
检查这些要点,如果您有任何问题,请告诉我。
关于ios - 通知未到达我的 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/53460056/
|