从Firebase控制台发送静默推送通知

12

为了证明我已经开发了一段时间的一个概念,我的应用需要接收静默通知。我使用Firebase云消息传递,因为对于开发人员来说,它比本地APNs拥有更少的开销。

我知道如果你在自己的后端构建有效负载,则FCM支持静默通知,这当然是我的意图。但是,我想通过FCM控制台证明我能够做我想做的事情,因此在花费时间编写后端之前,我希望确保这一点。

我已经成功从这里发送了标准通知,但没有静默通知。即使我包含"content-available"标志,我仍然会收到提醒。我认为这是由于FCM始终在JSON中包含"alert"参数所致。是否有一种方法可以在测试控制台中禁用它?

非常感谢,


目前FCM不支持静默推送通知。 - Hasya
2个回答

8

无法从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

1
实际上,您可以使用将“content_available”设置为true来发送静默通知。 - Andres C
我一直犯同样的错误很长一段时间了,而且我并不知道这一点。即使我联系了 FCM 支持,他们也无法准确地告诉我如何通过它们的信息控制台发送静默通知。感谢你让这清楚了。我第一次使用远程通知功能,我实现了 FCM。现在该如何检查我的应用程序是否可以在后台接收静默通知?如何发送静默通知?通过哪种方法?请指导我。 - Moxarth

8
你实际上可以从FCN发送静默通知。请在此处查看。
注意,在iOS上,当应用服务器需要发送“发送到同步”消息时,请设置content_available。非活动的客户端应用程序会在后台执行您的逻辑,而前台的应用程序会将消息传递给didReceiveRemoteNotification:
请注意,您需要使用的关键字是带有下划线的content_available,而不是带有连字符的content-available

10
好的,但仍需要使用外部REST客户端。问题是关于如何在FCM Web控制台中这样做。 - Jacob King
1
该链接 https://firebase.google.com/docs/cloud-messaging/concept-options 中没有包含 silentcontent_available - CoolMind
这节�了我好几天的时间,谢谢。我花了几个�时分�了几天。🙂 - user859375

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接