Я создаю приложение с Corona SDK, у которого есть серверная часть QuickBlox. У меня есть последняя техническая проблема: как заставить счетчик значков увеличиваться при каждом получении push-уведомления? Я использую REST API для отправки сообщений.
Счетчик значков push-уведомлений Quickblox iOS REST
Ответы (2)
Чтобы управлять счетчиком значков в Push-уведомлении, вы должны отправить Push-уведомление с правильным значением значка. Устройство iOS не увеличивает его автоматически каждый раз, когда вы получаете новое push-сообщение
Чтобы отправить push с устройства 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];
Вы получите push-сообщение со значением значка = 5.
Также вы можете отправлять push-уведомления из панели администратора и управлять значением значка https://www.evernote.com/shard/s216/sh/7e53a5e3-c24b-4ae9-b4c4-855dd4f41370/b404dcb788992fb1a8dabe1bf0fbcc0f
Отправка QBMPushMessageBadgeKey в качестве строкового параметра (по крайней мере, для iOS7) не будет обновлять значок значка, если приложение работает в фоновом режиме.
Вы должны отправить его как NSNUmber, и он будет работать очень хорошо, независимо от того, работает ли приложение в фоновом или переднем плане:
[aps setObject:@5 forKey:QBMPushMessageBadgeKey];