Электронная почта – самый удобный и распространенный способ общения во всем мире. Эту информацию я не проверял, но звучит хорошо и выглядит правдоподобно, пусть будет. Я ею пользуюсь ежедневно и очень активно, даже рассказал вам, как. В этой же статье я упоминал про анонс нового почтового клиента – Mailbox, который должен выйти через несколько недель. Для моей модели использования этот клиент должен быть идеальным, поэтому я зарегистрировался на сайте и жду релиза. Однако, главное, что может не случиться с Mailbox – push, которого не было и в Sparrow.
Вы не задумывались, почему так мало почтовых клиентов для iOS поддерживают push-оповещения? Почему этой функциональности не было в Sparrow, теперь нет в Seed и, будьте уверены, в долгожданном Mailbox push также не будет. Можно было бы предположить, что почтовый клиент с push-оповещениями сделать невозможно, но ведь оф.клиент Gmail или Яндекс оснащены такой функциональностью.
Причина – Apple. iOS закрывает приложения в фоне, соответственно, они не могут оповещать вас о каких либо изменениях. Если речь идет о Skype, то такого рода приложения относятся к VoIP и для этой категории Apple разрешила получать оповещения. Поэтому, о новом звонке в Skype вас оповещают стандартным iOS-уведомлением. Разработчики Sparrow изначально пошли тем же путем и реализовали поддержку уведомлений, как для приложений интернет-телефонии, но цензоры AppStore не пропустили приложение. Со временем разработчики должны были предоставить пользователям платную подписку на сервис, в котором работали бы оповещения. Но этому не суждено было сбыться.
Но как, не прибегая к взлому ОС, разработчики планировали добавить 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 :)
и в Whatsapp есть же пуш, как у них он работает?
Ну в MailBox будет уведомления, на сайте написано! или нет?
Будут
Вчера купил айпед, сегодня решил накачать не игры, а уже полезные программы для учебы и тут внезапно эта статья! Как я рад! Первая прога вообще улет.
Так нужно тег добавить “онолитека от саши”
Онолитека – это умные размышления, а тут факты )
безумные размышления!
Для всех iOS юзеров с почтой на Gmail (а также контактами и календарями) рекомендую пока не поздно настроить родной Gmail аккаунт через MS Exchange, и собирать пушем почту, контакты и календари в нативных приложениях на телефоне. С февраля гугл отключит возможность нового подключения через exchange, но для тех, кто успел подключиться ранее – все будет работать и дальше.
фейспалм :(
http://www.theverge.com/2012/12/5/3732364/best-way-gmail-google-calendar-iphone-how-to
А в чем фейспалм то? CardDav и CalDav уже давно существуют. Вот только через Exchange все настраивается :
а) одним аккаунтом через сервер m.google.com
б) почта, контакты и календари синхронизируются пушем
в) все работает через нативные приложения.
В отличие от описанного альтернативного способа, где:
а) нужно ставить 1 доп. приложение и добавлять 2 аккаунта для CardDav и CalDav
б) пуш поддерживает только Gmail App, CardDav и CalDav – только по IMAP
Чувствуете разницу?
Клиент gmail неплох. Нилай и некоторые другие редакторы TheVerge подтвердили, что время работы от батареи при отключенном exchange заметно выросло. Разве это не стоит того? Особенно учитывая, что гугл прекращают поддержку exchange.
И еще. Push наоборот экономит батарею так как приложение спит до тех пор пока к нему не обратиться сервер.
По такому принципу работает и WHATSAPP. А вот Apple ввиду своей индивидуальности не поддерживает миханизм выталкивания страниц
Помоему push работает так: письмо приходит на сервер, потом сервер делает запрос на приложение, если вы онлайн то вы его получаете если нет то нет. И почтовый клиент находится как бы в спящем режиме
Почтовый клиент выключен, сервер не может удаленно включить его.
Я не говорю о включении, я сказал что сервер делает запрос на приложение и если почтовый клиент онлайн то он получит почту. То есть не приложение динамит сервер а наоборот.
Жесть. Достойно диссертации. “письмо приходит на сервер, потом сервер делает запрос на приложение”.
Мальчики… Сервис/демон/процесс (я хз как оно там в номенклатуре яблок) просто всегда вистит в памяти всегда и мониторит сеть. А потом по мессаге (флагу) вызывает нужное приложение. Что, всё сложно и непонятно?
Советую почитать здесь http://www.slideshare.net/andyarosh/push-1744753
ПОЧТОВЫЙ СЕРВЕР СОЗДАЕТ СКРЫТОЕ TCP СОЕДИНЕНИЕ КОТОРОЕ НАХОДИТЬСЯ В “СПЯЩЕМ РЕЖИМЕ” И КАК ТОЛЬКО НА СЕРВЕР ПОСТУПАЕТ ПИСЬМО ПОДАЕТСЯ СИГНАЛ ПРИЛОЖЕНИЮ “БУДИТ ЕГО” ЧТО ПИСЬМО ПРИШЛО, ПРИ ЭТОМ ОТПРАВЛЯЯ КРАТКОЕ СОДЕРЖАНИЕ ПИСЬМА.
Сигнал. Молотом в рельсу. Ага:)
Страшное у нс будущее.
push всегда инициирует сервер, поэтому нет нужды опрашивать приложению почтовый ящик.
Так что, всем Android :)
Тут я готов с вами поспорить, так как на Андроид ситуация точно такая же (если вы говорите о мгновеном получении почты). Держать постоянно запущенный сервис, который каждые 30 секунд будет проверять ваш почтовый сервер – это считайте минус еще 20% вашей батареи. Получить push от сторонних разработчиков невозможно по тем же причинам, что и в iOS.
Единственное решение которое может предложить Android, проверять почту раз в 5-10 минут. Батарея будет таять не так быстро да и почта обновляется не так уж и часто. Но ведь это уже не мнгновенно.
Так что, всем Gmail :)
Значит так, но в том же k9 есть хотя бы возможность проверять раз в определенный промежуток времени, в приложениях для iOS этого нет..
Но и батарею k9 будет кушать раз в определенный промежуток времени, а Gmail нет. Так как за pushами и Android, и iOS будет лезть в любом случае при возможности подключится к своим серверам.
Тут стоит скорей вопрос, что для вас важней: дополнительные фичи сторонних почтовых клиентов, либо живучесть батареи вашего смартфона.
Не соглашусь здесь так как в iOS в настройках типовой то есть встроенной почты а именно в настройках push есть параметр вручную то есть можно задать вручную интервал обновления
а в айосе для пуша не нужен постоянный коннект?
Нужен. Но в iOS соединение всегда одно, так как Apple в основном (есть исключения) не разрешает приложениям лазить в интернет с бэкграунда. На свой Андроид вы можете установить сколь угодно много таких приложений и соответсвенно у вас в фоне будет сколь угодно много постоянных соединенний и батарея… ну я думаю вы уловили мысль ;-)
https://play.google.com/store/apps/details?id=com.latedroid.juicedefender
в помощь. Оно какраз собирает все запросы приложений в кучу и делает это раз во сколько то времени, экономя заряд, трафик.
Как это приложение может помочь решить данную проблему? о_О Все приложения в андроид выполняются в собстенных экземплярах виртуальной машины Dalvik. Поэтому ваше приложение не может “собирать все запросы приложений в кучу”, у каждого приложения будут свои запросы.
Максимум что делает это приложение выключает/включает интернет по расписанию, согласитесь не очень изящное решение. Куда лучше использовать в приложениях APNS, или GCM соотвественно.
Просто ещё раз перечитайте описание.
Но самое интересное что ребята из sparrow предлагают альтернативу push. Как они говорят ставим Boxcar и делаем открытие сообщений push в sparrow из boxcar… Короче муть блин обидно и печально, но жаль…
Apple предлагает решить проблему push со стандартным почтовым клиентом, путем Microsoft exchange … Но видимо не к этой теме
интересно, даже очень! может рубрику сделаете подобную, где будете рас в неделю расказывать подобные вещи:)
Есть gmail, чего ныть-то?
Меня например он раздражает адскими тормозами и невозможностью по человечески скопировать часть письма.
Так что, всем Android :) (с)
Неужели в таком большом и позитовном, а главное креативном,сommunity не найдется пара-тройка программистов запилить крутой! клиент?!
Ты живешь в параллельной эфемерной реальности :) Это сделать крайне сложно!
Хахаха, так сложно или невозможно?
сделаешь нам клиент?
А чем не устраивает Gmail.App?
Тут же не вопрос того, устраивает ли. Вопрос в том, что по другому никак. Сегодня устраивает, завтра выйдет намного более устраивающее приложение Mailbox, а пользоваться им без пуша не смогу.
Вообще-то в 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
Саша, сорри за офтом, но не могу настроить Seed. Блин, постоянно пишет что imap server не верен. Хотя, он вроде как стандартно сам их распознает. В общем, и майловскую пытался настроить и джимейловскую, одно и то же. В чем может быть проблема?
Вот это рисерчь на наболевшую тему. Спасибо, было интересно и познавательно, на последнем предложении даже слезу пустил :-)