无法接收iOS的FCM推送通知

时间:2017-11-09 11:00:02

标签: ios firebase apple-push-notifications firebase-cloud-messaging

我正在尝试使用Firebase云消息传递(FCM)SDK向iOS设备发送推送通知。我创建了一个非常简单的应用程序,它有一个空的ViewController和一个由quick start iOS project中提供的AppDelegate复制。

我按照guide

中提供的所有说明操作

使用pod安装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的“功能”标签中添加了推送通知
  • Apple开发人员门户网站上生成的APNs身份验证密钥和APPID(APPID由Xcode自动生成)
  • 在Firebase开发者控制台中为我的应用程序创建了一个新项目,下载并复制项目根目录中的GoogleService-Info.plist文件
  • 在Firebase开发人员控制台中上载了APNs身份验证密钥
  • 已安装应用并将其置于后台(当应用处于前台时不会显示通知)

应用程序启动时,它会正确返回FCM令牌。然后我在FCM推送通知控制台中使用此令牌以发送消息但没有任何反应:即使控制台说消息已“完成”,也不会收到通知 enter image description here

尝试使用curl发送通知

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,我猜一切都还可以,但我仍然没有得到通知。

我搜索了问题的可能原因,但似乎Firebase消息库最近已经更改(pod说我正在使用FirebaseMessaging 2.0.3版本),所以我找不到合适的解决方案。

1 个答案:

答案 0 :(得分:0)

问题是我忘了添加&#34;远程通知&#34;在&#34;背景模式&#34;在&#34;功能&#34;标签。现在它按预期工作了。