• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iOS 警报行为与相同的 APNS 消息不一致

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:50:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

这里是服务器端的人。

我将完全相同的 APNS 有效负载发送到同一台设备,但我看到了不同的结果:

  1. 手机亮起,显示提醒
  2. 手机亮了,没有提示

据我所知,这是随机的。有时手机会显示警报,有时不会。但在所有情况下,APNS 消息都是相同的。

这两种情况都会随机发生。尽管我很努力,但我无法重现模式。

APNS 有效负载在两种情况下看起来都一样:

{
  "aps": {
    "alert": "Blah Blah Blah something useful happened",
    "badge": 0
  }
}

我想弄清楚的是,问题出在哪里?这是 iOS 客户端问题还是服务器端问题?

到目前为止,我已经能够通过以下推送服务重现该问题:

  • 亚马逊社交网络
  • Urban Airship
  • 解析
  • PushSharp

iOS 是否会处理我不知道的通知?这是 APNS 问题吗?有效载荷包搞砸了吗?还是应用问题?



Best Answer-推荐答案


好的,我找到了答案。

如果目标设备的标记计数大于 0,并且发送标记计数为 0 的通知,iOS 将清除应用程序的所有通知。这会导致屏幕上快速闪烁而没有显示通知。

要重现,请将其发送到设备以增加角标(Badge)计数:

{
  "aps": {
    "alert": "this notif will show up",
    "badge": 2
  }
}

然后,发送这个payload,notif就不会出现了:

{
  "aps": {
    "alert": "this notif will not show up",
    "badge": 0
  }
}

Apple 在其关于角标(Badge)的文档中有一条简短的语句,“要移除角标(Badge),请将此属性的值设置为 0。”这不仅仅删除了标记,还阻止了发送通知的显示,并清除了之前可能仍未读取的任何通知。

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1

关于iOS 警报行为与相同的 APNS 消息不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092380/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap