iOS 上未收到 Firebase 云消息传递测试消息



我正在与iOS一起开发Firebase Cloud Messaging ,希望得到任何帮助:

问题所在

我按照这个文档发送测试通知,但它不起作用。

我尝试过什么

我已经理智地检查了我在iOS方面能想到的一切,一切看起来都不错。以下是我到目前为止检查过的内容列表:

  • 我让我的管理员在 Apple 开发网站上生成了一个密钥 ID 和私钥文件,并将其上传到我的 Firebase 应用。
  • 我在iOS应用上安装了Firebase SDK,并将GoogleService-Info.plist文件复制到我的Xcode项目中。
  • 我注册了application.registerForRemoteNotifications()的静默通知。
  • 我向UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound], completionHandler: { _, _ in })注册了明确的通知。
  • 我在 Firebase 委托方法messaging(_: didReceiveRegistrationToken:)中捕获了 Firebase 设备令牌。
  • 我从console.firebase.google.com/project/<PROJECT_NAME>/notification/compose向该设备令牌发送了一条测试消息。

为了确认消息已成功发送,我在此文档之后发送了手动 POST 请求。

  • 我使用google-auth-library为它生成了一个访问令牌。
  • 我将设备令牌放在{"message": {"token": "..."}}下的请求有效负载中。 请求返回状态代码为 200。
  • 我尝试使用格式错误的访问令牌和设备令牌进行尝试,但失败了,因此从iOS捕获的设备令牌必须有效。

因此,似乎正在发送消息。此外,我在iOS上捕获的设备令牌在开机自检中发送时有效。所以我相信iOS方面一定有问题。

我能想到的唯一解释可能是与应用程序捆绑包 ID 或 APNs 令牌不匹配。我不是管理员,所以我无法在 Apple 开发人员网站上查看令牌。

有谁知道可能出了什么问题?

所以问题是有人之前在 Info.plist 中设置了FirebaseAppDelegateProxyEnabledNO。我把它翻到YES,这让它工作了。

最新更新