Значок автоматического увеличения push-уведомлений в iOS6
Я получаю Push-уведомление от Сервера. Сервер всегда отправляет значок =1 в полезной нагрузке.
Разработчик серверной части ничего об этом не знает. Кто-нибудь может сказать мне, как разработчик на стороне сервера может обрабатывать значения счетчиков значков, чтобы приложение iOS получало обновленный счетчик значков (автоматически увеличиваемый счетчик значков)?
Могу ли я автоматически увеличить его на стороне приложения iOS? Если так, то как?
Если нет, то как разработчик сервера может обрабатывать счетчик значков на сервере? Я видел несколько ссылок, которые говорят мне, что серверная сторона должна обрабатывать количество значков.
Любой образец или ссылка будут полезны.
2 ответа
Счетчик бейджей - это один из параметров, который может быть отправлен с сервера в полезную нагрузку Apple Push Notification. Счетчик значков обычно отражает количество новых данных (например, непрочитанных электронных писем), о которых сервер знает и хочет предупредить об этом пользователя приложения. Поэтому это должно быть сделано на стороне сервера. Код, который в настоящее время всегда отправляет 1 в счетчике значков, должен быть изменен, чтобы выбрать правильный счет.
Вы можете сделать это в клиенте (увеличивать его на единицу каждый раз, когда приходит push-уведомление), но это не будет хорошей идеей, потому что push-уведомления не гарантируются. Кроме того, это будет возможно только в том случае, если уведомление содержит номер предупреждения в дополнение к номеру значка, и пользователь нажимает на уведомление, чтобы открыть приложение (в противном случае ваше приложение не получит данные уведомления, если оно еще не запущено).,
Я думаю, что вы не можете сделать это на стороне приложения iOS. Это должно прийти с сервера.
Что я делаю:
- Сервер хранит номер значка приложения в БД для каждого пользователя.
- когда сервер отправляет уведомление, он увеличивает это число на 1.
- вам также нужно создать веб-сервис для сброса номера значка, на который вы будете звонить при запуске приложения.
С помощью этой строки вы можете изменить номер значка в приложении (например, в applicationDidBecomeActive):
- (void)applicationDidBecomeActive:(UIApplication *)application
{
application.applicationIconBadgeNumber = 0;
}
Надеюсь, это поможет.