通知未到达我的iOS应用

时间:2018-11-24 16:18:03

标签: ios objective-c firebase push-notification firebase-cloud-messaging

我的代码在Objective-C中

Firebase端

  1. 已创建应用
  2. General settings --> done
  3. APNs Auth Key --> done

Apple开发者帐户方面

  1. 应用程序ID->完成
  2. 开发和发行证书->完成
  3. 开发和分发配置文件->完成

应用程序端

  1. 我的AppDelegate正确地调用registerForRemoteNotifications,方法“ didReceiveRegistrationToken”可以返回如下所示的字符串:NSLog(@"Remote instance ID token: %@", result.token);
  2. 第一项确认我的应用程序能够访问Firebase Server和AP​​N,因为令牌始终返回!
  3. 无论我是否在后台运行时都收到通知消息,是否都实现了didReceiveRemoteNotification的所有功能。
  4. GoogleService-Info.plist->已移入我的项目

问题

问题是我的应用无法使用Firebase控制台接收要发送的任何通知。 didReceiveRemoteNotification从未打电话!

我已经阅读了您对其他问题的所有反馈,但我没有解决问题。

更新#1

感谢iDev750的回答!

我的问题是,当我从Firebase控制台或直接从后端发送通知时,我的应用程序未收到通知。我认为如果没有收到通知,则不可能调用didReceiveRemoteNotification,您是否同意我的观点?

无论如何,正如您所说,我直接向我的令牌/设备发送了一条推送消息,结果如下:

{“ multicast_id”:6185922XXX,“ success”:1,“ failure”:0,“ canonical_ids”:0,“ results”:[{“ message_id”:“ 0:1543141675131005%YYYY”}]}

因此,请确保已发送消息,否则输出应类似于请求的身份验证(服务器)密钥包含无效或格式错误的FCM令牌(也称为IID令牌)。

我希望我对第二条信息很清楚。你有什么办法帮我吗?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

您在这里说了两点。

  1. 您的应用未收到通知。
  2. 从未调用过
  3. didReceiveRemoteNotification。

首先,您的问题是什么?因为两者都是不同的问题。

您可以做一件事情,只需将应用程序安装在iPhone上,然后将设备令牌粘贴到Firebase控制台上,然后在该设备上发送测试通知。只需忘记调用与否的“ didReceiveRemoteNotification”方法即可。

现在,如果您收到通知,但didReceiveRemoteNotification没有呼叫,请检查我的答案: https://stackoverflow.com/a/53460880/1673192

如果设备上收到通知,则可能是其他问题,例如-

  • 是否可以为在AppStore上创建的AppId启用推送通知?
  • 您的应用程序中是否启用了推送通知->目标->功能->推送通知

检查这些要点,并让我知道您仍然有任何问题。