Найти в Дзене

Push-уведомления. Краткий гайд

Push-уведомления считаются одним из основных инструментов вовлечения и удержания пользователей. Даже если mobile-разработка - не ваш профиль, минимальные знания о принципах работы Push-уведомлениях могут оказаться полезны. Благо наш разработчик Константин составил краткий и удобный гайд. Какие бывают Push-уведомления Можно выделить три вида: · для iOS; · для Android; · Для стационарных ПК. При этом, два последних можно объединить, так как для их отправки будет использоваться один и тот же механизм. Какие сервисы используются для отправки Push-уведомлений · APNS – Apple Push Notification Service; · GCM – Google Cloud Messages. Как настроить отправку PUSH-уведомлений ВАЖНО! Описанные ниже принципы применимы как для PHP, так и для Python, Ruby, NodeJS, Java и т.д. Мы говорим об общих принципах, а не о конкретной реализации на каком-либо языке программирования. Подготовка авторизации Данные сервисы используют различные методы передачи данных для PUSH-уведомлений и различные способы авт

Push-уведомления считаются одним из основных инструментов вовлечения и удержания пользователей. Даже если mobile-разработка - не ваш профиль, минимальные знания о принципах работы Push-уведомлениях могут оказаться полезны. Благо наш разработчик Константин составил краткий и удобный гайд.

Какие бывают Push-уведомления

Можно выделить три вида:

· для iOS;

· для Android;

· Для стационарных ПК.

При этом, два последних можно объединить, так как для их отправки будет использоваться один и тот же механизм.

Какие сервисы используются для отправки Push-уведомлений

· APNS – Apple Push Notification Service;

· GCM – Google Cloud Messages.

Как настроить отправку PUSH-уведомлений

ВАЖНО!

Описанные ниже принципы применимы как для PHP, так и для Python, Ruby, NodeJS, Java и т.д. Мы говорим об общих принципах, а не о конкретной реализации на каком-либо языке программирования.

Подготовка авторизации

Данные сервисы используют различные методы передачи данных для PUSH-уведомлений и различные способы авторизации.

-2

Для передачи данных как для iOS, так и для Android, используется формат JSON.

SSL-сертификат и авторизационный токен, как правило, необходимо получить у Android и iOS разработчиков.

При публикации проекта необходимо заменить сертификат и токен на production-версии.

Как правило, сертификат для Apple передается в виде P12-файла. Перед использованием его необходимо преобразовать в PEM-файл и задать для него кодовую фразу для доступа. Для этого можно воспользоваться приложением openssl для Unix-систем.

Для этого нужно выполнить следующую команду:

openssl pkcs12 -out <имя pem-файла> -in <имя p12-файла>

Авторизационный токен для GCM никак дополнительно преобразовывать не нужно.

-3

Особенности отправки

Как правило, работа с PUSH-уведомлениями строится в следующей последовательности:

  • Приложение получает токен устройства и передает его на сервер;
  • Серверное приложение сохраняет токен в базе данных;
  • При необходимости отправки уведомления серверное приложение берет токен из базы данных и обращается к необходимому сервису (APNS или GCM).

При отправке PUSH-уведомления на iOS важно учитывать одну особенность. Как правило, iOS-устройства присылают токен в формате base64. Но сервис APNS с таким токеном не работает. Токен нужно посылать в hex-формате.

Токен для Android-устройства никак преобразовывать не нужно.

Обязательным параметром для отправки PUSH-уведомления является текст сообщения. Кроме этого, в PUSH-уведомления также можно передавать дополнительные параметры, например, тип и идентификатор сущности, которую необходимо отобразить при открытии PUSH-уведомления.

Отсутствие ошибки при обращении к соответствующему сервису можно трактовать как успешную отправку. Так как в противном случае выбрасывается исключение.

А что с PHP-фреймворками

Для фреймворков Yii2 и Laravel имеются готовые модули для отправки PUSH-уведомлений.

Следует также отметить, что режим работы приложений (Android и iOS) должен совпадать с режимом отправки PUSH-уведомлений, то есть, если приложение собрано для работы в режиме production, то и сертификат или токен тоже должен быть для этого режима.

Как отправить уведомление на компьютер с Windows?

Так же, как и на Android.

Как отличить токен от iOS и от Android?

Длина токена от iOS-устройства в hex-виде равна 64. Токен от Android значительно длиннее.

-4

Главное не переусердствовать

Push-уведомления могут отлично дополнить ваш сайт или приложение, но это тонкий инструмент, пользоваться которым нужно осторожно. Уведомления должны содержать содержать подходящий посыл, появляться в нужное время, и в нужном месте. Добиться этого можно только опытным путем. Нужно проводить тесты, и собирать фидбэк.