#iphone #cocoa-touch #push-notification
#iPhone #cocoa-touch #push-уведомление
Вопрос:
Я использую Urban Airship для отправки push-уведомлений в свое приложение
например:
{"aps": {"badge": 2, "alert": "Part 2 of the August Issue is ready to download!", "sound": "default"}, "device_tokens": ["X"]}
Оповещение будет отображаться отлично, однако значок приложения никогда не отображается, независимо от того, что я установил для «значка»: #…
Моя полезная нагрузка неверна или есть дополнительный код, который я должен добавить в свое приложение для обработки значков и оповещений? Спасибо!
РЕДАКТИРОВАТЬ: я регистрируюсь для получения push-уведомлений следующим образом:
// Register for notifications
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeNewsstandContentAvailability | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)];
Ответ №1:
Я столкнулся с аналогичной проблемой. После нескольких минут проверки. Я заметил, что возникла проблема с моим кодом на стороне сервера. Я обнаружил, что значение значка должно быть неявно задано как целое число, чтобы получить желаемый результат. Надеюсь, это поможет любому, кто читает это.
Комментарии:
1. Я предполагаю, что это означает, что оно должно быть передано как 4 вместо «4».
2. Потрясающая находка! Спасибо.
3. @Joqn Да, это правильно. Это должно быть передано как 4, а не «4».
Ответ №2:
установите следующий код в файле appdelegate .m..
-(void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
NSLog(@"Received notification: %@", userInfo);
//[self addMessageFromRemoteNotification:userInfo];
NSString* alertValue = [[userInfo valueForKey:@"aps"] valueForKey:@"badge"];
NSLog(@"my message-- %@",alertValue);
int badgeValue= [alertValue intValue];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeValue];
}
Ответ №3:
В iOS 5 есть Настройки -> Уведомления. Дважды проверьте, включен ли значок приложения для значков.
Я предполагаю, что приложение не было на переднем плане, когда вы тестировали? Если он находится на переднем плане, тогда вам придется обрабатывать значки вручную.
Комментарии:
1. Значки включены в настройках моего приложения, также значки не отображаются независимо от переднего плана, фона или нового запуска…