Веб-уведомления в iOS 16 в 2023 году

Я тоже. Особенно учитывая, что уведомления без push-технологии в 95% случаев просто не работают.

По сути, вся эта тема касается именно push-уведомлений, которые на iOS нельзя получить с помощью самохостинга Discourse без создания отдельного iOS-приложения, которое, в свою очередь, может не пройти модерацию в App Store.

3 лайка

О, я рад слышать, что оно не находится под угрозой! @jimkleiber хорошо заметил это.

1 лайк

Nodeb решено эту проблему с помощью ntfy

meta.discourse.org теперь поддерживает push-уведомления для macOS Safari. (Надеемся, что Apple скоро включит веб-пуши для iOS.)

3 лайка

Небольшое уточнение: все актуальные экземпляры Discourse поддерживают push-уведомления для macOS Safari :wink:

3 лайка

В чём именно новизна? Мне казалось, что Safari на macOS всегда поддерживал уведомления? Ограничение всегда касалось только iOS?

Да, в Safari для macOS уведомления поддерживались, но они просто запускались JavaScript-кодом страницы. В Discourse это означало, что для работы MessageBus (который продолжает опрашивать сервер) нужно было держать вкладку сайта открытой, при этом вкладка не должна была быть приостановлена и т. д.

Теперь Safari на macOS поддерживает стандарт WebPush, поэтому уведомления будут приходить даже при полностью закрытом браузере, очень похоже на то, как это работает в нативных приложениях на вашем телефоне.

4 лайка

А, понял, значит, теперь они стандартизированы. Это отлично! Спасибо за объяснение.

1 лайк

Pushing Season 2 GIF by The Office

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

13 лайков


[1] pry(main)> PushSubscription.last
=> #<PushSubscription:0x00007fec11b781a8
 id: 5164,
 user_id: 8722,
 data:
  "{\"endpoint\":\"https://web.push.apple.com/.........\",\"keys\":{\"p256dh\":\"..................\",\"auth\":\"..............\"}}",
 created_at: Thu, 16 Feb 2023 21:51:24.260325000 UTC +00:00,
 updated_at: Thu, 16 Feb 2023 21:51:24.260325000 UTC +00:00,
 error_count: 0,
 first_error_at: nil>

Только что включил это здесь в Meta на своём iPad, посмотрим, как всё пойдёт.

Первый приз за iOS-уведомление достаётся @maiki

Очень много уведомлений

16 лайков

На этот раз у нас может быть меньше тестировщиков, по крайней мере на начальном этапе:

Если вы установите версию 16.4 через профиль, то останетесь на b1, если не войдёте под учётной записью разработчика или не переключитесь на публичные бета-версии.

Есть какие-нибудь идеи, что может мешать им работать? У меня они работают здесь, на Meta, но на большинстве моих саморазмещённых инстансов и на https://forums.NaNoWriMo.org (корпоративный хостинг-клиент, где я модератор) они не работают.

Единственное, что объединяет инстансы, на которых мне не удаётся заставить их работать, — это отсутствие в настройках уведомлений:

Я проверил, что на моих саморазмещённых инстансах включены те же настройки уведомлений, что и на работающих, поэтому я в тупике, так как мне очень хотелось бы протестировать это на других форумах, особенно на форумах NaNo.

1 лайк

Мы вручную блокировали push-уведомления в iOS, но я только что убрал это ограничение в день, когда Apple анонсировала первую бета-версию для разработчиков с поддержкой push-уведомлений — 5 дней назад.

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

4 лайка

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

4 лайка

Полный список шагов:

  1. Обновите до коммита FEATURE: Use feature detection for showing push notification in iOS (… · discourse/discourse@8a224bf · GitHub

  2. Обновитесь до последней бета-версии для разработчиков iOS 16.4

  3. Включите Web Push и уведомления в расширенных настройках Safari на iOS

  4. Добавьте приложение экземпляра Discourse на главный экран

  5. Запустите его через недавно созданный ярлык на главном экране

  6. Войдите в систему, так как эти сессии не разделяют куки с Safari

  7. Включите уведомления в баннере согласия или на странице «Настройки уведомлений» в профиле пользователя

11 лайков

Не совсем понятно, что пошло не так, но два, которые я только что пересобрал, теперь работают. :slight_smile:

4 лайка

Теперь доступна публичная бета-версия.

5 лайков

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

И любой пользователь с предыдущим профилем разработчика мог обновиться до версии 16.4b1, но, похоже, последующие обновления потребуют доступа разработчика. Это не мои слова — формулировка выше взята из материалов Apple.

Таким образом:

1 лайк

Есть какие-то предположения, когда iOS 16.4 станет доступна как стабильная версия?