Наверх
42 комментария 23/01/2013

Почему в почтовых приложениях для iOS нет Push?

Почему в почтовых приложениях для iOS нет Push?

Электронная почта – самый удобный и распространенный способ общения во всем мире. Эту информацию я не проверял, но звучит хорошо и выглядит правдоподобно, пусть будет. Я ею пользуюсь ежедневно и очень активно, даже рассказал вам, как. В этой же статье я упоминал про анонс нового почтового клиента – Mailbox, который должен выйти через несколько недель. Для моей модели использования этот клиент должен быть идеальным, поэтому я зарегистрировался на сайте и жду релиза. Однако, главное, что может не случиться с Mailbox – push, которого не было и в Sparrow.

Вы не задумывались, почему так мало почтовых клиентов для iOS поддерживают push-оповещения? Почему этой функциональности не было в Sparrow, теперь нет в Seed и, будьте уверены, в долгожданном Mailbox push также не будет. Можно было бы предположить, что почтовый клиент с push-оповещениями сделать невозможно, но ведь оф.клиент Gmail или Яндекс оснащены такой функциональностью.

Push-оповещения для iOS

Причина – Apple. iOS закрывает приложения в фоне, соответственно, они не могут оповещать вас о каких либо изменениях. Если речь идет о Skype, то такого рода приложения относятся к VoIP и для этой категории Apple разрешила получать оповещения. Поэтому, о новом звонке в Skype вас оповещают стандартным iOS-уведомлением. Разработчики Sparrow изначально пошли тем же путем и реализовали поддержку уведомлений, как для приложений интернет-телефонии, но цензоры AppStore не пропустили приложение. Со временем разработчики должны были предоставить пользователям платную подписку на сервис, в котором работали бы оповещения. Но этому не суждено было сбыться.

Sparrow

Но как, не прибегая к взлому ОС, разработчики планировали добавить push-оповещения? На самом деле, Apple не против push, эта функциональность присутствует в большинстве игр, к примеру. Но ее реализация везде разная. К примеру, если вы играете в Infinity Blade 2, создаете камень в игре, то по его созданию вы будете оповещены push-сообщением. Если предварительно вы разрешили это сделать. В таком случае, push работает, как будильник. Само приложение на вашем смартфоне ставит себе напоминание, что через такое то время должно выскочить уведомление. Но почта – другой вопрос. Когда вы выходите из того же Sparrow, iOS ставит приложение на паузу. То есть, оно быстро запустится при переходе в него, но фактически не функционирует в фоне. Соответственно, пока вы не запустите приложение, оно не увидит новых писем.

Создание камня

Однако, пуш-уведомления таки можно реализовать для почтовых программ. У Apple есть специальный сервер – APNS (Apple Push Notification Server), который и рассылает оповещения. Разработчик же получает сертификат у Apple для пользование этой функциональностью. Но тут есть два нюанса. Первый – Apple не гарантирует доставку Push, но, все же, в 99,9% случаев, пользователь получает уведомление. А вот второй нюанс и является главной загвоздкой. Разработчик почтового приложения должен собирать вашу почту, чтобы, как только появляется новое письмо, присылать вам уведомление. А это значит, все ваши личные данные должны храниться не только у Google, к примеру, а и у почтового сервиса (Sparrow, Seed…) в облаке. Включая саму почту. Все бы ничего, я бы согласился, наверное, но ведь защита у такого рода компаний куда слабее, чем в Google. А значит, заполучить ваши данные намного легче. Кража пользовательских данных = суды и 100%-й край для компании. Сейчас же, все личные данные (логины, пароли) хранятся непосредственно на устройстве пользователя и именно он несет ответственность за их сохранность. Также и размер почты пользователей, для Google или Яндекс – не проблема, а вот для маленькой конторы, типа Sparrow, Seed или Mailbox – практически непосильная задача. Но, видимо, амбициозные ребята из Sparrow хотели взяться за это все, но их успел поглотить Google.

Теперь становится понятно, почему в стандартных почтовых приложениях Gmail, Yahoo, Яндекс и др. push работает. Вся почта и личные данные пользователей так и так находятся у них! Так что, всем Android :)

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

42 комментария

по хронологии
по рейтингу сначала новые по хронологии
1

Вот это рисерчь на наболевшую тему. Спасибо, было интересно и познавательно, на последнем предложении даже слезу пустил :-)

2

А чем не устраивает Gmail.App?

Автор3

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

4

Саша, сорри за офтом, но не могу настроить Seed. Блин, постоянно пишет что imap server не верен. Хотя, он вроде как стандартно сам их распознает. В общем, и майловскую пытался настроить и джимейловскую, одно и то же. В чем может быть проблема?

5

Вообще-то в Mailbox будет пуш) Об этом даже на офф сайте у них написано.

Mailbox checks your email from the cloud, then delivers it to your phone securely. You can even get push notifications for new messages.

И рядом картинка

6

Есть gmail, чего ныть-то?

7

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

Так что, всем Android :) (с)

8

Неужели в таком большом и позитовном, а главное креативном,сommunity не найдется пара-тройка программистов запилить крутой! клиент?!

Автор9

Ты живешь в параллельной эфемерной реальности :) Это сделать крайне сложно!

10

Хахаха, так сложно или невозможно?

12

интересно, даже очень! может рубрику сделаете подобную, где будете рас в неделю расказывать подобные вещи:)

13

Но самое интересное что ребята из sparrow предлагают альтернативу push. Как они говорят ставим Boxcar и делаем открытие сообщений push в sparrow из boxcar... Короче муть блин обидно и печально, но жаль...

Apple предлагает решить проблему push со стандартным почтовым клиентом, путем Microsoft exchange ... Но видимо не к этой теме

14

Так что, всем Android :)

Тут я готов с вами поспорить, так как на Андроид ситуация точно такая же (если вы говорите о мгновеном получении почты). Держать постоянно запущенный сервис, который каждые 30 секунд будет проверять ваш почтовый сервер - это считайте минус еще 20% вашей батареи. Получить push от сторонних разработчиков невозможно по тем же причинам, что и в iOS.

Единственное решение которое может предложить Android, проверять почту раз в 5-10 минут. Батарея будет таять не так быстро да и почта обновляется не так уж и часто. Но ведь это уже не мнгновенно.

Так что, всем Gmail :)

15

а в айосе для пуша не нужен постоянный коннект?

16

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

17

https://play.google.com/store/apps/details?id=com.latedroid.juicedefender

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

18

Как это приложение может помочь решить данную проблему? о_О Все приложения в андроид выполняются в собстенных экземплярах виртуальной машины Dalvik. Поэтому ваше приложение не может "собирать все запросы приложений в кучу", у каждого приложения будут свои запросы.

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

19

Просто ещё раз перечитайте описание.

Автор20

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

21

Не соглашусь здесь так как в iOS в настройках типовой то есть встроенной почты а именно в настройках push есть параметр вручную то есть можно задать вручную интервал обновления

22

Но и батарею k9 будет кушать раз в определенный промежуток времени, а Gmail нет. Так как за pushами и Android, и iOS будет лезть в любом случае при возможности подключится к своим серверам.
Тут стоит скорей вопрос, что для вас важней: дополнительные фичи сторонних почтовых клиентов, либо живучесть батареи вашего смартфона.

23
Дмитрий Ахатов

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

24

Жесть. Достойно диссертации. "письмо приходит на сервер, потом сервер делает запрос на приложение".

Мальчики... Сервис/демон/процесс (я хз как оно там в номенклатуре яблок) просто всегда вистит в памяти всегда и мониторит сеть. А потом по мессаге (флагу) вызывает нужное приложение. Что, всё сложно и непонятно?

25
Сергей

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

26

Советую почитать здесь http://www.slideshare.net/andyarosh/push-1744753

ПОЧТОВЫЙ СЕРВЕР СОЗДАЕТ СКРЫТОЕ TCP СОЕДИНЕНИЕ КОТОРОЕ НАХОДИТЬСЯ В "СПЯЩЕМ РЕЖИМЕ" И КАК ТОЛЬКО НА СЕРВЕР ПОСТУПАЕТ ПИСЬМО ПОДАЕТСЯ СИГНАЛ ПРИЛОЖЕНИЮ "БУДИТ ЕГО" ЧТО ПИСЬМО ПРИШЛО, ПРИ ЭТОМ ОТПРАВЛЯЯ КРАТКОЕ СОДЕРЖАНИЕ ПИСЬМА.

27

Сигнал. Молотом в рельсу. Ага:)

Страшное у нс будущее.

Автор28

Почтовый клиент выключен, сервер не может удаленно включить его.

29
Дмитрий Ахатов

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

30
Дмитрий Ахатов

По такому принципу работает и WHATSAPP. А вот Apple ввиду своей индивидуальности не поддерживает миханизм выталкивания страниц

31
Дмитрий Ахатов

И еще. Push наоборот экономит батарею так как приложение спит до тех пор пока к нему не обратиться сервер.

32

Для всех iOS юзеров с почтой на Gmail (а также контактами и календарями) рекомендую пока не поздно настроить родной Gmail аккаунт через MS Exchange, и собирать пушем почту, контакты и календари в нативных приложениях на телефоне. С февраля гугл отключит возможность нового подключения через exchange, но для тех, кто успел подключиться ранее - все будет работать и дальше.

34

А в чем фейспалм то? CardDav и CalDav уже давно существуют. Вот только через Exchange все настраивается :

а) одним аккаунтом через сервер m.google.com

б) почта, контакты и календари синхронизируются пушем

в) все работает через нативные приложения.

В отличие от описанного альтернативного способа, где:

а) нужно ставить 1 доп. приложение и добавлять 2 аккаунта для CardDav и CalDav

б) пуш поддерживает только Gmail App, CardDav и CalDav - только по IMAP

Чувствуете разницу?

35

Клиент gmail неплох. Нилай и некоторые другие редакторы TheVerge подтвердили, что время работы от батареи при отключенном exchange заметно выросло. Разве это не стоит того? Особенно учитывая, что гугл прекращают поддержку exchange.

36
Алексий

Так нужно тег добавить "онолитека от саши"

Автор37

Онолитека - это умные размышления, а тут факты )

39
Alex Poltavets

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

40
Евгений

Ну в MailBox будет уведомления, на сайте написано! или нет?

42
Евгений

и в Whatsapp есть же пуш, как у них он работает?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

Modal box

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: