Есть два способа отправлять 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 через Firebase Cloud Messaging.
Шаг 1: Подключите сервисы Google к вашему приложению
Если у вас уже есть проект в Firebase с подключенными уведомлениями, то вы можете перейти к следующему шагу.
Если пока еще нет, то откройте страницу консоли FCM и создайте новый проект:
Нажмите на “Добавить проект”, в открывшемся окне укажите название проекта, выберите родительский проект, если это предлагается, и нажмите “Продолжить”.
На шаге 2 и 3 настройте Google Analytics для вашего проекта, если это требуется. Если такой необходимости нет, то на втором шаге отключите параметр “Включить Google Аналитику в этом проекте” и нажмите на появившуюся кнопку “Создать проект”. Если это будет необходимо, то включить аналитику вы сможете после создания.

Запустится процесс создания проекта, после завершения которого нажмите “Далее”, у вас откроется ваш проект. Прокрутите страницу вниз до раздела Cloud Messaging и нажмите на него:

На открывшейся странице нажмите на иконку Android:

Далее введите название вашего пакета Android и нажмите на “Зарегистрировать приложение”:

Шаг 2: Подключите клиент для приёма уведомлений
Нажмите на “Скачать google-services.json” для загрузки файла конфигурации. Вам необходимо разместить данный файл в в корневой каталог модуля вашего приложения:

Нажмите “Далее” и затем в build.gradle вашего приложения добавьте следующие строки для указания зависимостей:
dependencies {
implementation 'com.google.firebase:firebase-messaging:20.+'
}
В нижней части вашего build.gradle, обязательно последней строкой, должно быть указано:
apply plugin: 'com.google.gms.google-services'
Вновь нажмите “Далее” и затем “Открыть консоль”.
Шаг 3: Передайте ваш Server key в LiveTex
Выберите в консоли настройки вашего проекта

И перейдите на вкладку Сервисные аккаунты. Если сервисный аккаунт ещё не создан, то нажмите Создать серверный аккаунт. Аккаунт будет создан автоматически. После создания сервисного аккаунта страница будет выглядеть так:

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