Главное Свежее Вакансии Образование
Выбор редакции:
4 673 8 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Подводные камни сервисов браузерных push-уведомлений

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

Мы обнаружили, что сервисы "хитрят". Они показывают вам верхушку айсберга, показывают как все круто, а на деле есть ряд ограничений, написанных мелким шрифтом.

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

Вот эта статья

b_567abf62ae7bf.jpg

Момент достаточно интересный, если это все реализуется своими силами, то за что мы платим (ну или не платим)

Скорость доставки

Будем оценивать то, как быстро оповещения улетают к сервисам APNS и GCM.

PushAll

Думаю стоит начать с нас. Тут все несколько сложнее чем у других. Мы отправляем оповещения по очереди на группы устройств, порядок такой:

  • GCM (это Андроид приложение, это Веб-пуши, это хром-дополнение) - отправляется пачками по 1000 оповещений за раз. При этом на каждое уходит 100-200 мс. Слава гуглу. То есть за секунду можно отправить 5000 GCM push-уведомлений в одном потоке. Т.е. 2 разных канала отправляющих пуши врядли сильно влияют друг на друга. У нас нет общей очереди - каждый канал отправляет в своём процессе.
  • Safari - тут все сложнее. Создается сокет и отправляются оповещения по одному. Из за небольшого числа выборки мы точно не можем посчитать сколько будет отправляться в секунду. Но мы не замечали больших задержек при отправке через этот метод
  • Firefox - тут все тоже новое, метод похож на Safari, за 5 секунд можно отправить около 40 оповещений. Если таких устройств будет много - мы сделаем многопоточный метод рассылки, что позволит значительно увеличить число оповещений на порядок.
  • Telegram - тут все очень плохо на самом деле. Телеграм сам сказал - отправляйте в один поток. Поэтому тут все самое сложное, отправляется приблизительно 10-20 адресатов в секунду и это нельзя ускорить. Мы отправили запрос в телеграм на создание пакетной отправки - надеемся они это сделают. А пока - из за телеграма мы сделали фоновый метод отправки. Т.е. вы можете передать параметр background=1 и ваш сервис или вы не будете ждать, пока все отправится, вам сразу придет предварительный ответ и ID уведомления.
  • Email - тут приоритет совсем низкий, поэтому в самом конце. Время отправки тут зависит от того, как давно было последнее письмо. У некоторых стоит настройка - отправлять раз в сутки.

OneSignal

Мы не знаем всех тонкостей, но по всем данным ограничение там стоит на уровне 250-1000 пушей в секунду. Все дело в том, что сервис у них бесплатный, видимо так они снижают нагрузку т.к. у них достаточно много крупных клиентов.

Однако, если вы хотите попроще сделать бесплатные пуши - OneSignal вполне хороший выбор. Но например у медузы база около 200к подписчиков, поэтому такая задержка выдалась бы для них получасовым ожиданием.

Мы не нашли упоминаний о ограничении отправки по времени на других сервисах. Перейдем к количеству оповещений.

Количество оповещений на период времени

Не совсем понятно, откуда появилось вообще это значение. Дело в том, что ни GCM и APNS не дают никаких ограничений на число оповещений. Разве что: у пользователя есть оффлайн-кэш, который хранит оповещения максимум месяц в количестве не больше 100.

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

PushAll

Изначально мы ограничивали оповещения до 5000 в месяц. Идея была так себе, но при небольшом числе пользователей это того стоило. Потом мы обнаружили, что на самом деле даже средние проекты могут за сутки отправить 5000 оповещений. Поэтому мы поставили такое ограничение.

Потом поставили ограничение в 100к опровещений в сутки, а вчера вообще его убрали. То есть теперь вы можете слать пользователям хоть миллион оповещений в сутки. Нам на самом деле интересно, как вы это сделаете.

Такая щедрость достигается за счет того, что среди приведенных пользователей может быть будущий создатель нового канала, а он может купить расширенные возможности за 200 руб в месяц, либо даже просто зайти и кинуть пожертвование, ну либо рано или поздно у нас на Adsense накапает 100$ и мы сможем их снять.

Технически, чтобы вам отправить хотя бы 100к оповещений в сутки, например по 10 оповещений в день, нужно 10 тысяч подписчиков. 10 тысяч подписчиков генерируют при подписке где-то 15-30 тысяч заходов на сайт. Если брать в расчет доход Adsense на 1000 показов - это приблизительно 15$. При этом на 1000 пользователей у нас в среднем находится больше 10-20 пользователей, которые хотят создать канал, приблизительно 5 из них могут взять услугу по 200 рублей в месяц. Итого заработаем на этом приблизительно 2000 рублей единоразово, 1000 ежемесячно. Если брать оценку того, что эти пользователи потом смогут платить за платные каналы, например 1% пользователей, по как минимум 50 рублей в месяц. То мы получаем, что с 10 тысяч пользователей, мы будем получать доход еще в 500 рублей в месяц. Т.е. 1500 в месяц по подписке.

Достаточно неплохо, учитывая, что рост приводит еще больше каналов, эти каналы приводят подписчиков, подписчики приводят других подписчиков и т.д. При этом для самих сайтов сами рассылки абсолютно бесплатные. Расширенные возможности за 200 руб в месяц не сильно влияют на функционал, а скорее упрощают некоторые моменты.

При этом нет ограничений на число оповещений в сутки. Именно поэтому у нас на 13 тысяч пользователей, 25000 доставленных оповещений за сутки.

OneSignal

Мы не нашли также никаких ограничений на отправку и рассылку. Правильно делают - это лишь по сути услуга прокси.

push.expert

Знаете, а их очень сложно загуглить, пришлось вспоминать название.

У них очень жесткие ограничения, за 500 рублей вы получите 10 тысяч оповещений в месяц. Для примера - в нашем сервисе неофициальный канал медузы отправляет 1926 оповещений в сутки. При 119 подписчиках, из которых 31 активен. Т.е. каждый получает ежесуточно около 60 оповещений (медуза умеет писать много контента, да) Причем на это есть спрос - люди даже кликают т.е. они читают медузу через область оповещений в течении дня.

Еще у них есть тариф "Профессионал" за 20 тысяч рублей в месяц вы получите 1 миллион оповещений в месяц. Тут кстати нам уже сложно сравнить. Байбако например за последний месяц отправили доставленных оповещений 134435. В push.expert это стоило бы 6000 рублей в месяц.

Кстати, именно примерно 6000 рублей будет стоить вам сертификат Apple для оповещений через Safari на год.

При этом push.expert не поддерживает оповещения в сафари и firefox. Странно что на сайте не горит значок yandex - ведь у них с хромом общий протокол.

b_567ac81175da6.jpg

При этом у Microsoft даже нет планов делать push-уведомления в Edge.

SendPulse

Появились они вовремя - заменили собой уходящих в Канаду Jeapie. Но тут на самом деле очень много подводных камней.

SendPulse занимались рассылками Email и SMS и привыкли продавать услугу количественно, однако тут они выбрали ограничением число подписчиков. И в этом есть огромная проблема.

b_567ac8b53490a.jpgНапример, вы решили попробовать 2500 подписчиков бесплатно. Окей. На вашем сайте есть аудитория размеров в 50 тысяч человек ежедневно. Многие кликнут подписаться - просто так. Так что у вас быстро кончатся эти 2500. Причем вы потратите весь свой лимит на людей - которые даже не хотели бы подписываться.

Это очень сильно похоже на спам, за который вы платите. Причем их услуга достаточно интересна тем, что у них есть решение с кнопкой подписки на сайте. Т.е. в данном случае будет куда меньше ложных срабатываний. Но они везде преподносят этот метод как более сложный. Ведь им на самом деле выгодно, чтобы вы получили мертвый балласт в подписчиках.

Один из наших пользователей протестировал Sendpulse - на 70 подписавшихся получилось 40 прочтений и 4 клика. И это сразу после подписки. Скорее всего sendpulse не очищают тех, кто уже отписался (запретил оповещения) То есть у вас реально может получиться такая ситуация, когда вы будете платить 2000 рублей, за 7000 подписчиков (тариф 10000), при этом у вас активно получать будет только 2400, а кликов будет в районе 100.

И да, вы все заметили строчку внизу?

b_567acabfb9edd.jpgА вот и главный подводный камень. То есть, вы сможете делать 1 оповещение в сутки, если слать оповещения всем подписчикам. Это значит, что технически тариф 10000, это ограничение в 300 тысяч оповещений в месяц, а с учетом того, что не все будут получать - это будет 100-150 тысяч оповещений в месяц. Да, по цене это дешево, но теперь представьте себе такую ситуацию: У вас даже если новостной сайт, за день вышли 2 важные новости - вы будете ограничены в том. какие новости отправить, а какие нет.

Также вы не сможете слать например личные оповещения. К примеру оповещения о личных сообщениях. Вы только представьте - пользователю написали 30 личных сообщений и его лимит на месяц окончен, да скорее всего можно договориться с отделом продаж - но это будет стоить уже других денег.

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

Еще немного камней

Есть общие проблемы связанные с сервисами web push уведомлений. Я не буду тут описывать общие проблемы самих web-push. Т.к. я уже это делал

HTTPS и HTTP, перенос аудитории и спам.

Многие сервисы пишут, что через push невозможно рассылать спам. При этом прикрываются тем, что все дело в домене. Если у вас есть HTTPS, то отправка идет через ваш домен, это так, однако тот кто имеет ваши ключи для отправки и токены пользователей - может рассылать спам используя ваш домен как источник.

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

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

Более того, если у вас нет HTTP. То они предоставляют вам поддомен, с какой то стороны это даже хорошо - если пойдет спам вы не при делах. Но тут есть проблема связанная с обновлением service-worker. Если они захотят обновить функционал рассылок - им нужно будет, чтобы все пользователи зашли на все сайты снова, чтобы service-worker обновился. Более того - если они изменят у себя что-то в коде, и это будет не совместимо с текущими сервис-воркерами - это сломает все ваши оповещения.

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

Погружение в зависимость

Из за пункта выше, вы получаете проблемы связанные с тем, что вы просто "подсядете на иглу" Набрав 10000 подписчиков вы уже будете согласны на любые условия. Вам могут поднять тариф, через ваш канал могут начать рассылать рекламные предложения, если вы не захотите переходить на платную версию и т.д.

Текучка

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

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

Итоги

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

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

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

Также недавно был убран колокольчик из хрома. Это вот такая вот штука:

b_567ad103c1b73.jpg

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

В нашем решении с дополнением есть история, которая позволяет вернуться к тому оповещению, которого уже нет:

b_567ad15eae8d6.jpg

Кстати, благодаря такому решению, конверсия по кликам может быть больше 100%.

b_567ad19e6a0f6.jpg

На 283 получивших - 793 клика. Это пользователи кликали из истории оповещений или из ленты канала.

+1
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
ubercrm
уберизация и локальные справочники
Саша Noxon
ну хотят зарабатывать ребята) раскройте свою фин стату ;)
Ответить
PushAll
Платформа мгновенных уведомлений.
Олег Карнаухов
Нашу? :) Да у нас почти никакая. иногда кидают пожертвования, пара человек платит 200р в месяц. Вообще недавно повысили плату за это да.
Но мы как раз предостерегаем людей от того, чтобы пользоваться этим за деньги.

Это примерно как счетчик для сайта платным делать :)
С другой стороны это конечно проще, и они берут деньги, чтобы вообще окупить все это дело т.к. по факту на самом деле даже миллион оповещений ничего не стоит. Через GCM из можно отправить больше 5000 оповещений за секунду с любого компьютера бесплатно. Т.е. за 3 минуты.

По сути это где то 25-50к подписчиков. Продают они это за 8000 рублей.

Тут суть вообще в чем - технически можно продавать это по 200 рублей вообще безлимитно и быть всегда в плюсе. Просто у них там штат сотрудников и т.д. Но когда это станет чуть чуть более популярным - то начнут продавать по 200 рублей.

Я даже вот думаю, мб нам реально сделать простой сервис веб-пуш уведомлений по 200 рублей в месяц безлимитно.
Как говорится - не можешь побороть безумие - возглавь его :)
Хотя врядли мы так будем делать т.к. это противоречит нашей концепции.
Мы скорее всего сделаем набор "сделай сам" чтобы можно было поставить к себе на сайт админку, добавить все ключи для рассылок (пара минут в админке гугла) и установить на сайт код. И это реально можно бесплатно раздавать. Ну или за те же 200 рублей :)
Ответить
ubercrm
уберизация и локальные справочники
Саша Noxon
вот я бы пользоватлся вайт лейблом
Ответить
PushAll
Платформа мгновенных уведомлений.
Yelyena Kruk
И что? Создали конструктор?
Я бы купила)
Ответить
PushAll
Платформа мгновенных уведомлений.
Олег Карнаухов
Нет, тратим все ресурсы на PushAll.
Ответить
SendPulse
SendPulse автоматически увеличивает открываемость маркетинговых email рассылок
Konstantyn Makarov
Как представитель SendPulse прокомментирую статью, хоть и с большим опозданием.

На счет тарифов. Вариант оплаты именно за количество подписчиков, а не количество отправленных PUSH сообщений является очень выгодным для пользователя по нескольким причинам:
1. Пользователь платит за реальных подписчиков. Т.е. подписчики, которые отписались, автоматически попадают в список отписки и перестают тарифицироваться.
2. Пользователь не ограничен количеством отправляемых PUSH уведомлений. Мы убрали ограничение в 30 рассылок на каждого подписчика, теперь это количество неограниченно. Таким образом, если пользователь делает рассылки часто, ему не надо переплачивать за количество отправленных PUSH сообщений.

Также хочу прокомментировать фразу автора что отправки PUSH уведомлений это "по сути услуга прокси". PUSH рассылки и Email рассылки во многом схожи, вы можете отправлять сообщения как самостоятельно через бесплатные почтовые сервисы, так и использовать платные решения. Вопрос целесообразности. Чтобы самостоятельно внедрить PUSH рассылку сразу для всех поддерживаемых браузеров вам потребуется не одна недели разработки, потому как документация у браузеров очень скудная, приведенные примеры не работает корректно и приходится некоторые вещи реализовывать интуитивно, проводя множество тестов. Пока готовые бесплатные решения и библиотеки мной не обнаружены. Если брать просто отправку сообщений, то она идет через сервера Google, Apple, Firefox. Мы же предоставляем удобный механизм размещения подписки на сайте, сбора подписчиков, отправки рассылки, персонализации писем, сегментации сообщений по различным критериям (страна/город подписчика, браузер, язык браузера, дата и страница подписки и др), сбора отписавшихся пользователей. На следующей неделе появится механизм автоматической серии сообщений при подписке на PUSH уведомления. Таким образом, вы можете сами оценить, наш сервис - это просто прокси или действительно удобный механизм с множеством возможностей для работы с PUSH уведомлениями.
Ответить
PushAll
Платформа мгновенных уведомлений.
Олег Карнаухов
Да я уже где то писал что в этом есть польза т.к. реально на данный момент готовых открытых решений нет, но это скорее дело времени. Например под WordPress уже есть решение в виде готового плагина.

Опять таки сегментация штука на мой взгляд малополезная. Да на вид это выглядит круто. Но единственный раз когда нас просили делать сегментацию - человек хотел по геолокации определять телефон пользователя, где он находится и если он рядом с магазином слать ему уведомления. И то он не совсем понял, что это никак не связано с сегментацией.

Я думаю у вас тоже не так уж и много кто её использует. Язык браузера? Почти все сайты на одном языке. Врядли там кто то подпишется на другом. Страна/город вроде бы и полезно для интернет магазинов например, но как я понимаю используется GeoIP - а сейчас многие стали через прокси, VPN сидеть и т.д. из за блокировок. Особенно из за рутрекера. Так что реально может выйти ситуация, когда на русском сайте подписалось 2000 человек - и у всех IP из Европы и США.

Тут ещё нужно смотреть по тому что нужно. Например сайты СМИ - они могут слать всем уведомления и им особо больше ничего не нужно. Сайты где идут уведомления личного характера - личных сообщения, ответы на заявки и т.д. там нужно просто связывать ID пользователя чтобы ему лично слать оповещения и сегментация на уровне сервиса тут не сработает.
Выходит примерная ЦА для сегментации это только интернет магазины. И то - магазин может быть только в одном городе - выходит в другие просто не слать?

Насчёт ограничений это отлично. Также насчёт реальных подписчиков - я думаю вы это тоже замечали, но есть всегда % в GCM который гугл обрабатывает как вроде бы существующие, но они не примут уведомление по ряду причин. Например если я удалю браузер с компьютера - я как бы и не отписался и мой ID будет висеть.
Чтобы уж совсем честно - было бы интересно если они платили за доставленные.

К слову я тут думал что вас даже стоит похвалить т.к. делать такую рекламную компанию учитывая что есть тот же OneSignal бесплатно. Хотя если так посудить у нас до сих пор не многие особо понимают английский и могут там просто не разобраться.

Также тут нужно смотреть по ценам. Вот вы например пишите про несколько недель и т.д. взять тот же опыт медузы - они с нуля сделали рассылки, которые ещё и достаточно сильно справляются с нагрузкой нескольких сотен тысяч подписчиков. Ушло у них на это неделю при этом у них ещё были другие задачи. По факту тут нужно смотреть что выгоднеее - взять например тариф за 2-5 тысяч в месяц или же за эти же 5000 рублей нанять фрилансера который сделает это все навсегда. И при этом - фрилансер ещё и интегрировать в проект может уведомления, что уже не входит в ежемесячную плату.
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.