无法接收的iOS FCM推送通知(Can't receive FCM Push Notifi

2019-09-28 22:06发布

我试图用火力地堡云端通讯(FCM)SDK来推送通知给iOS设备。 我创建了一个非常简单的应用程序,它有一个空的ViewController并在所提供的复制的AppDelegate中快速启动的iOS项目 。

我跟着中提供的所有说明指南 :

采用吊舱安装的SDK,这里是我的podFile:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'fcmPushTest' do
# Comment the next line if you're not using Swift and don't want to use 
dynamic frameworks
use_frameworks!

# Pods for fcmPushTest

end
  • 增加了推送通知中的“功能”选项卡中的Xcode
  • 在苹果开发人员门户产生的APN的认证密钥和APPID(所述APPID已自动通过Xcode的生成)
  • 创建一个新的项目我在火力地堡开发者控制台应用程序,在项目的根目录下下载和复制GoogleService-Info.plist文件
  • 上传的火力地堡开发者控制台的APN的认证密钥
  • 安装该应用程序,并把它在后台(当应用程序在前台通知不出现)

当应用程序启动时,它正确地返回FCM令牌。 然后,我用这个令牌在FCM推送通知控制台,以发送一条消息,但没有任何反应:即使控制台说,该消息已“完成”未收到通知

试图用卷曲发送通知

curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" \
--Header "Content-Type: application/json" \
https://fcm.googleapis.com/fcm/send \
-d "{\"to\":\"<YOUR_DEVICE_ID_TOKEN>\",\"notification\":{\"body\":\"Yellow\"},\"priority\":10}"

我得到如下回应:

{"multicast_id":7144776975498650143,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1510221288971805%7fe9e2a37fe9e2a3"}]}

由于成功等于1我想这一切都是确定,但我仍然得到任何通知。

我用Google搜索这个问题的不可能性的原因,但似乎火力地堡信息库已经最近更改(POD说我使用的FirebaseMessaging 2.0.3版本),所以我不能找到一个妥善的解决办法。

Answer 1:

问题是我忘了在“功能”选项卡中添加的“背景模式”“远程通知”。 现在,预期所有的工作。



文章来源: Can't receive FCM Push Notifications for iOS