我的代码在Objective-C 中
Firebase侧
- 应用程序已创建
- 常规设置-->已完成
- APNs验证密钥-->已完成
苹果开发者帐户端
- 应用程序ID-->已完成
- 开发和分发证书-->已完成
- 开发和分发配置文件-->已完成
应用程序端
- My AppDelegate调用
registerForRemoteNotifications
时没有任何错误,方法"didReceiveRegistrationToken
"能够返回如下字符串:NSLog(@"Remote instance ID token: %@", result.token);
- 第一项确认我的应用程序能够访问Firebase Server和APN,因为TOKEN总是返回
- 我已经实现了
didReceiveRemoteNotification
的所有功能,无论是在应用程序处于后台时收到通知消息,还是没有收到通知消息 - GoogleService-Info.plist-->已在我的项目中移动
问题
问题是我的应用程序无法接收到我将使用firebase控制台发送的任何通知。didReceiveRemoteNotification
从未打过电话!
我已经阅读了你对其他问题的所有反馈,但我没有解决我的问题。
更新#1
感谢iDev750的回答!
我的问题是,当我从firebase控制台或直接从后端发送通知时,我不会在应用程序上收到通知。在我看来,如果我没有收到通知,就不可能调用didReceiveRemoteNotification,你同意我的观点吗?
无论如何,正如你所说,我直接向我的代币/设备发送了一条推送消息,结果如下:
{"multicast_id":6185922XXX,"成功":1,"失败":0
因此,它确定消息已经发送,否则输出应该类似于请求的身份验证(服务器-(密钥包含无效或格式错误的FCM令牌(又称IID令牌(。
我希望这是我的第二条信息。你有什么办法帮我吗?
非常感谢!
你在问题中说了两点。
- 您的应用程序中未接收到通知
- didReceiveRemoteNotification从未调用
首先,您的问题是什么?因为两者是不同的问题。
你可以做一件事,只需在iPhone中安装你的应用程序,将你的设备令牌粘贴到Firebase控制台上,并在该设备上发送测试通知。忘记调用与否的"didReceiveRemoteNotification"方法。
现在,如果您收到通知,但didReceiveRemoteNotification没有调用,请检查我的答案:https://stackoverflow.com/a/53460880/1673192
如果在设备上接收到通知,可能会出现其他问题,如-
- 是否为在AppStore上创建的AppId启用推送通知
- 是否在您的应用程序中启用推送通知->目标->功能->推送通知
检查这些点,让我知道你还有任何问题。