Сервис Parse, позволявший, в числе прочего, легко запрограммировать отправку пуш-уведомлений, закрывается 28 января; осталось 8 дней. Самое время переехать (это шутка, на самом деле нужно было переехать уже давно).

Мы знаем два хороших сервиса на замену:

  1. Amazon Simple Notification Service (AWS SNS). Первый миллион пушей в месяц бесплатно, дальше не более 1$ за каждый миллион получивших сообщение устройств (там хитрая схема, опустим для краткости). Можно создать неограниченное число широковещательных каналов с неограниченным числом подписчиков и смотреть число подписчиков в каналах. И всё это без бэкенда! Легко экспортировать и импортировать токены APNS и GCM, все сертификаты ваши собственные. Кстати, AWS поддерживает не только Google и Apple, но ещё Windows, Baidu и многие другие, умеет отправлять SMS (только в Америке) и письма (дешевле всех на рынке). Самое важное?—?вы контролируете весь payload, уходящий провайдеру пушей, так что вам доступы самые модные нововведения от Apple и Google. Документация: обзор пушей в SNS, высокоуровневая схема, что нужно сделать для отправки сообщения. Минус?—?придется написать код для мобильных приложений, который отправляет токены в API Амазона. Схема и псевдокод есть, но ошибка в имплементации, как вы понимаете, обойдется очень дорого.


  2. Firebase Cloud Messaging от Google. Бесплатный. Неограниченное число каналов с неограниченным числом подписчиков. Минусы: нет полного контроля за payload?—?доступны только те функции платформы, которые реализует Google. Нельзя посмотреть число подписчиков в канале и нет экспорта токенов с сервера (импорт есть). Но есть жирный плюс: автоматический менеджмент токенов?—?просто включаешь библиотеку для iOS или Android и оно начинает работать.


Сравнение в таблице:


Поделиться с друзьями
-->

Комментарии (37)


  1. trilodi
    20.01.2017 22:35
    +3

    Я в свое время хлебнул горя с пушами. Что только не делал, готовые сервера, свои разработки и тд. Главная проблема состояла в том что бы разом отправить пуши сразу всем пользователей. Пока пользователей было мало, проблем небыло, но как только число перевалило за 20 000, то начались пляски. Как то раз я наткнулся на сервис OneSignal у которых пуши абсолютно бесплатно. Отправляю в день 4-7 раз пуши 70 000 пользователям одновременно, на протяжении уже 5 месяцев, и абсолютно доволен, все данные, включая токен, id пользователя можно получить. Пуши всем приходят практически одновременно (что в итоге вызвало другую проблему, из-за этого нагибается апи сервер, когда все разом лезут за информацией). Советую попробовать, я от очень больного г-оя избавился использовав этот сервис. Можно отправить как одному пользователю зная его id, или всем сразу, при этом не нужно знать их id, или по сегментам. Все правила настраиваемы


    1. trilodi
      20.01.2017 22:40

      К слову, так же можно собирать статистику сколько зарегистрированых пользователей получают пуши, сколько кликнули по пушам. Все в реальном времени. Поддерживаются ios, android, windows/phone, macos, браузерные уведомления. Много высококачественного сдк, с которым за месяцы работы проблем не возникало. Так же как и в AWS можно работать без бека, плюс есть шаблоны пушей, и отправка по расписанию


    1. BupycNet
      20.01.2017 22:42
      -1

      У OneSignal вроде как все равно более 500 пушей в секунду не отправишь там же на бесплатном тарифе ограничение.
      Насчет опыта по пушам — у нас около 32000 устройств смешанных, из них GCM 24 тысячи. При пакетах отправки в 1000 пушей получаем отправку за 1,5-2 секунды в общем то обычным запросом. И даже если слать по одному вопросу скорость выйдет на уровне OneSignal.
      В том же APNS который недавно подключили оптимизировали отправку без обработки ответов (их можно уже обработать на уровне Feedback сервера) получаем пиковую скорость в 5000 пушей в секунду на одном потоке, реально сервак может выдержать до полумиллиона пушей в секунду.
      Тут правда статистику обратную собирать тяжеловато будет но решение уже готовится в общем то.
      Короче веду к тему, что все равно на пуши нужно и статистику собирать или контент отдавать, хотя вроде как последняя версия веб-пушей вроде как держит внутри доп контент. В общем как вариант предложу своё — PushAll.ru пока не особо ограничиваем скорость отправки. Пилим свои приложения. Позволяет избавиться не только по мороке по поводу отправки, но и по мороке по поводу написания каких либо приложений :)


      1. trilodi
        20.01.2017 22:46

        Покажите мне прайсинг на OneSignal? Я честно его долго искал. У меня 70000 смешаных устройств, из которых около 28000 андроид, остальные ios устроства. Проверял лично, устройство которое зарегистрировано в самом начале, и устройство в списке на уровне 40 000 абонента получают пуши одновременно, разброс 0.5-1 секунда. Пуши отправляются сразу всем устройствам 1 рест запросом


      1. trilodi
        20.01.2017 22:53
        +1

        Извиняюсь недочитав написал свой комментарий.

        PushAll.ru пока не особо ограничиваем скорость отправки. Пилим свои приложения. Позволяет избавиться не только по мороке по поводу отправки, но и по мороке по поводу написания каких либо приложений :)

        OneSignal меня вообще избавил от мороки, подключил сдк, инициализировал апи с ключем. И все. Вся статистика присутствует, сколько пользователей разрешило пуш, сколько пользователей кликнуло на пуш уведомление, сколько зарегистрировано, у кого есть рут нет рута, какой аппарат, какая версия ОС, и тд. Я половина своего бекенда по работе с пользователями выкинул просто воспользовавшись их серсом.


        1. trilodi
          20.01.2017 22:56

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


          1. trilodi
            21.01.2017 00:02

            Кто то минусанул, могли бы и указать на то что мой коммент неактуален!


            1. BupycNet
              21.01.2017 01:04
              -1

              Это не я если что, кармы не хватит. Комменты вполне уместны.
              Биллинга вы не увидите — там на главной есть https://onesignal.com/#pricing
              У них по сути Free, но на деле есть премиум. Вот все крупные компании у них сидят на премиуме. По сути у них просто железо простаивает когда крупные компании не пушат — и они эти ресурсы отдают бесплатно. По сути ждут когда кто то еще вырастет и захочет премиум. Так и работают.
              Пока у вас 70 тысяч устройств вы им мало интересны, так как 70к пушей можно отправить в 10-20 потоков за 1 секунду. Учитывая что у них там скорее всего сотни серверов на отправку и работу с даннными — для них это ерунда. Я не удивлюсь если они на бесплатных проводят всякие тестирования новых алгоритмов перед тем как дать платным пользователям.


              1. trilodi
                21.01.2017 01:19

                Да я вас и не виню, вы хоть писали комменты.

                Биллинга вы не увидите — там на главной есть https://onesignal.com/#pricing

                100% Free

                На счет остального я с вами согласен, возможно и так, но на сегодняшний день они мне упростили жизнь, моих серверных знаний не хватило на реализацию полноценной отправки большого количества пушей. За данный объем пушей бекендлес с меня 3 шкуры содрал, хотя и не выполнил 100% рассылку, работал раз через раз. Я 3 месяца мучался с этой проблемой, безуспешно, пока случайно не набрел на этот сервис, искал полноценный платный, был готов платить, но попался он, и сегодня я счастлив. В день они мне шлют порядка 300 000 пушей, в месяц около 9 миллионов +-, и никаких проблем.
                Более того удобно заточена сдка, можно в настройках приложения дать возможность пользователю включать и отключать пуши, просто давая параметры самой сдк, не нужно в беке контролировать этот момент.
                Это позволило мне избавится от многих проблем, и сосредоточится на качестве самого приложения


        1. BupycNet
          20.01.2017 22:58
          -1

          Ну это если вам нужно своё собственное приложение. Мы то пушим через себя все. Сервис для того чтобы пушить везде без какой либо разработки вообще. По сути можно прикрутить OneSignal, но у нас можно даже не создавать приложений вовсе, если нужны лишь пуши.

          Про один запрос — понятное дело что они потом у себя параллелят. У нас как бы тоже один запрос к нам идет, а дальше мы уже через консюмер в несколько потоков параллелим оптимальнее. Они кстати могут легко еще и в топик объединять те же GCM устройства — то есть шлете всем — они тупо топику шлют а гугл уже дальше разруливает всю эту тему. По APNS не помню чтобы были топики — но там можно шустро слать, причем как бы они недавно писали что на HTTP/2 перешли там еще быстрее можно слать, как я понял там вообще без остановки им шлешь данные и сразу обратную связь получаешь параллельно в том же соединении и делать это поняитное дело тоже можно хоть в 1000 потоков.
          Прайсинг потерял — может они конечно скорость увеличили везде. Тут еще надо учитывать что скорее всего когда крупные их клиенты делают рассылки, скорее всего все бесплатные замедляются — просто приоритет у них ниже.


          1. trilodi
            20.01.2017 23:04

            Ну вы говорите про немного другой сервис. Человек описал ситуацию когда ему нужно мигрировтаь свое приложение на пуш сервис. Ваш же сервис это аналог pushover где нужно поставить ваше приложение и принимать какие либо пуш уведомления. Я pushover использую для уведомлений о проблемах на сервере, это более ограниченая среда. А вот организовать отправки десятки тысяч пушей со своего сервера (бюджетного сервера к слову) при том что нагрузка идет регулярно это очень большая проблема блыла для меня. После того как избавился от отправки пушей от себя, даже удалось урезать ресурсы сервера почти в 2 раза, без потери качества сервиса и производительности


            1. BupycNet
              21.01.2017 01:08
              -1

              «А вот организовать отправки десятки тысяч пушей со своего сервера (бюджетного сервера к слову) при том что нагрузка идет регулярно это очень большая проблема блыла для меня.»
              Пушовер таки имеет ряд ограничений в том числе в создании каналов и бесплатных приложений там нет. Если например ваше приложение состоит из пушей + статичных страничек то это все заменяется через PushAll.
              Так то да в статье решение для своих приложений идет. Но я описал как кейс я ведь напрямую использую сервисы, к слову тот же FCM сейчас хорош и он по сути более низкоуровненный чем OneSignal

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


              1. trilodi
                21.01.2017 02:42

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

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

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

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


                1. trilodi
                  21.01.2017 02:52

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


            1. Mendel
              21.01.2017 02:07

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


              1. trilodi
                21.01.2017 02:47

                и апи пусть и не намного но проще, при этом — бесплатный.

                Ну апи я бы не сказал что у телеграмма проще, там много ньюансов своих. просто у всего свое примемение.


                1. Mendel
                  21.01.2017 20:16

                  Каких нюансов можно узнать?
                  ПапаРобот выдает токен за минуту, включая время на открытие телеграмма.
                  Запросы простые совсем. Нет, если кнопочки рисовать и т.п., то там нюансы есть, но чисто нотификации то не сложно. единственный нюанс что я встретил это получение ид диалога. Но можно написать роботу, и увидеть свой ид.
                  Ну а пушовер требует побольше манипуляций, плюс что важнее для меня — манипуляции требуют пусть и небольшого но внимания. Если я хочу сделать информер с сайта, то ставить пушовер, настраивать — геморнее. Если клиент удаленный, то геммор возрастает.
                  Ну и обратная связь бывает редко нужна, но возможность расширения в рамках уже готовой парадигмы не помешает.
                  Спрашиваю не спора ради, а потому что скоро буду внедрять подобное решение, и склоняюсь к телеграмму. Игрался с ними обоими, но дальше HelloWorld особо не ушел.
                  Если есть реальные неудобства, то хотелось бы знать.


                  1. trilodi
                    22.01.2017 02:47

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


              1. BupycNet
                21.01.2017 03:10
                +1

                Дело в действиях а также в направлении.
                Телеграм — мессаджер. Когда тебе пишет бот — он сдвигает твой список диалогов. Также нужно чтобы был запущен телеграм например на том же компьютере (я часто забываю его включать) Уведомления через бота в нем это костыль. Бот может писать по сути в пуш только текст и телеграм его неплохо так режет. Чтобы открыть пуш тебе надо кликнуть на пуш — откроется диалог, найти нужное сообщение, открыть в нем ссылку. При этом тебе может придти 10 уведомлений и кликнув на пуш тебе надо будет искать какое из них ты хотел открыть.


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


                Вот разница.



                Лишняя кнопка ответа. Нельзя задать изображение для каждого пуша. В данном примере правда ссылку забыл добавить. Но в телеграме ее было бы видно.
                В общем тут вопрос из разряда что лучше HTML или голый текст. Примерно такая же разница. Ну и как бы мессаджер это мессаджер.
                Даже то что у нас пуши идут на все платформы включая телеграм. Люди выбирают телеграм всего в 10% случаев. То есть они либо им не пользуются, либо они им пользуются для общения.


                1. trilodi
                  21.01.2017 04:08

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


                1. Mendel
                  21.01.2017 20:24

                  Ну аргументация примерно понятна. Некоторые удобства есть, но минусов больше. Ну как для меня. Главный минус спецсервисов — они мельче. Телеграмм больше, и меньше шансов что его прихлопнут, продадут, закроют и тп.
                  По последнему аргументу — один популярный сайт провел опрос по которому становил что 100% граждан пользуются Интернетом. Слать напрямую пуш сложно и для многих нереально. Слать напрямую телеграмм — элементарно. Так что большинство тех кто предпочитает телеграмм — просто до вас не дойдут. 10% это как раз в пользу телеграмма аргумент. Много.
                  Это ведь скорее всего те кому нужно слать и в ваш клиент, и на разные платформы, и заодно и в телеграмм, т.е. массовые рассылки. Так что 10% это хороший показатель…


                  1. BupycNet
                    21.01.2017 20:29

                    Тут основной вопрос — зачем или/или? Прикрутить PushAll не сложнее чем прикрутить телеграм. При этом по нашим данным (примеры каналов) именно в PushAll получается более активная и крупная аудитория чем в телеграме. Я только что статью написал https://habrahabr.ru/post/320090/
                    Собственно по ней в опросе вы можете понять почему у нас выходит быть эффектнее. Даже если у человека есть телеграм, скорее всего он не добавит вашего бота т.к. он телеграм использует для общения.


                    1. Mendel
                      22.01.2017 00:14

                      Даже если у человека нет телеграмма, то он поставит себе его, если это будет наиболее быстрый и дешевый способ получать уведомления о новых заказах и фидбеках на его сайте, или о проблемах с сайтом. :)
                      При этом в конкретно моем случае Ваш стартап вообще не рассматривается потому что:
                      1 — дополнительных преимуществ в моем кейсе у вас нет
                      2 — вы малоизвестный стартап с неизвестной моделью монетизации. Что с вами будет завтра — непонятно.


                      1. BupycNet
                        22.01.2017 02:04

                        1. Если он уже его использует, лишнее в нем будет мешать.
                        2. Монетизация на платных тарифах каналов. На платном тарифе есть дополнительные фишки.


                        1. trilodi
                          22.01.2017 03:00

                          Если он уже его использует, лишнее в нем будет мешать.

                          +1
                          2 — вы малоизвестный стартап с неизвестной моделью монетизации. Что с вами будет завтра — непонятно.

                          Вы излишне ставите акцент на том, что стартап закроется, для этого есть инкубационный период, и блогосфера, где можно следить за развитием стартапа. Телега тоже когда то была стартапом, и принимая во внимание то, что она никак не монетизируется на данный момент, неизвестно именно что с ней будет завтра, Дуров не вечный.
                          Как говорится не попробуешь, не узнаешь!


                  1. trilodi
                    22.01.2017 02:53
                    -1

                    По последнему аргументу — один популярный сайт провел опрос по которому становил что 100% граждан пользуются Интернетом. Слать напрямую пуш сложно и для многих нереально. Слать напрямую телеграмм — элементарно.

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


                    1. Mendel
                      22.01.2017 11:00

                      Ваша аудитория больше чем у телеграмма?)


                      1. trilodi
                        22.01.2017 14:36

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


                        1. Mendel
                          23.01.2017 12:48

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


          1. trilodi
            20.01.2017 23:11

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


    1. samat
      21.01.2017 00:07

      ответил про onesignal ниже


  1. slutsker
    20.01.2017 22:38

    А что думаете про бесплатный сервис отправки пушей — OneSignal?


  1. samat
    21.01.2017 00:06
    +1

    У OneSignal есть две большие проблемы:

    1. У них адский ToS — почитайте внимательно, они оставляют за собой право использовать ваши данные и данные ваших пользователей для своих целей, и даже передавать их третьим лицам.

    2. Это стартап, который рано или поздно кто-то купит, или они закроются. Ни тот ну другой вариант нас как пользователей не устраивает.


    1. trilodi
      21.01.2017 00:13
      +1

      У них адский ToS

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

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


      1. trilodi
        21.01.2017 00:31
        +1

        Если уж гиганты (Adobe, MTV, UBER, и тд) им свои пуши доверяют, мне моему мелкому проекту скрывать от них абсолютно нечего, а вот как стартап, я вот как стартапу мне он оказал большую помощь своим сервисом


    1. BupycNet
      21.01.2017 01:13

      1. К слову в их же правилах где-то написано про скорость работы, не могу найти. Если вкратце то как выше писал — их бесплатность обеспечивается тем что они сливают дешевые ресурсы простаивающего железа + различные метрики и статистика для платных клиентов. Например при анализе отправляемых данных бесплатных клиентов и различных метрик можно спрогнозировать динамику для платных клиентов, лучшее время и тд
      2. Вот тут врядли. Ими пользуется убер и другие компании. Технически — они как бы все держат этот проект. Его как таковой практически невыгодно покупать. По сути это компания которая занимается чисто пушами, их аналитикой и представляет крупным компаниям пуши + утилизирует хардверные ресурсы на бесплатные пуши с низким для них приоритетом и аналитикой. Вот какой смысл их покупать? поднять цены платным клиентам? Начать брать цены с бесплатных? Как бы начнешь — а там и FCM есть в итоге статистика пропадет у тебя при просадке пользователей.


  1. esudnik
    22.01.2017 11:22

    Мы в нашем сервисе serverstate.ru используем Pushover (https://pushover.net/) для отправки таких сообщений. В целом очень довольны.