Как работают мобильные пуши на iOS
Мобильные пуши на iOS отправляются через сервис Apple Push Notification service (APNs).
Документация на сайте Apple.
APNs — это сервис отправки мобильных пушей на телефоны под управлением iOS.
Регистрация устройства
Для отправки мобильных пушей из Mindbox, ваше приложение должно уметь регистрироваться на получение мобильных пушей.
При выполнении всех пунктов инструкции в коде вашего приложения будет доступен токен устройства — это уникальный адрес установленного приложения, который дальше будет использован для отправки мобильных пушей.
Регистрация на уведомления происходит только на реальных устройствах, если запустить приложение на эмуляторе iOS — регистрация не произойдет.
Окружения APNs
Apple предлагает 2 независимых окружения для каждого приложения: production и sandbox.
Окружение — это независимая база токенов (адресов телефонов для отправки пушей) APNS.
Выбор окружения операционная система телефона делает сама в зависимости от того, как запущено приложение:
— если приложение запущено разработчиком из xCode на физическом телефоне, подключенным по проводу, используется sandbox-окружение;
— если приложение установлено из AppStore, Test Flight или Firebase App Desctribution, используется production-окружение.
Проще говоря, sandbox — это тестовая площадка, а production — боевая.
Эти базы не пересекаются, поэтому если получить токен из sandbox-окружения и попробовать отправить пуш через production, при отправке случится ошибка. И наоборот.
Если креды для Sandbox и Production совпадают, достаточно добавить одну точку интеграции и отправлять тестовые сообщения, поставив соответствующую настройку в рассылке:
В таком случае push-уведомление будет отправлено только в тестовое окружение sandbox.
Если же креды отличаются, подойдет одно из решений:
- Создать на проекте две точки интеграции: для production и sandbox.
- Создать 1 точку интеграции и перед релизом приложения поменять креды в настройках точки интеграции.
Разрешения на уведомления
На iOS пользователь должен явно разрешить приложения показывать уведомления. Для этого используется системный попап, который отображается по команде из кода приложения.
До момента, пока пользователь явно не разрешит отображение — пуши показываться не будут.
Если пользователь захочет поменять свое решение, то это можно сделать через системные настройки, в разделе вашего приложения.
Обработка пуша
Когда пуш приходит в телефон, он обрабатывается следующим образом:
1. Система получает пуш.
2. Запускает Notification Service Extension. Если в пуше была картинка, она скачивается и добавляется в пуш маленьким квадратиком.
3. Система отображает пуш в шторке уведомлений.
4. Если пользователь долго жмет на пуш, то система запускает Notification Content Extension, который отображает дополнительный контент пуша. Обычно это большая картинка и кнопки.