Почему в почтовых приложениях для 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 :)

Please wait...
Теги: , , , , , , ,
0
42 Комментарий
Сначала Новые
Сначала Старые Популярные
guest

Межтекстовые Отзывы
Посмотреть все комментарии
Евгений
Евгений
11 лет назад

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

Please wait...
Евгений
Евгений
11 лет назад

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

Please wait...
Иван
Иван
11 лет назад
Ответ  Евгений

Будут

Please wait...
Alex Poltavets
Alex Poltavets
11 лет назад

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

Please wait...
Алексий
Алексий
11 лет назад

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

Please wait...
Барышников Андрей
Барышников Андрей
11 лет назад

безумные размышления!

Please wait...
Алексей
Алексей
11 лет назад

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

Please wait...
Phen
Phen
11 лет назад
Ответ  Алексей

фейспалм :(
http://www.theverge.com/2012/12/5/3732364/best-way-gmail-google-calendar-iphone-how-to

Please wait...
Алексей
Алексей
11 лет назад
Ответ  Phen

А в чем фейспалм то? CardDav и CalDav уже давно существуют. Вот только через Exchange все настраивается :
а) одним аккаунтом через сервер m.google.com
б) почта, контакты и календари синхронизируются пушем
в) все работает через нативные приложения.

В отличие от описанного альтернативного способа, где:
а) нужно ставить 1 доп. приложение и добавлять 2 аккаунта для CardDav и CalDav
б) пуш поддерживает только Gmail App, CardDav и CalDav – только по IMAP

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

Please wait...
Phen
Phen
11 лет назад
Ответ  Алексей

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

Please wait...
Дмитрий Ахатов
Дмитрий Ахатов
11 лет назад

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

Please wait...
Дмитрий Ахатов
Дмитрий Ахатов
11 лет назад

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

Please wait...
Дмитрий Ахатов
Дмитрий Ахатов
11 лет назад

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

Please wait...
Дмитрий Ахатов
Дмитрий Ахатов
11 лет назад

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

Please wait...
Михаил
Михаил
11 лет назад

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

Please wait...
Дмитрий (diascooter) Ахатов
Дмитрий (diascooter) Ахатов
11 лет назад
Ответ  Михаил

Советую почитать здесь http://www.slideshare.net/andyarosh/push-1744753
ПОЧТОВЫЙ СЕРВЕР СОЗДАЕТ СКРЫТОЕ TCP СОЕДИНЕНИЕ КОТОРОЕ НАХОДИТЬСЯ В “СПЯЩЕМ РЕЖИМЕ” И КАК ТОЛЬКО НА СЕРВЕР ПОСТУПАЕТ ПИСЬМО ПОДАЕТСЯ СИГНАЛ ПРИЛОЖЕНИЮ “БУДИТ ЕГО” ЧТО ПИСЬМО ПРИШЛО, ПРИ ЭТОМ ОТПРАВЛЯЯ КРАТКОЕ СОДЕРЖАНИЕ ПИСЬМА.

Please wait...
Михаил
Михаил
11 лет назад

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

Please wait...
Сергей
Сергей
11 лет назад
Ответ  Михаил

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

Please wait...
AndriyDruk
AndriyDruk
11 лет назад

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

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

Please wait...
AndriyDruk
AndriyDruk
11 лет назад

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

Please wait...
vvchumanov
vvchumanov
11 лет назад

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

Please wait...
Михаил
Михаил
11 лет назад
Ответ  AndriyDruk

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

Please wait...
AndriyDruk
AndriyDruk
11 лет назад
Ответ  Михаил

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

Please wait...
Михаил
Михаил
11 лет назад
Ответ  AndriyDruk

https://play.google.com/store/apps/details?id=com.latedroid.juicedefender
в помощь. Оно какраз собирает все запросы приложений в кучу и делает это раз во сколько то времени, экономя заряд, трафик.

Please wait...
AndriyDruk
AndriyDruk
11 лет назад
Ответ  Михаил

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

Please wait...
Михаил
Михаил
11 лет назад
Ответ  AndriyDruk

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

Please wait...
vvchumanov
vvchumanov
11 лет назад

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

Please wait...
bogomolnyi
bogomolnyi
11 лет назад

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

Please wait...
Капец
Капец
11 лет назад

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

Please wait...
alexkink
alexkink
11 лет назад
Ответ  Капец

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

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

Please wait...
Капец
Капец
11 лет назад
Ответ  alexkink

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

Please wait...
Капец
Капец
11 лет назад

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

Please wait...
Барышников Андрей
Барышников Андрей
11 лет назад
Ответ  Капец

сделаешь нам клиент?

Please wait...
alexkink
alexkink
11 лет назад

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

Please wait...
Иван
Иван
11 лет назад

Вообще-то в Mailbox будет пуш) Об этом даже на офф сайте у них написано.
Mailbox checks your email from the cloud, then delivers it to your phone securely. You can even get push notifications for new messages.
И рядом картинка http://www.mailboxapp.com/images/notification-shot.png

Please wait...
Baimuk
Baimuk
11 лет назад

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

Please wait...
Артур
Артур
11 лет назад

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

Please wait...
Наверх