19 марта, 2024

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

Это заметка о том, как отправить PUSH сообщение из 1С на Андроид-устойство с использованием сервиса Firebase Cloud Messaging.

  • если нужно отправить сообщение на определенное устройство, понадобится его токен — он формируется сервисом FirebaseMessagingService, его нужно прочитать в приложении и передать на сервер для последующего использования
  • понадобится ключ API приложения, его можно найти в параметрах проекта в Firebase Console, на вкладке Cloud Messaging
  • используя токен и ключ нужно составить и отправить на сервер службы сообщений POST-запрос.

Пример кода для отправки POST-запроса из 1С:

АдресСервера = "fcm.googleapis.com/fcm/send";
	
ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows()); 

Соединение = Новый HTTPСоединение(АдресСервера,,,,,,ssl);
	
ТелоСообщения = Новый Структура;
ТелоСообщения.Вставить("title", ЗаголовокСообщения);
ТелоСообщения.Вставить("body", ТекстСообщения);
	
ПараметрыСообщения = Новый Структура;
ПараметрыСообщения.Вставить("to", ТокенПолучателя);
ПараметрыСообщения.Вставить("data", ТелоСообщения);
	
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ПараметрыСообщения);
	
СтрокаТелоЗапроса = ЗаписьJSON.Закрыть();
	
Запрос = Новый HTTPЗапрос();
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.Заголовки.Вставить("Authorization", "key="+КлючАПИ);
Запрос.УстановитьТелоИзСтроки(СтрокаТелоЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
	
Ответ = Соединение.ОтправитьДляОбработки(Запрос); 

Здесь: КлючАПИ — ключ авторизации приложения, ТокенПолучателя — токен сформированный на устройстве.