Push-уведомления AppStudio адаптированы под OS X Yosemite

notification_nowm

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

Недавно мы заметили, что Push-уведомления AppStudio не работают в OS X Yosemite. Хотя мы не любим адаптировать сайт под бета-версии (потому что к релизу многие баги обычно исправляются сами собой), проблема была расследована, и на этот раз причины оказались на удивление глубоко. В итоге мы переработали движок, рассылающий уведомления. О том, чем всё кончилось, рассказано ниже.

Отныне сайт заново предложит подписаться на уведомления всем пользователям Safari в Mavericks или Yosemite. Те, кто дадут согласие, смогут получать уведомления и в Mavericks, и в Yosemite. Те, кто не дадут, перестанут получать уведомления, пока не изменят выбор (вкладка «Уведомления» в настройках Safari).

Кроме того:

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

Отдельно приносим извинения за спам, с которым могли столкнуться наши читатели, заглянувшие сегодня на сайт и заново подписавшиеся на уведомления. Нам нужно было протестировать обновлённые скрипты рассылки при различных условиях их запуска. Больше постараемся не спамить :)

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