Как обновить тело повторного локального уведомления в iOs 10?

Я создал локальное уведомление с помощью Swift 3. Проблема в том, что я хочу изменить тело локального уведомления.

Например:
- Есть 15 оставленных вопросов.
20 минут спустя:
- Есть 10 оставленных вопросов.

Кто-нибудь может мне помочь, пожалуйста?

1 ответ

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

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

ТАК... Как этого добиться, используя обходные пути?

Я могу думать 2 способа сделать это.

  1. Запланируйте около 60 уведомлений вручную и предварительно установите заголовок и текст. Тем не менее, в вашем случае это все еще невозможно, потому что вы никогда не узнаете, сколько проблем осталось через 20 минут. Если вы можете предварительно рассчитать, то вы можете использовать это решение. Недостатком этого является то, что он может запланировать только 64 локальных уведомления, и каждый раз, когда он отправляет локальное уведомление, он создает новое доставленное уведомление, которое остается в системе, что приведет к спаму в центре уведомлений пользователя.

  2. Второй способ - использовать расширение содержимого уведомлений. ПРИМЕЧАНИЕ. Вы по-прежнему не можете изменять заголовок и текст сообщения. Тем не менее, вы можете создать собственный экран, когда пользователь нажимает на панель уведомлений. Может быть, субтитр может быть чем-то вроде принудительного касания, чтобы увидеть, сколько осталось проблем, и реализовать собственный экран, чтобы показать количество проблем, когда пользователь принудительно коснется его.

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


Полезная ссылка

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

Чтобы понять больше, вот ссылка на WWDC о введении расширения службы уведомлений и расширения содержимого уведомлений.

Я считаю, что вы можете использовать расширение содержимого уведомлений. У вас вроде гораздо больше свободы, так как вы работаете с контроллером представления. Я бы использовал это!

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