我正在使用 FirebaseAdmin.Messaging 进行 VB.net 推送通知传递集成。
一切正常,我们可以发送Android静默通知和普通通知,我们也可以发送APNs通知,但我们无法发送然后接收APNs静默通知。我尝试了在多个线程上看到的几种组合,但没有一个起作用。发送通知时没有错误或问题,我们可以在发送后成功获取通知令牌,但在移动调试端,有效负载无法到达。
移动集成团队表示,当调用以下请求时,他们可以获得静默通知,但此请求结构与 FirebaseAdmin.Messaging 请求结构不同。
工作要求:
{
"to":"device_token",
"priority": "high",
"content_available": true,
"data": {
"id":1
}
}
请求失败:
{
"token":"device_token",
"condition":null,
"data":null,
"notification":null,
"android":null,
"webpush":null,
"apns":{
"headers":{
"apns-priority":"5",
"priority":"high",
"content-available":"1",
"content_available":"1",
"apns-push-type'":"background"
},
"fcm_options":null,
"payload":{
"aps":{
"badge":null,
"category":null,
"thread-id":null,
"alert":null,
"sound":null,
"content-available":1,
"mutable-content":1
},
"id":"test_value"
}
},
"fcm_options":null,
"topic":null
}
失败的请求是 FirebaseAdmin.Messaging.Message 类的实例。我尝试了很多组合,但没有一个有效,而且我找不到关于此事的任何像样的文档。
如有任何帮助,我们将不胜感激。
问候
与 FCM 支持人员联系后,我们无法找出确切的问题。
我们找到了一种解决方法,将 Badge 参数设置为 0,将声音设置为空,并且仅包含 APNs 数据负载。这不被视为无声通知,但客户不会在他/她的手机中看到通知,因此最终会发生同样的事情。