gpt4 book ai didi

ios - 通过 Firebase 推送通知不会出现在后台应用程序的 iOS 上

转载 作者:行者123 更新时间:2023-11-29 05:14:09 28 4
gpt4 key购买 nike

我们正在为 AndroidiOS 开发一款具有推送通知Ionic 应用。我们通过 Firebase Cloud Messaging

发送这些通知

iOS 上,我们遇到此问题(我们已接受应用程序的通知权限):

  • 当应用处于前台时,我们会立即收到通知(我们在应用内收到通知,而不是通过卡片)。
  • 当应用关闭或在后台时,我们似乎没有收到通知。无论我们打开或恢复应用程序,我们都会收到通知,因为它是在前台中通过应用程序收到的。我们的假设是我们正在收到无声通知
  • (当我们发送 Firebase 测试通知时,我们会得到相同的行为)。

我们有以下配置:

  • Xcode: Capabilities -> Background Modes -> Remote Notifications (shows one check)
  • Xcode: Capabilities -> Push Notifications (shows two checks)
  • Apple Developer: Identifiers -> my app -> Push Notifications (with certificates for both dev and prod)
  • Apple Developer: Keys -> .p8 key with "Apple Push Notifications service (APNs)"
  • Firebase: my app -> Configuration -> Cloud Messaging (.p8 file uploaded with key and team IDs)

这是我们尝试通过 Firebase POST API 发送的多个通知之一,它结合了我们在研究此问题时阅读的几乎所有内容。 (我们还发送所需的 Firebase HTTP header )

{
"to": "<firebase_token>",
"notification": {
"body": "NOTIFICATION BODY",
"title": "NOTIFICATION TITLE",
},
"apns": {
"headers": {
"apns-push-type": "alert",
"apns-expiration": 0,
"apns-priority": 5,
"apns-topic": "<my_app>"
},
"payload": {
"alert": {
"title": "NOTIFICATION TITLE",
"body": "NOTIFICATION BODY"
},
"aps": {
"content-available": 1,
"alert": {
"title": "NOTIFICATION TITLE",
"body": "NOTIFICATION BODY"
}
},
"sound": "default",
"content-available": 1
}
},
"data": {
"field": "1",
"type": "CHAR"
}
}

尽管此 POST 请求对于后台通知可能不正确,但我们相信这不会成为问题,因为 Firebase 测试通知在后台时也无法显示。

最佳答案

我们终于能够在后台和前台使用应用程序获取通知。

Firebase 的负载为:

{
"to": "<firebase token>",
"notification": {
"title": "TITLE",
"body": "BODY"
},
"data": {
"title": "TITLE",
"body": "BODY",
"extraField1": "extra value 1",
"extraField2": "extra value 2"
},
"apns": {
"headers": {
"apns-topic": "<my-app>",
"apns-push-type": "background",
"apns-priority": 10
}
}
}

更新到 iOS 13 后,.p12 证书似乎存在问题,我们使用 .p8 证书解决了该问题。在 Firebase 中更改证书后,后台通知开始收到,但前台在最初几个小时内停止了。

关于ios - 通过 Firebase 推送通知不会出现在后台应用程序的 iOS 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59355336/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com