AppStudio теперь поддерживает Push-уведомления в OS X Mavericks

appstudio-push_nowm

Рады сообщить о том, что наконец-то воплощена в жизнь одна из наших недавних затей – проект AppStudio стал одним из первых сайтов яблочной тематики в рунете, который получил поддержку Safari Push Notifications в OS X Mavericks. Теперь вы можете без всяких RSS-клиентов мгновенно узнавать о любых новых публикациях на нашем сайте. Как только на AppStudio публикуется новый материал, все наши читатели будут сразу же получать уведомление об этом – даже раньше, чем новость уйдёт в Твиттер, ВКонтакте, Facebook или RSS-ленту сайта.

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

Push-уведомления только на первый взгляд кажутся элементарными. Чтобы всё нормально работало, требуется сложная система взаимодействия между нашим сайтом, специальным сервером оформления подписок, серверами уведомлений Apple и, разумеется, вашими компьютерами.

Заглянув на сайт AppStudio из Safari на OS X Mavericks, вы увидите вот такое приглашение:

request_nowm

Нажав «Разрешить», вы подтвердите своё согласие на получение мгновенных уведомлений о новых публикациях на сайте. Если вы нажмёте «Не разрешать», то для вас ровным счётом ничего не изменится, уведомления не будут вас беспокоить до тех пор, пока вы не передумаете.

Передумать можно в настройках Safari на вкладке «Уведомления», где вы увидите список всех сайтов, на которые вы подписывались:

notifications_nowm

Push-уведомления, отправляемые нашим сайтом, ведут себя точно так же, как уведомления обычных программ. Они появляются в углу экрана, ждут вашего внимания несколько секунд, после чего пропадают. Просмотреть накопившиеся новости можно в Центре уведомлений OS X, где под наш сайт будет выделена своя секция:

center_nowm

При желании вы можете настроить количество последних отображаемых уведомлений и их стиль (баннеры или предупреждения) в Системных настройках, внутри пульта «Уведомления». Слева в списке приложений выберите «AppStudio».

appstudio_nowm

Вот ответы на наиболее популярные вопросы, касающиеся Safari Push Notifications:

  • Почему только OS X Mavericks? В старых версиях OS X подобные возможности попросту не предусмотрены, Safari Push Notifications появились лишь в седьмой версии Safari, которая поставляется с Mavericks
  • Уведомления появляются только при открытом браузере? Нет. Push-уведомления доставляются вне зависимости от того, открыт Safari или нет. Они приходят даже в спящем режиме работы компьютера
  • Я обязан пользоваться Safari для ваших уведомлений? Подписываться на Push-уведомления можно только в Safari, в остальных браузерах вы не увидите приглашения. Кроме того, при клике по баннеру уведомления нужная страница с новостью будет открываться именно в Safari. Но это не означает, что мы призываем пользователей других браузеров пересаживаться на Safari. Разве что-то мешает, увидев уведомление, открыть наш сайт в Chrome? :)
  • Ваши уведомления будут приходить на все мои Маки сразу? Нет, на каждом устройстве подписки на уведомления настраиваются отдельно. Но если вы согласитесь получать уведомления на нескольких Маках, они будут приходить туда одновременно
  • Что будет, если я сброшу cookies? Cookies используются только для первоначальной идентификации пользователя. После этого сервер Apple присваивает вашему компьютеру специальный токен, который действует около года. Поэтому переподписываться на уведомления после каждого сброса cookies не требуется.

Напоследок – несколько слов о том, почему реализация этой задачи заняла так долго. Внедрение поддержки Safari Push Notifications требует:

  • наличия SSL-сертификата, выпущенного доверенным источником, и домена, на котором этот сертификат подключён для доступа по протоколу https://. Платить за сертификат только ради уведомлений мы не хотели, а бесплатный сертификат нам не дали, намекнув, что мы занимаемся коммерческой деятельностью, поэтому нам пришлось организовать подписку через отдельный домен (что, впрочем, является обычной практикой)
  • наличия обработчика запросов со стороны Apple, которые направляются сайту при оформлении и отмене подписок на уведомления каждым из пользователей, а также при возникновении ошибок
  • интеграции формирования запросов к серверам Push-уведомлений Apple с движком сайта, чтобы при публикации каждого нового материала формировался правильный пакет данных

Честно скажем, во время работы здравый смысл не раз заставлял нас задать себе вопрос «а стоит ли оно того?». Вряд ли. Но бросать начатое мы очень не любим (иначе весь проект был бы уже наверняка закрыт), да и разобраться во всех перипетиях работы Push-уведомлений было чертовски интересно. В общем, мы рады, что этот квест завершился, и приглашаем всех наших читателей протестировать новую функцию сайта AppStudio.

P.S. Напоминаем, что нам по-прежнему нужна ваша помощь в распространении информации о вакансиях AppStudio. Нам не жаль времени на внедрение новых возможностей сайта ради вас, неужели вам трудно потратить пару секунд на репост или ретвит? ;)