Подписаться

Push-уведомления для Android

Есть два способа отправлять push-уведомления на устройство:

1. Отправка уведомлений реализована на вашем сервере (Рекомендуемый)

Вы можете прислать нам URL вашего сервера, на который с сервера LiveTex будут поступать вебхуки с сообщениями в формате JSON. Ваш сервер на основе полученных данных сможет отправить push-уведомление.

Плюсы такого подхода:

  • Безопасность. Вам не требуется передавать третьей стороне ключи и пароли для работы с уведомлениями для вашего приложения. 
  • Гибкость. Вы сами регулируете содержание уведомлений и контролируете их отправку.

Сервер LiveTex посылает вебхук при новом сообщении от оператора в том случае, если связь с приложением прервалась и приложение не восстанавливает соединение с сервером LiveTex заданное время. Из всех сообщений, которые были высланы оператором за время отведённое на восстановление соединения, в вебхуке будет только последнее сообщение. Для отображения в приложении всех сообщений, которые были отправлены, пока отсутствовало соединение, при возвращении на экран чата необходимо загрузить историю при помощи метода getHistory/messageHistory.

Отправляемые в JSON данные:

Поле Тип данных Обязательность Описание
version string + Строка, версия протокола (сейчас только 1) обязательно
platform string + "ios" | "android" - перечисление может быть либо ios либо android
to string + id устройства пользователя
text string - текст сообщения
url string - ссылка на файл

Возможные варианты комбинации text/url:
 - задан text, не задан url - текстовое сообщение;
- не задан text, задан url - сообщение содержащее файл;
- задан text, задан url - отправлен файл с комментарием.

 

2. Отправка уведомлений с сервера LiveTex.

Основные понятия

REGISTRATION_ID — уникальный ID устройства, необходимый для отправки push-уведомлений на устройство.
SERVER_API_KEY — ключ, необходимый для отправки сообщений с сервера LiveTex на сервер FCM.
FCM (Firebase Cloud Messaging) — сервис, позволяющий отправлять и получать push notification-сообщения.

Условия для работы с FCM

Регистрация устройства

  1. Android устройство регистрируется на сервер FCM.
  2. FCM-сервер отдаёт registration ID для устройства.
  3. Сервер LiveTex сохраняет registration ID.

 Отправка push-уведомления

  1. Сервер LiveTex отсылает запрос на сервер FCM с registration ID.
  2. FCM отсылает push-уведомление на устройство. 

Для отправки push-уведомлений в Android-приложение потребуются

  1. Android приложение, подключенное к FCM.
  2. Registration ID.
  3. Закрытый ключ из консоли FCM. 

Если всё вышеперечисленное уже есть, то вам необходимо отправить Закрытый ключ на email: sdk.customers@livetex.ru

Создание push-уведомлений

Шаг 1. Создание проекта Google API и активация сервиса FCM

Чтобы отправить push-сообщение в Android приложение, необходимо иметь проект в FCM.

Если у вас ещё не создан проект в  FCM, то создайте его на этой странице: https://console.firebase.google.com

Более подробная инструкция о создании проекта и добавлении вашего приложения в проект доступна тут: https://firebase.google.com/docs/android/setup

Шаг 2. Получение Закрытого ключа для сервера 

Чтобы иметь возможность обратиться к FCM от вашего имени, сервер LiveTex использует Закрытый ключ API. Этот ключ будет использоваться в дальнейшем для отправки push-уведомлений на мобильное устройство. 

Для получения Закрытого ключа для сервера необходимо:

1. Находясь в консоли Firebase перейдите в настройки вашего проекта на вкладку Сервисные аккаунты: https://console.firebase.google.com/project/<project_id>/settings/serviceaccounts/adminsdk Как на этих снимках:

2019-09-19_13-43-16.png

2019-12-19_17-38-03__3_.png
2. Если сервисный аккаунт ещё не создан, то нажмите Создать серверный аккаунт. Аккаунт будет создан автоматически. После создания сервисного аккаунта страница будет выглядеть так:

2019-12-19_17-38-26__2_.png

 

3. Если закрытый ключ ещё не создан, то нажмите Создание закрытого ключа. Появится модальное окно с информацией и кнопкой для подтверждения процесса создания ключа. После нажатия на кнопку Создать ключ браузер скачает файл с расширением .json, в котормо будет содержаться закрытый ключ. Полученный файл необходимо отправить на почту sdk.customers@livetex.ru или support@livetex.ru, указав ваш ключ разработчика или идентификатор вашего аккаунта в Livetex.

 

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

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии