【发布时间】:2013-09-04 13:54:54
【问题描述】:
我正在使用具有 QuickBlox 后端的 Corona SDK 构建应用程序。我有一个最后的技术挑战 - 每次收到推送通知时,如何让徽章计数器增加?我正在使用 REST API 发送消息。
【问题讨论】:
我正在使用具有 QuickBlox 后端的 Corona SDK 构建应用程序。我有一个最后的技术挑战 - 每次收到推送通知时,如何让徽章计数器增加?我正在使用 REST API 发送消息。
【问题讨论】:
要在推送通知中管理徽章计数器,您应该发送带有适当徽章值的推送通知。每次收到新推送消息时,iOS 设备都不会自动增加它
要从带有特定徽章计数器的 iOS 设备发送推送,您应该使用以下代码:
NSMutableDictionary *payload = [NSMutableDictionary dictionary];
NSMutableDictionary *aps = [NSMutableDictionary dictionary];
[aps setObject:@"default" forKey:QBMPushMessageSoundKey];
[aps setObject:@"This is Push Notification, baby!" forKey:QBMPushMessageAlertKey];
[aps setObject:@"5" forKey:QBMPushMessageBadgeKey];
[payload setObject:aps forKey:QBMPushMessageApsKey];
QBMPushMessage *message = [[QBMPushMessage alloc] initWithPayload:payload];
// Send push
[QBMessages TSendPush:message toUsers:@"218650" delegate:self];
您将收到徽章值 = 5 的推送消息
您还可以从管理面板发送推送并管理徽章值 https://www.evernote.com/shard/s216/sh/7e53a5e3-c24b-4ae9-b4c4-855dd4f41370/b404dcb788992fb1a8dabe1bf0fbcc0f
【讨论】:
如果应用在后台运行,将 QBMPushMessageBadgeKey 作为字符串参数(至少对于 iOS7)发送不会更新图标徽章。
您应该将它作为 NSNUmber 发送,它会很好地工作,无论应用程序在后台运行还是在前台运行:
[aps setObject:@5 forKey:QBMPushMessageBadgeKey];
【讨论】: