首页 > 解决方案 > IOS13如何发送静默推送通知?自更新后不起作用(Xamarin.ios)

问题描述

我们的应用程序必须接收来自服务的静默通知才能正常工作。就像现在使用位置信息...等签入一样。它在 IOS13 之前完美运行。但是自更新以来它停止工作。手机会收到静音通知,但如果应用程序在后台,IOS 永远不会唤醒应用程序来处理它。我使用新的标题:

request.Headers.Add("apns-id", Guid.NewGuid().ToString("D"));
request.Headers.Add("apns-push-type", "background");
request.Headers.Add("apns-priority", "5"));
request.Headers.Add("apns-topic", {BundleId});

我的有效载荷之前工作过,但是我也尝试了 Apple 文档中的有效载荷,但仍然没有运气:

{“aps”:{“内容可用”:1},“acme1”:“bar”,“acme2”:42}

我在 Apple 论坛上发现了一些解决方法,例如发送空警报对象..等。我尝试了所有这些仍然没有运气。而这一切都在 IOS13 之前完美运行!

有没有人知道现在 IOS13 上的静默推送通知发生了什么以及如何实际发送一个?!

更新:也许是重要信息,我可以发送警报通知,所以 pushtoken..etc 必须没问题。此外,当手机连接到 Mac(不调试,仅通过 USB 连接)时,我会收到静音通知,并且应用程序会像以前一样被唤醒。

标签: xamarin.iosios13

解决方案


找到了解决方法!我发送了一条带有正确警报头的正常警报消息,但添加了 content-available:1,然后 IOS13 不显示通知,只点亮手机一秒钟,然后唤醒我的应用程序来处理消息!我必须发送不是静默消息格式(带有“背景”标头)!!!,而是正确的警报消息,就像普通的推送通知一样,但包含内容可用!


推荐阅读