Значок автоматического увеличения push-уведомлений в iOS6

Я получаю Push-уведомление от Сервера. Сервер всегда отправляет значок =1 в полезной нагрузке.

Разработчик серверной части ничего об этом не знает. Кто-нибудь может сказать мне, как разработчик на стороне сервера может обрабатывать значения счетчиков значков, чтобы приложение iOS получало обновленный счетчик значков (автоматически увеличиваемый счетчик значков)?

  1. Могу ли я автоматически увеличить его на стороне приложения iOS? Если так, то как?

  2. Если нет, то как разработчик сервера может обрабатывать счетчик значков на сервере? Я видел несколько ссылок, которые говорят мне, что серверная сторона должна обрабатывать количество значков.

Любой образец или ссылка будут полезны.

2 ответа

Решение

Счетчик бейджей - это один из параметров, который может быть отправлен с сервера в полезную нагрузку Apple Push Notification. Счетчик значков обычно отражает количество новых данных (например, непрочитанных электронных писем), о которых сервер знает и хочет предупредить об этом пользователя приложения. Поэтому это должно быть сделано на стороне сервера. Код, который в настоящее время всегда отправляет 1 в счетчике значков, должен быть изменен, чтобы выбрать правильный счет.

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

Я думаю, что вы не можете сделать это на стороне приложения iOS. Это должно прийти с сервера.

Что я делаю:

  • Сервер хранит номер значка приложения в БД для каждого пользователя.
  • когда сервер отправляет уведомление, он увеличивает это число на 1.
  • вам также нужно создать веб-сервис для сброса номера значка, на который вы будете звонить при запуске приложения.

С помощью этой строки вы можете изменить номер значка в приложении (например, в applicationDidBecomeActive):

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    application.applicationIconBadgeNumber = 0;
}

Надеюсь, это поможет.

Другие вопросы по тегам