LINUX.ORG.RU

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

 , ,


0

1

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

Собственно вопрос - push-уведомление - это дополнение к GSM(WCDMA) и оно прилетает с базовой станции в мобилу по условному «сервисному каналу» так же как звонок или СМС, или же это просто развод лохов, и на самом деле мобила тупо постоянно лазает на какой-нибудь сервак производителя и проверяет наличие там каких-нибудь сообщений?

Фишка вот в чём - есть, например, стиральная машинка в подвале, которая при завершении стирки может что-то кому-то через инет отправить. Ну или кофеварка там. СМС конечно тупо и просто, но, как правило, стоит денег. Если push-уведомления не развод лохов, а часть протокола мобильной связи, то, в общем-то почему бы не использовать их для того, чтобы отобразить на телефоне уведомление. Держать же в телефоне постоянно запущенное приложение, которое будет периодически стучаться на сервак (ибо постоянное соединение в условиях россиянских опсосов совершеннейший нонсенс) - пустая трата батарейки и ресурсов телефона, поэтому нифига не решение, лучше за СМС платить.

Вот здесь что-то типа этого: https://en.wikipedia.org/wiki/Push_Proxy_Gateway описано.

★★★★★

push-уведомления ... часть протокола мобильной связи

???

I-Love-Microsoft ★★★★★ ()

Если речь идёт о так называемых СМС-уведомлениях, то это, ЕМНИП, специальным образом оформленное СМС-сообщение. Можно отправить, но стоить будет как СМС.

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

Y ★★ ()
Последнее исправление: Y (всего исправлений: 3)

В смартфоне постоянно работает сервис и есть внешний сервер, который рассылает уведомления.

Вот это и есть push-уведомления.

vvn_black ★★★★★ ()

Google Play Services держит постоянное открытое соединение с гуглосервером. GCM называется. Без мобильного интернета или wifi никаких уведомлений не будет.

которое будет периодически стучаться на сервак

Сразу видно, что рассуждаешь о том, чем совершенно не разбираешься.

пустая трата батарейки

У тебя энергосбережение головного мозга.

anonymous ()
Ответ на: комментарий от anonymous

Google Play Services держит постоянное открытое соединение с гуглосервером. GCM называется. Без мобильного интернета или wifi никаких уведомлений не будет.

А в чём тогда новизна и вообще смысл супер-пупер push технологии? И постоянно открытое соединение? :) :) :)

Сразу видно, что рассуждаешь о том, чем совершенно не разбираешься.

Совершенно очевидно, что если бы разбирался - не спрашивал бы. Ваш К.О.

У тебя энергосбережение головного мозга.

Ну а у тебя, видимо, телефон_садится_где_зарядить головного мозга.

Stanson ★★★★★ ()
Ответ на: комментарий от Y

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

Т.е. это обычное наипалово при помощи баззвордов ?

Stanson ★★★★★ ()
Ответ на: комментарий от vvn_black

В смартфоне постоянно работает сервис и есть внешний сервер, который рассылает уведомления.

Вот это и есть push-уведомления.

А в чём тогда вообще смысл всего этого?

Зачем в настройках телефона какие-то отдельные настройки этого push если это банальный поллинг?

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

А в чём тогда новизна и вообще смысл супер-пупер push технологии?

В том, что твой смарт держит только одно соединение до гугла, а не 100500 до каждой кофеварки.

Stil ★★★★★ ()

Не знаю как сейчас (может уже все поменялось). Но во времена RIM (blackbery) push нотификации встраивались в GSM протокол, для того чтоб подключить RIM сервесы нужен был отдельный договор с GSM оператором (он стоил не малых денег у нас тогда). Но это все было лет 10 назад, сейчас возможно все изменилось и осталось одно название ...

zaz ★★★★ ()
Ответ на: комментарий от Stil

А какая разница - одно или 100500? И почему до гугла? А если это ипхон или винфон?

Впрочем, хрен с ним. Заменить этот сервер на свой реально? Или оно намертво производителем зашито и изменению не подлежит?

Stanson ★★★★★ ()
Ответ на: комментарий от zaz

Вот именно про это я и спрашивал.

Ибо «постоянное соединение» с россиянскими опсосами - это смешно. А смысла получать уведомление когда телефон внезапно сможет наконец пообщаться с сервером - нет никакого, в общем-то.

Stanson ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

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

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

А какая разница - одно или 100500? И почему до гугла? А если это ипхон или винфон?

У гугла это GCM, у прочих название другое, смысл то похожий.

Приложение по токену идентифицируется. Сервис держит коннект и разруливает пришедшие сообщения между приложениями. Плюс API сервера для твоего бэкенда.

Заменить этот сервер на свой реально?

Кто мешает, если ОС разрешает? Пишешь свой сервис, настраиваешь свой сервер.

vvn_black ★★★★★ ()
Ответ на: комментарий от Stanson

Заменить этот сервер на свой реально? Или оно намертво производителем зашито и изменению не подлежит?

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

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

Про выньфонь ничего не знаю.

KivApple ★★★★★ ()
Ответ на: комментарий от Stanson

А если это ипхон или винфон?

До серверов эпла и майкрософта соответственно.

А какая разница - одно или 100500?

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

А ещё лично замечал такую закономерность - на мобильном интернете соединение, по которому долго ничего не передаётся, может спокойно взять и отвалиться. Скажем, открыл SSH-сессию и 10 минут ничего не печатал, а открыта была только командная оболочка (то есть ничего не выводилось само по себе) - и получаешь Broken pipe. Так что напрашивается периодические отправки данных для поддержания соединения (а значит меньше соединений - меньше трафика).

А ещё мобильная сеть фигово реагирует на 100500 коннектов. Открывать по 1 странице и дожидаться полной загрузке оказывается быстрее, чем открыть 10 вкладок сразу. Потому что там кривая балансировка пропускной способности и обычно одному соединению дают сильно больше полосы, чем остальным.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от Stanson

Вопрос только в том, насколько и как это в современных телефонах связано с тем, что называется push-уведомлениями

Есть предположение что НИКАК.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от Stanson

Ибо «постоянное соединение» с россиянскими опсосами - это смешно.

Нет, это не смешно. Лет 10 уже с постоянно включенным мобильным инетом, особых неудобств даже и не припомню.

vvn_black ★★★★★ ()
Ответ на: комментарий от vvn_black

Кто мешает, если ОС разрешает? Пишешь свой сервис, настраиваешь свой сервер.

Мешает отсутствие возможности таки push уведомление даже если телефон без инета / с дерьмовым инетом

Я допускаю возможность, что тот же GCM таки работает через какие-нибудь те же WAP push, по какому-нибудь соглашению с каким-нибудь опсосом (или сам оным формально является чтобы SMS/MMS эти отсылать всем прочим) а телефон сам разруливает, куда стучаться за контентом.

Stanson ★★★★★ ()
Ответ на: комментарий от vvn_black

Нет, это не смешно. Лет 10 уже с постоянно включенным мобильным инетом, особых неудобств даже и не припомню.

И как, интересно, постоянное соединение остаётся постоянным, если у нас даже при смене LA IP-адрес меняется? Это какое-то новое колдунство, специально для россиянских опсосов в IP протокол запихали?

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

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

anonymous ()
Ответ на: комментарий от KivApple

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

Вот поэтому и хочется воспользоваться более низким уровнем чем IP over GSM/WCDMA

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

через какие-нибудь те же WAP push, по какому-нибудь соглашению с каким-нибудь опсосом

Так, выше же уже говорили, что есть смс, есть флеш-смс. Есть операторы по рассылке смс, но всё это тарифицируется как обычные смски.

vvn_black ★★★★★ ()
Ответ на: комментарий от Stanson

И как, интересно, постоянное соединение остаётся постоянным, если у нас даже при смене LA IP-адрес меняется?

А вот это я совсем не понял. Что мешает сервису, проверять состояние соединения и время от времени реконнектится?

vvn_black ★★★★★ ()
Ответ на: комментарий от vvn_black

Что мешает сервису, проверять состояние соединения и время от времени реконнектится?

Кривые руки программиста и упоротые системы энергосбережения андроида.

anonymous ()
Ответ на: комментарий от Stanson

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

Я не знаю как это работает, но это работает.

KivApple ★★★★★ ()
Ответ на: комментарий от anonymous

Что вообще в твоем понимании push-уведомление?

Ну по-уму должно быть что-то типа WAP push. https://en.wikipedia.org/wiki/Push_Proxy_Gateway читать про Connectionless Push

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

Я похоже понадеялся, что нынешние push-уведомления это развитие старых WAP push, для которых от телефона не требуется ничего, кроме как быть зарегистрированным на БС.

Это было бы логично - механизм есть, прилетает по service channel (который один хрен постоянно прослушивается телефоном) «indicator», телефон предпринимает любые нужные действия - от показывания иконки о том, что что-то есть, до, собственно, получения контента, как в случае MMS какой-нибудь. В общем случае, обычно на телефон приезжает специально отформатированная SMS с адресом (напр. URL) контента. Есть и другие индикаторы (например наличие сообщения на голосовой почте и пр.)

Stanson ★★★★★ ()
Ответ на: комментарий от anonymous

Кривые руки программиста и упоротые системы энергосбережения андроида

Я к тому, что неужели кто-то испытывает неудобство от того, как в том же андроеде это работает? Это же не реалтайм, какая разница, что сообщение об обновлении или о том, что пора урожай собирать придет на 5 минут позже?

vvn_black ★★★★★ ()
Ответ на: комментарий от KivApple

Значит город маленький и в городе одна LA, или на всех LA один пул IP адресов.

Это если http клиент в телефоне или сервак не умеют докачку.

Скорее всего, просто аппликуха которая качает, тупо запрашивает остаток файла при перебоях связи, никак это не демонстрируя юзеру.

Stanson ★★★★★ ()
Ответ на: комментарий от vvn_black

Я к тому, что неужели кто-то испытывает неудобство от того, как в том же андроеде это работает? Это же не реалтайм, какая разница, что сообщение об обновлении или о том, что пора урожай собирать придет на 5 минут позже?

Ну как бы если уж СМСки могут по часу где-то гулять, то что говорить об интернете, которого при хреновом сигнале может не быть сутками?

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

И где там написано, как именно оно на телефон попадёт, если на телефоне инета нету?

А тогда никак, шли тогда смски.

ggrn ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Сейчас не скажу. Просто когдато мной расматривался вариант внедрения блекбери как корпаративный стандарт (для почты и их сервисов), там какраз основным преимуществом был именно PUSH - телефон получает GSM пакет о том что пришло новое письмо (появилось событие в календаре и тд), только после этого телефон поднимает мобильный интернет (WAP/edge) и вытаскивает почту - экономия траффика и всякое такое. Только это окозалось очень дорого в наших реалиях, у нас RIM сервисы потдерживал только MTC и просил за это какието совсем не малые деньги - дешевле было взять нокию и пользовать простой POP3/IMAP4 .

zaz ★★★★ ()
Ответ на: комментарий от anonymous

https://stackoverflow.com/questions/15021883/persistent-tcp-connections-in-te...

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

В твоей деревне в лесу таких вещей как UMTS и тем более LTE конечно же нет, поэтому ты и отстал от жизни.

Ваще-то в лесу как раз всё неплохо даже с LTE. Правда с 5-тиметровой мачтой и параболической антенной наверху, но тем не менее работает. Причём, если антенну направить на другую БС, которая в городе, сигнал будет лучше, но интернета не будет. Вернее будет, но с такими потерями и тормозами это не инет. Потому что другая БС - в городе, а та, через которую работаю - в глуши. А канал что там и там - одинаковый, и это не оптика :)

Stanson ★★★★★ ()
Ответ на: комментарий от qbe

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

Ну чо, маладец, пассажир, рад за тебя.

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

Я к тому этот скриншот привёл, что открытое GCM-соединение достаточно экономное в плане прожорливости.

И ещё надо было упомянуть, что Marshmallow стал существенно менее прожорливым в режиме ожидания.

Кривая разряда отрисована штатным приложением андроида, и достаточно достоверна.

qbe ()
Ответ на: комментарий от ggrn

Аргументов бы. Или экспериментов.

Ну типа «если выключить инет на телефоне, то push-уведомления не приходят, а когда инет включаешь, то сыплются все сразу. Опробовано на iPhone5, SGS3, Lumia780.»

Я что-то нигде не увидел нормального описания связи того же GCM с телефоном, только всякое гогно про то, «как зарегистрировать вашу аппликуху чтобы оно могло в push-уведомления».

Stanson ★★★★★ ()
Ответ на: комментарий от qbe

Я к тому этот скриншот привёл, что открытое GCM-соединение достаточно экономное в плане прожорливости.

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

И ещё надо было упомянуть, что Marshmallow стал существенно менее прожорливым в режиме ожидания.

На ведроид ваще насрать. У меня вообще N9 кругом.

Кривая разряда отрисована штатным приложением андроида, и достаточно достоверна.

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

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

Блин, я и без твоего сарказма могу различать вольты и проценты на оси ординат.

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

p.s. сначала требуешь экспериментов, а потом отвергаешь результаты экспериментов по детски «На ведроид ваще насрать»

qbe ()
Ответ на: комментарий от qbe

сначала требуешь экспериментов, а потом отвергаешь результаты экспериментов по детски «На ведроид ваще насрать»

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

Если таки работают, то, собственно, есть некий Connectionless Push который мне интересен. А уж чего дальше делать я разберусь

А если не работают нигде, ни на ведроиде, ни на ипхоне, ни на винфоне, то собственно и ловить нечего. Вон, жаббер какой подниму, и пусть себе «держит постоянное соединение», если захочется черезжопно сделать. А если не черезжопно - ну буду СМСки себе слать через СМСорассылалку своей конторы, да и всё. Может даже какой WAP push изображу.

Stanson ★★★★★ ()
Ответ на: комментарий от Stanson

а на кой жаббер гордить? если с Инетом есть нормальные средства. можешь кстати дублировать пуш и СМС.

ggrn ★★★★★ ()
Ответ на: комментарий от ggrn

а на кой жаббер гордить?

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

если с Инетом есть нормальные средства. можешь кстати дублировать пуш и СМС.

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

Кстати, как вариант - можно наверно и через SIP сообщения посылать, если, конечно, мегафон позволяет как-то извне отправлять сообщения на мегафоновские SIP аккаунты

Stanson ★★★★★ ()

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

Нужны тебе алерты от кофемолки, так и пиши - есть n9 и вдска - подскажите, как кофемолку твитить научить!

Не вводи людей в заблуждение и не хами.

vvn_black ★★★★★ ()
Ответ на: комментарий от vvn_black

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

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

Нужны тебе алерты от кофемолки, так и пиши - есть n9 и вдска - подскажите, как кофемолку твитить научить!

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

Не вводи людей в заблуждение и не хами.

Хера се. Маркетоидные гандоны выдают свой сраный велосипед за push, а людей в заблуждение ввожу я? И как тут не хамить, интересно? На хамство только хамством и можно ответить.

Stanson ★★★★★ ()
Ответ на: комментарий от ggrn

Ну вот посмотрю как в N9 сделана обработка SMS, может и сделаю. Вообще, в TPDU есть поле TP-PID для которого есть много интересных значений. В т.ч., например, e-mail. Но уровень TPDU может быть недоступен при отправке через какой-нибудь веб-сервис или через свисток. Но есть ещё UDH в котором есть IEI, тоже с кучей интересных значений. И вот UDH-то, в принципе, можно любой делать, вместе с сообщением. Вот, например, популярно, для нубов: http://www.sms-wiki.org/p_65-binary-sms.html

Stanson ★★★★★ ()
Последнее исправление: Stanson (всего исправлений: 1)

Основной цимес в том, что не надо держать в памяти 100500 приложений, слушающих и обрабатывающих соединения, можно приложения спокойно выгружать (вот где энергосбережение лежит!). А одно постоянное соединение на телефоне в 21 веке смущает только совсем уж ретроградов.

Tayler ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.