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

Автонастройка значка Push-Notification

Я использую push-приложение для своего приложения, и я думал о значке приложения. Мое приложение - почтовое приложение (sorta), и я хочу уведомить пользователя с помощью push для новых сообщений, добавленных во входящие, я хочу, чтобы значок = количество новых сообщений во входящих.

Я думал о том, чтобы сделать это на стороне сервера (провайдера), проверяя новые сообщения и отправляя номер в качестве значка.

Вопрос: Есть ли способ автоматически увеличивать значок приложения, не вычисляя значение значка на стороне сервера и затем отправляя его как часть полезной нагрузки push в APSN?

Возможно, есть способ отправить в поле значка JSON некоторую переменную типа "++" или что-то в этом роде. Любой взлом для этого? Или мне нужно идти с системой подсчета на стороне сервера?

4b9b3361

Ответ 1

Нет, вам придется отслеживать это на стороне сервера. Если вы не указали значение значка, оно будет полностью удалено.

Конечно, хотя это только в том случае, если пользователь получает уведомление и приложение не работает/они не хотят его запускать. Если пользователь запускает приложение или уже запускал его, вы можете делать все, что хотите, в отношении увеличения.

ОБНОВЛЕНИЕ Март 2014: См. комментарии для возможного обновления. Я не сделал толчков через несколько лет, так что не смог проверить это сам.

Ответ 2

Это возможно, но есть компромисс.

Вы всегда можете отправить непрочитанную сумму как добавочное значение JSON как часть полезной нагрузки push (push игнорирует ключи, которые явно не понимают). После того как пользователь откроет приложение, прочитайте это значение и программно настройте значок через свойство UIApplication applicationIconBadgeNumber.

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

Ответ 3

Вы можете попробовать использовать вспомогательные службы App42, которые обеспечивают автоматическое увеличение количества значков push, которое поддерживается на стороне сервера. Для получения дополнительной информации вы можете перейти по ссылке blog. Вот блог-блог:

Вот несколько вариантов использования, которые могут быть достигнуты посредством автоматического увеличения количества значков в уведомлении Push42 приложения.

Для автоматического увеличения значка push на 1 вам нужно отправить push-сообщение, как показано ниже.

PushNotificationService pushNotificationService = App42API.BuildPushNotificationService (); // Initializing PushNotification Service.
string userName = "UserName";
string message= "{'badge':'increment'}";
pushNotificationService.SendPushMessageToUser(userName,message, new UnityCallBack())

N.B: Образец объясняется для Unity/С#, но тот же процесс может применяться и к другим.

Если вы хотите указать номер для значка или хотите уменьшить количество значков до нуля, вы можете использовать этот метод для обновления счетчика, когда пользователь получает щелчок уведомления. В этом случае вам нужно вызвать updatePushBadgeforDevice или updatePushBadgeforUser.

PushNotificationService pushNotificationService = App42API.BuildPushNotificationService (); // Initializing PushNotification Service.
string userName = "UserName";
string deviceToken = "DeviceToken";
int badges = 10; // For clear count make it 0 
pushNotificationService.UpdatePushBadgeforDevice(userName, deviceToken, badges,  new UnityCallBack());

PushNotificationService pushNotificationService = App42API.BuildPushNotificationService (); // Initializing PushNotification Service.
string userName = "UserName";
int badges = 10; // For clear count make it 0
pushNotificationService.UpdatePushBadgeforUser(userName, badges,  new UnityCallBack());

updatePushBadgeforDevice - этот метод используется для обновления количества значков push определенного устройства, зарегистрированного пользователем.

updatePushBadgeforUser - этот метод используется для обновления количества значков push всех устройств, которые пользователь получает. В этом случае мы предполагаем, что у пользователя есть несколько устройств, зарегистрированных под его именем.

Ответ 4

Отправьте +1 на счет значка, который автоматически увеличит количество значков на 1.