有时候FCM发送消息会有延迟或者设备根本收不到。如果FCM不可靠的话,那么请建议推送通知的替代方案。
FCM在以下设备上创建通知问题:
运行应用商店版本的iPhone 6 Plus可以接收通知
运行TestFlight版本的iPhone X无法接收通知
解决方案:
由于某种原因,iPhone X需要负载包含“notification:{“title”:“xxx”,“body”:“xxx”}”,这是没有意义的,因为iPhone 6和iPhone 6 Plus可以在没有添加该负载的情况下接收推送通知...现在的问题是,将“notification”添加到负载中会使iOS在接收到通知后立即在托盘上显示通知,这违背了我想要传递的“静默”通知的目的。
以下是以前的负载,在iPhone X上不起作用,但在iPhone 6和iPhone 6 Plus上起作用(FCM负责添加content-available标记):
{"message": {"token" : "eANw_OLOKXc:APA.....XsMg", "data" : {"content" : "2546|N|495....arg|BATTERY|||||"}}}
以下是适用于 iPhone X 并将后端优先级设置为高的代码。
{"message": {"token" : "eANw_OLOKXc:APA.....XsMg", "notification":{"title":"xxx","body":"xxx"},"data" : {"content" : "2546|N|495....arg|BATTERY|||||"}}}
"notification":{"title":"xxx"}
,否则我们将无法接收到推送通知(尽管我们并不想要任何通知)。你找到答案了吗? - Nils