推送通知徽章自动增量

nat*_*vra 25 iphone objective-c push-notification iphone-sdk-3.0

我一直在为我的应用程序实现推送服务,我一直在考虑应用程序的徽章.我的应用程序是一个邮件应用程序(sorta),我想通过推送通知用户添加到收件箱的新邮件,我想要徽章=收件箱中的新邮件数量.

我想到服务器端(提供商)检查新消息并将号码作为徽章发送.

问题是:有没有办法自动增加应用程序的徽章,而不必计算服务器侧的徽章值,然后将其作为推送有效负载的一部分发送到APSN?

也许有一种方法可以在JSON徽章字段中发送一些变量,如"++"或类似的东西.任何黑客攻击?或者我需要与计数系统服务器一起使用?

bpa*_*apa 29

不,你必须在服务器端跟踪这个.如果您没有包含徽章的任何值,它将被完全删除.

当然,虽然这只是在用户收到通知并且应用程序未运行/他们选择不启动它时.如果用户启动应用程序或已经运行它,您可以执行任何有关递增的操作.

更新2014年3月:查看评论以获取可能的更新.几年后我没有做过推,所以一直无法自己验证.

  • 如果徽章未包含在有效内容中,则不会从应用图标中删除徽章.它只是不碰它.要删除徽章,必须将其设置为零. (9认同)
  • @MSK如何在客户端上维护徽章编号来解决此问题?无论如何,你可以做`[UIApplication sharedApplication] .applicationIconBadgeNumber`如果你想获得徽章编号,不需要在`NSUserDefaults`中缓存它. (2认同)