【问题标题】:How to send silent push notification IOS13? Doesn't work since update (Xamarin.ios)IOS13如何发送静默推送通知?自更新后不起作用(Xamarin.ios)
【发布时间】:2020-03-28 02:21:18
【问题描述】:

我们的应用必须接收来自服务的静默通知才能正常工作。就像现在使用位置信息...等签入一样。 它在 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”:“酒吧”, “acme2”:42 }

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

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

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

【问题讨论】:

  • 从 iOS 13 开始,发送给 iOS 推送令牌委托的 deviceToken 数据的 description 属性更改为不同的格式。许多现有的应用程序和软件库使用此属性通过访问 deviceToken NSData 实例上的描述变量来获取推送令牌,然后从中修剪某些字符以获取设备推送令牌。检查onesignal.com/blog/…
  • 嗨 Lucas,这已经在应用程序中修复了。设备令牌必须没问题,因为我可以发送警报通知,但不能发送静音通知。

标签: xamarin.ios ios13


【解决方案1】:

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

【讨论】:

  • 别忘了采纳你的答案,这将帮助更多的人。
  • @fra 你能详细解释一下这个解决方法吗?我也面临同样的问题。
  • @Peeyushkarnwal 他们从那以后修复了它。我只是发送这样的消息: {"msgID":"212","cmd":"ForceCheckIn(Service)","aps":{"content-available":1}} 标题现在说: {[apns -push-type, background]} 它适用于 IOS 13.5
  • @fra 好的。好吧,我在 iOS 13.4 上进行测试,但它现在无法正常工作。它固定在13.5上吗?我们在 BE btw 使用 Node APN 最新版本。就像,早些时候我也意识到以前的版本不支持 pns-push-type
  • 它对我有用,但是我不使用任何插件等,因为我找不到任何真正有效的插件。我最终编写了自己的服务来与 .net 核心中的 APNS 进行通信。从 IOS 13.4 开始,它可以正常工作。您可以尝试原始的解决方法。您将 pns-push-type 设置为“alert”,但使用 content-available=1 发送 pn
猜你喜欢
  • 1970-01-01
  • 2018-02-17
  • 2014-01-14
  • 1970-01-01
  • 2015-01-14
  • 2015-08-25
  • 2013-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多