Подтвердить что ты не робот

Увеличить значок Push Push iPhone

Можно ли увеличить значение значка при получении уведомления. ИЛИ Должен ли я отправлять счет как полезную нагрузку?

Если я каждый раз отправляю значение значка как "1", как я могу увеличить значение значка в значке приложения, если приложение не открыто.

Я использовал этот код, но не работает.

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    [UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1; 
}
4b9b3361

Ответ 1

Обычно во всех приложениях количество непрочитанных уведомлений поддерживается на сервере. Когда сервер отправляет push-уведомление на конкретный токен устройства, они отправляют счетчик значков вместе с полезной нагрузкой. Как только устройство будет уведомлено, а ваше приложение будет в фоновом режиме (или убито), ОС автоматически обновит счет значка до значка вашего приложения. Если у вас есть приложение, вы получите уведомление в

application:didReceiveRemoteNotification:

делегировать и, таким образом, вы можете получать счетчик значков из пользовательской информации (NSDictionary *). Таким образом, вы можете обновить значок значка значка приложения, используя функцию

[UIApplication sharedApplication].applicationIconBadgeNumber = [[[userInfo objectForKey:@"aps"] objectForKey: @"badgecount"] intValue];

Подумайте, это должно вам помочь.

Ответ 2

Если приложение не открыто, вы не сможете увеличить значок, за исключением полезной нагрузки.

Ответ 3

Когда появляется Push-сообщение, когда ваше приложение находится в фоновом режиме, и вы хотите увеличить номер значка, вы должны отправить badgeCount на сервер, чтобы сервер знал текущий счет.

Если вы управляете счетчиком значков на стороне сервера, то этого кода достаточно: -

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo  {
    NSLog(@"remote notification: %@",[userInfo description]);

    if (userInfo) {
        NSLog(@"%@",userInfo);

        if ([userInfo objectForKey:@"aps"]) { 
            if([[userInfo objectForKey:@"aps"] objectForKey:@"badgecount"]) {
                [UIApplication sharedApplication].applicationIconBadgeNumber = [[[userInfo objectForKey:@"aps"] objectForKey: @"badgecount"] intValue];
            }
        }
    }
}

Ответ 4

Городской дирижабль поддерживает этот, используя свою функцию автообнаружения.

Ответ 5

После получения удаленного уведомления при открытии приложения

получить текущий номер значка в методе "didBecomeActive" вашего файла Appdelegate, используя следующий код:

int badgeCount = [UIApplication sharedApplication].applicationIconBadgeNumber;
    badgeCount = badgeCount + 1;