Изменение значка приложения при получении уведомления
В моем приложении я зарегистрировался для удаленного уведомления. когда пользователь публикует некоторый контент, каждый пользователь получает уведомление. Я пытаюсь подсчитать количество приходящих уведомлений и обновить номер значка значка.
Например, если пользователь получает 3 уведомления, номер значка должен быть равен 3, а когда пользователь открывает приложение, номер значка возвращается к 0. Но я не знаю, какой способ установить значок. Я попробовал это:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
application.applicationIconBadgeNumber = 2;
// Handle Socialize notification at foreground
[self handleNotification:userInfo];
}
Проблема в том, что значок устанавливает номер 2, когда я фактически открываю приложение (выводю его на передний план), если я получаю уведомления, а не когда я получаю уведомление. Как я могу решить это? Спасибо за любую помощь.
РЕДАКТИРОВАТЬ:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[UIApplication sharedApplication].applicationIconBadgeNumber = [[[userInfo objectForKey:@"aps"] objectForKey: @"1"] intValue];
// Handle Socialize notification at foreground
[self handleNotification:userInfo];
}
1 ответ
Вам необходимо определить количество значков на вашем сервере, прежде чем отправлять уведомление. Когда приложение получило уведомление, уже слишком поздно определять правильный номер, так как номер из уведомления немедленно перезаписывает номер, установленный приложением.