我已经为我的iPhone应用程序实现了推送通知。每当我收到消息时,我想将徽章值增加一,所以我不需要在推送通知有效负载中传递它。有可能吗?
从here我了解到我必须从服务器端管理它,这是唯一的方法吗?我必须将以前的值存储在数据库中,并在发送下一条消息时获取最后一个值? Apple是否会自动支持此功能,例如每当收到推送通知时递增application.applicationIconBadgeNumber。
从服务器端管理徽章编号的问题是,如果用户已经看过上一个推送通知消息,您将发送错误的徽章编号!
答案 0 :(得分:8)
这不是一个真正的问题。客户端只需要让服务器知道它看到了什么消息。其他人都在这样做,所以只要学会如何去做就行。
编辑:您可以使用以下方式设置徽章计数器:
[UIApplication sharedApplication].applicationIconBadgeNumber = badgeCount;
每次执行此操作时,都应将badgeCount
发送到服务器,以便服务器知道当前的计数。