应用程序图标问题上的远程通知徽章

时间:2012-07-12 12:36:44

标签: objective-c ios push-notification

Guyz请帮助我了解徽章计数管理。我已经阅读了苹果指南,但并不完全明白谁负责管理,依靠图标? 如果我的应用程序不是前景我正在收到警报(并且图标上显示“1”)如果我点击查看我的应用程序正在启动并且我减少了badgeCount:

[UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber - 1;

这对于一个单一的通知是可以的。但是我应该在哪里增加我的徽章数?例如,如果我收到2或3个通知,我在应用程序图标上仍然有“1”。或者iOS应该增加这个数量吗?

编辑: 我已经发现服务器应该发送正确的号码,例如:

{
"aps" : {
    "badge" : 9
}

}

但服务器如何知道正确的数字,例如我已经“读取”了几个新闻和当前数字不是“9”而是“7”?我需要将该信息传递给服务器吗? 请解释一下这是如何工作的!提前谢谢!

2 个答案:

答案 0 :(得分:2)

当您的应用处于后台(暂停)或根本没有运行时,iOS会处理应用图标上的徽章,并将其设置为通知有效负载中的号码。 iOS不会对通知进行任何计数。

当应用程序运行时,它负责徽章更新。在你的情况下,我认为它应该像邮件应用程序一样工作,所以应该告诉服务器用户已经阅读了一些东西,所以服务器知道有多少新闻尚未被读取,所以服务器然后可以发送适当的徽章号码一旦应用程序在后台再次有新消息。

Scheduling, Registering, and Handling Notifications

答案 1 :(得分:1)

本主题已在SO上多次讨论,请看下面的链接,应该给出实现此功能的想法和限制:

iPhone: Increment badge counter automatically

Push-Notification Badge auto increment