Quickblox推送通知徽章计数器iOS REST

时间:2013-09-04 13:54:54

标签: increment badge quickblox

我正在使用带有QuickBlox后端的Corona SDK构建应用程序。我有一个最后的技术挑战 - 如何在每次收到推送通知时让徽章计数器递增?我正在使用REST API发送消息。

2 个答案:

答案 0 :(得分:1)

要在推送通知中管理徽章计数器,您应该使用正确的徽章值发送推送通知。每次收到新推送消息时,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

答案 1 :(得分:1)

如果应用程序在后台运行,则发送QBMPushMessageBadgeKey作为字符串参数(至少适用于iOS7)不会更新图标徽章。

您应该将其作为NSNUmber发送,并且它可以正常运行,无论是应用程序是在后台还是前台运行:

[aps setObject:@5 forKey:QBMPushMessageBadgeKey];