XenForo 2.1: Push уведомления

Пока все неспешно перебираются на вторую ветку движка (XenForo 2.0.x), авторы уже начали анонсировать XenForo 2.1, потихоньку раскрывая всё то, над чем они работали после релиза второй ветки и планируют порадовать нас в ближайшее время мини обзорами.
И вот одно из первых нововведений это:

Push уведомления.

Добро пожаловать в серию обзоров "А Вы видели...?", посвящённых серии нововведений в XenForo 2.1. У нас есть много чего рассказать в течении нескольких следующих недель, про что Вы могли слышать, а теперь мы непосредственно представим.?

Но для начала...

Первое, что мы должны анонсировать, прежде чем мы начнем, - это то, о чем мы говорили в прошлом году и это связано с минимальными требованиями к серверу XenForo 2.1. Для XenForo 2.0 в настоящее время требуется минимум PHP 5.4, но с XenForo 2.1 мы увеличиваем это до минимума PHP 5.6. Хотя PHP 5.6 , поэтому Вам может быть интересно понять, почему мы решили его использовать как минимальную версию PHP.

Ответ довольно прост, поскольку мы по существу пытаемся найти баланс между функциями PHP, которые нам нужно использовать, требованиями сторонних пакетов, которые мы включаем в XenForo, и, в конечном счете, с самыми распространенными версиями PHP, которые используют клиенты на своих серверах. Начиная с XF 2.0.2 мы отслеживаем это, и вот текущие результаты:

1539085313300.png


Один клиента, который работает PHP 7.3 Alpha, я искренне надеюсь, что он делаете это в тестовой среде ?
Как Вы можете видеть, нам кажется, что для нас довольно безопасный отказ от PHP 5.4 и PHP 5.5, поскольку это составляет всего 6,5% от общей клиентской базы. Можно утверждать, что PHP 7.0 больше подходит для минимальной версии, так как общий объем использования PHP 7.x составляет 55,3%, но при этом на 44,7% от общей клиентской базы что и не позволяет нас его использовать как минимум. Мы настоятельно рекомендуем всем как можно скорее рассмотреть возможность обновления до PHP 7.2.

Так же мы упоминали ранее, что есть одна функция, которая потребует минимальной версии PHP 7.1 для использования...

Push это очень хорошо...

Для просмотра этого контента нам потребуется ваше согласие на установку файлов cookie третьих лиц.
Более подробную информацию можно найти на нашей странице cookie.
Крисс - извиняется за ролик, не удержался ?​

Правильно, мы запускаем обзор нововведений из серии XF 2.1, объявляя, что реализовано! Давайте сначала рассмотрим, как настроить его.

1539085367378.png
Если вышеуказанные требования браузера / устройства разочаровывают, пожалуйста, направьте свои жалобы на @WebKit в Twitter!

Итак, да, в первую очередь Вам понадобится PHP 7.1 для включения этой функции. Это позволило нам реализовать функциональность таким образом, которая совместима с максимально возможным количеством браузеров, включая Android и Microsoft Edge на Windows.

В дополнение к этому, ваш сайт должен работать через HTTPS с действительным сертификатом SSL, и вы должны иметь поддержку .

К сожалению, по причинам, не зависящим от нас (читайте: это ошибка Apple), список поддерживаемых устройств/браузеров исключает Safari для MacOS и любого браузера на базе iOS. Эта функциональность становится возможной благодаря использованию ряда API, включая и , которые уже поддерживаются большинством браузеров.

На поддерживаемых устройствах процесс выглядит примерно так:

1539085392182.png

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

Содержимое push-уведомления будет слегка урезанной версией шаблона предупреждения по умолчанию. Краткая заметка для разработчиков; хотя есть код, который автоматически преобразует HTML в текстовую версию уведомления, предпочтительным методом было бы создание специального шаблона push для каждого типа контента и действия, и они будут выглядеть примерно так:

HTML:
{{ phrase('x_quoted_your_post_in_thread_y', {
   'name': $user.username ?: $alert.username,
   'title': prefix('thread', $content.Thread, 'plain') . $content.Thread.title
}) }}
<push:url>{{ link('canonical:posts', $content) }}</push:url>


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

1539085448079.png

Естественно, нажатие на уведомление приведет вас прямо к контенту.


Отметка оповещения прочитанным

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

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


"Но у меня есть устройство Apple, Вы будете поддерживать push-уведомления другим способом ...?"

К сожалению, это маловероятно. Хотя устройства Apple представляют значительное число мобильных пользователей, нынешний подход, используемый другими поставщиками браузеров, стандартизирован (что означает, что устройства Apple могут быть почти автоматически поддерживающимися в будущем), бесплатно и без проблем могут интегрироваться с Вашим браузером. Любой другой подход заключается в том, что отдельное приложение или сторонняя служба, честно говоря, были бы так сказать неполными (и потенциально дорогостоящим в плане реализации!).

Общее решение просто, но Apple/WebKit не принимает и не реализует этого. Согласно странице , если отсутствуют какие-либо функции, вы можете связаться с в Twitter или обратиться через . Подумайте об этом сегодня, чтобы помочь им понять, почему push-уведомления важны для вашего форума ?


И, к сожалению, это всё что можно рассказать о первом нововведении для XF 2.1! Но не волнуйтесь - как упоминалось ранее, у нас есть еще много нового, чтобы порадовать Вас? И это Вы сможете увидеть вполне довольно скоро ?.
 
Safari на Mac поддерживают пуши, а на iOS 12 и ниже - нет.
Источник:
 
Ага, читайте внимательнее, почему на данный момент реализация не возможна в том виде, в котором авторам удобнее.
Любой другой подход заключается в том, что отдельное приложение или сторонняя служба, честно говоря, были бы так сказать неполными (и потенциально дорогостоящим в плане реализации!).
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу