推送通知更改AppIcon的徽章

时间:2015-07-29 08:22:01

标签: ios objective-c push-notification uiapplication

我正在开发一款可以接收Push-Notifications的应用。 收到通知后,我需要更改图标徽章的编号并增加它。 这些通知存储在我的应用中的UITableView中。 当按下一行时,这意味着已经读取了通知,所以我想减少徽章。 我是新手推送通知和徽章,我真的找不到任何有效的方法来做到这一点

任何解决方案?

谢谢。

1 个答案:

答案 0 :(得分:9)

您无法自动从通知中增加徽章。您的通知有效内容必须包含badge属性,该属性将设置为徽章所需的准确值
要在应用内设置徽章值,您可以使用:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:someInteger];

如果您希望每次收到通知时将徽章增加1,则需要跟踪用户的徽章服务器端。
例如,如果向用户发送3个通知,则数据库中将为此用户添加badge列,其中3为值。如果用户打开其应用并点按其中一个通知,则您的应用必须将徽章图标设置为2并向服务器发送请求以将数据库值降低为2.

TL; DR:通知的有效负载中没有badge:+1badge:autoincrement这样的内容。您必须跟踪徽章的值服务器端。