【问题标题】:Send silent push notification from Firebase console从 Firebase 控制台发送静默推送通知
【发布时间】:2017-08-24 10:46:13
【问题描述】:

试图证明我已经研究了一段时间的概念,其中涉及我的应用接收静默通知。我正在使用 Firebase 云消息传递,因为它比开发人员的原生 APN 开销更少。

我知道当您在自己的后端自己构建有效负载时,FCM 支持静默通知,这当然是我的意图。但是,我想确保我可以用这个通知做我想做的事情,因此我想在我花时间编写后端之前使用 FCM 控制台来证明它。

我已经设法从这里发送标准通知,但不是静默通知。即使我包含content-available 标志,我仍然会收到警报。我认为这是由于 FCM 总是在 JSON 中包含 alert 参数。有没有办法在测试控制台中禁用它?

非常感谢,

【问题讨论】:

  • FCM 目前不支持静默推送通知。

标签: ios swift firebase firebase-cloud-messaging firebase-console


【解决方案1】:

您实际上可以从 FCN 发送静默通知。检查here

注意:在 iOS 上,当应用服务器需要发送 send-to-sync 消息时设置 content_available。非活动客户端应用在后台执行您的逻辑,而前台应用将消息传递给 didReceiveRemoteNotification:。

请注意,您必须使用的密钥是content_available,带有下划线;与带有连字符的content-available 不同。

【讨论】:

  • 是的,但它仍然需要外部 REST 客户端。问题是关于使用 FCM Web 控制台执行此操作。
  • 链接firebase.google.com/docs/cloud-messaging/concept-options 既不包含silent,也不包含content_available
  • 这为我节省了很多时间,谢谢。我花了几个小时分成几天面对?‍♂️
【解决方案2】:

无法从 Firebase 控制台发送不同于标准类型的通知。

一个非常方便的方法是使用Postman 或 curl 设置授权标头。

curl -H "Content-type: application/json" -H "Authorization:key=<YOUR-API-KEY>"  -X POST -d '{ "data": { "foo": "1","bar": "2"},"to" : "<YOUR-DEVICE-TOKEN>"}' https://fcm.googleapis.com/fcm/send

【讨论】:

  • 您实际上可以使用“content_available”设置为 true 发送静默通知。
  • 很久以来我一直在犯同样的错误。我没有意识到这一点。即使我已经联系了 FCM 支持,但即使他们也无法正确告诉我如何通过他们的消息控制台发送静默通知。谢谢你说清楚。我第一次使用远程通知功能,我实现了 FCM。现在如何检查我的应用程序是否可以在后台获得静默通知?如何发送静音通知?通过什么方法?请指导我完成这个。
猜你喜欢
  • 2018-02-17
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
相关资源
最近更新 更多