iPhone:自动增加徽章计数器[重复]

Posted

技术标签:

【中文标题】iPhone:自动增加徽章计数器[重复]【英文标题】:iPhone: Increment badge counter automatically [duplicate] 【发布时间】:2011-06-02 08:23:48 【问题描述】:

可能重复:Push-Notification Badge auto increment.

我已经为我的 iPhone 应用程序实现了推送通知。每当我收到消息时,我想将徽章值增加一,因此我不需要在推送通知有效负载中传递它。有可能吗?

从here 我了解到我必须从服务器端管理它,所以这是唯一的方法吗?我必须将以前的值存储在数据库中并在发送下一条消息时获取最后一个值? Apple 不是自动支持这一点吗,就像在收到推送通知时增加 application.applicationIconBadgeNumber 一样。

从服务器端管理徽章编号的问题是,如果用户已经看到之前的推送通知消息,您将发送错误的徽章编号!

【问题讨论】:

这个问题与您链接的问题有何不同? (Push-Notification Badge auto increment.) 嗨,斯蒂芬,这个问题是在 2009 年提出的,所以我认为苹果必须支持其他东西来处理推送通知徽章计数器。我无法理解如何在无法控制后台运行的应用程序的情况下增加计数器?我绝对不能只从服务器做事。客户端上也必须有一些我没有得到并试图学习的东西。 问题和答案可以更新,维基风格,因此无需重新提问。尤其是当答案仍然相关时。 好的,斯蒂芬。我会小心前进的。谢谢。 【参考方案1】:

这不是一个真正的问题。客户端只需要让服务器知道它看到了什么消息。其他人都在这样做,所以只要学习如何去做,然后去做。

编辑:您可以使用以下方法设置徽章计数器:

[UIApplication sharedApplication].applicationIconBadgeNumber = badgeCount;

每次你都应该向服务器发送badgeCount,以便服务器知道当前的计数。

【讨论】:

我相信这不应该是一个问题,但我是新手,正在努力学习,所以如果你能提供你的想法或任何对我真正有帮助的文档。另请参阅我对斯蒂芬评论的回复。谢谢。 @AppleDeveloper 更新了我的答案以提供有关如何在本地设置徽章计数的信息。我对您的服务器了解不多,无法详细说明如何将徽章计数发送到您的服务器。 ...这是否意味着我可能需要将不同的徽章计数器发送到不同的设备? @AppleDeveloper 你的意思是你所有的用户都有相同的徽章数量吗?我的意思是我想查看自己的徽章数量,而不是其他人的。 我不喜欢这种实现方式。这应该会自动发生,iPhone OS 应该照顾到这一点。为什么需要将计数器与数据库同步?我没有看到任何优点。我可能会遗漏一些明显的东西......!!

以上是关于iPhone:自动增加徽章计数器[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何增加推送通知徽章 iPhone

应用程序处于终止状态时增加或减少应用程序徽章[重复]

ios:此有效负载格式中的推送通知徽章计数未增加

iOS6 中的自动增量推送通知徽章

更新推送通知徽章计数

如何从通知服务扩展访问应用程序的徽章计数