У нас есть просьба показывать пустой значок на значке нашего приложения iOS при получении push-уведомления.
Насколько я понимаю, установка счетчика значков на -1 покажет пустой значок (однако эта информация взята из других сообщений ; я не смог найти ее в официальной документации).
Мы уже используем SDK с встроенным расширением службы уведомлений. Что мы попробовали:
didReceiveNotificationRequest (прежде чем он будет отправлен в службу уведомлений SDK... или мы так думаем?). Скопируйте content из объекта запроса, обновите значение значка, создайте новый объект запроса с исходным идентификатором объекта, триггером и новым содержимым и отправьте его в службу уведомлений.
Это приводит к сбою службы уведомлений, в результате чего расширенное push-уведомление доставляется как стандартное push-уведомление без изображения.@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
self.baseExtension = [[ITBNotificationServiceExtension alloc] init];
UNMutableNotificationContent *requestWithBadgeCount = request.mutableCopy;
NSNumber *emptyBadgeCount = [NSNumber numberWithInt:-1];
requestWithBadgeCount.badge = emptyBadgeCount;
UNNotificationRequest *updatedRequest = [UNNotificationRequest requestWithIdentifier:request.identifier content:requestWithBadgeCount trigger:request.trigger];
[self.baseExtension didReceiveNotificationRequest:updatedRequest withContentHandler:contentHandler];
}
- (void)serviceExtensionTimeWillExpire {
[self.baseExtension serviceExtensionTimeWillExpire];
}
@end
bestAttempCount.badge. Это не повлияло, но и не привело к сбою в работе сервиса.UNUserNotificationCenter.current().setBadgeCount() (завернуто в защиту для iOS 16+). Это работает, но только с положительным целым числом. Установка -1 не дала никакого эффекта.Мы лаем не на то дерево?





В iOS не существует понятия «пустой значок».
Однако установка значения значка на 0 гарантирует, что значок не будет отображаться.
{
"aps": {
"alert": {
"title": "Notification Title",
"body": "Notification Body"
},
"badge": 0
}
}
Спасибо! Знаешь, было ли это раньше? Я пытаюсь отследить, когда была прекращена поддержка -1.
AFAIK приложения могут быть отмечены только номером. У вас не может быть пустого значка