Когда почта доставляет: боремся с потерями push-уведомлений в iOSТехнологии iOS
Работает в Яндексе последние 4 года, руководит группой разработки iOS Почты. iOS-разработкой занимается настолько давно, что это уже перешло в раздел вопросов про возраст: спрашивать неприлично, да и так всё очевидно. Во всех отношениях противоречивый человек: любит Swift, при этом испытывает тёплые чувства к старичку Obj-C (кажется, это зовётся стокгольмский синдром), хочет выступить с докладом про work–life balance, но не имеет никакого представления, о чём говорить; не променяет Петербург ни на один другой город, но лучшие выходные – в Москве с друзьями и, конечно же, не может жить без вина и спорта.
Мы привыкли считать процесс доставки push-уведомлений чем-то неподвластным разработке. Мы добавляем пуши в наши приложения, настраиваем, обвешиваем метриками, но на вопросы, почему пользователи видят лишь часть информации, разводим руками. Apple чётко указывает наше место: ”the delivery of remote notifications is not guaranteed”.
Но, несмотря на отсутствие возможности повлиять на работу APNs-сервиса, всё не так уныло и безнадёжно, как может показаться на первый взгляд. По крайней мере, так подумали мы в команде мобильной почты и подошли к вопросу с другой стороны: что, если мы просто узнаем, какие пуши пользователь не получил, и перезапросим их?
Я расскажу:
* какие жизненные трудности заставили нас встать на эту скользкую дорожку;
* как организован процесс перезапроса пушей;
* про возможности и ограничения push extension'а;
* и неизменно - какие грабли мы собрали в ходе работы.
Как только APNs-сервис перестанет выкидывать наши пуши и увеличит их доставляемость, всё, о чём я собираюсь вам рассказать, станет бесполезным, но AppsConf Moscow 2019 однозначно наступит раньше. Так что заходите узнать, как вы сами можете повлиять на этот процесс.