我从服务器获取推送通知。服务器始终在有效负载中发送badge = 1。
服务器端开发人员对此一无所知。任何人都可以告诉我服务器端开发人员如何处理徽章计数值,以便iOS应用程序获得更新的徽章计数(自动增加徽章数)?
我可以在iOS应用端自动递增吗?如果是这样,怎么样?
如果不是,那么服务器开发人员如何处理服务器上的徽章计数?我看到几个链接告诉我服务器端应该处理徽章计数。
任何样本或参考都会有所帮助。
答案 0 :(得分:6)
我认为你不能在iOS应用程序方面做到这一点。它必须来自服务器。
我的所作所为:
您可以使用该行更改应用中的徽章编号(例如,在applicationDidBecomeActive中):
- (void)applicationDidBecomeActive:(UIApplication *)application
{
application.applicationIconBadgeNumber = 0;
}
希望得到这个帮助。
答案 1 :(得分:4)
徽章计数是可以从服务器的Apple推送通知有效负载中发送的参数之一。徽章计数通常反映服务器知道的某些新数据(例如未读电子邮件)的数量,并且想要向应用程序用户发出警告。 因此,它应该在服务器端完成。应更改当前始终在徽章计数中发送1的代码以选择正确的计数。
您可以在客户端中执行此操作(每当推送通知到达时将其递增一次),但这不是一个好主意,因为推送通知无法保证到达。此外,只有通知除了徽章编号之外还包含警报,并且用户点击通知以打开应用程序(否则,如果通知数据尚未运行,您的应用程序将无法获取通知数据)