Push сообщения перестали работать

1. eda76 28.11.24 02:26 Сейчас в теме
Подскажите, может кто сталкивался, перестали работать Push уведомления, приходит ошибка при отправке
Отправка сообщения 1 через FCM завершилась ошибкой: DeprecatedApi

				Уведомление	= Новый ДоставляемоеУведомление;
				Уведомление.Заголовок=Стр.Заголовок;
				Уведомление.Текст=Стр.ТекстОповещения;
				Уведомление.Данные=Стр.Данные;
				Для Каждого СтрСотр Из Сотрудник.Устройства Цикл
					Если СтрСотр.IDУстройства<>"" Тогда
						Попытка
							Уведомление.Получатели.Добавить(Десериализовать(СтрСотр.IDУстройства));
						Исключение
						КонецПопытки;
					КонецЕсли;
				КонецЦикла;
				Попытка
					ИнформацияОПроблемахОтправкиДоставляемыхУведомлений=Новый Массив;
					ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, КлючСервера,,,ИнформацияОПроблемахОтправкиДоставляемыхУведомлений);
				Исключение
				КонецПопытки;
Показать

в https://console.firebase.google.com не могу найти ключ для отправки (видать что то поменялось)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Snoocker 28.11.24 09:51 Сейчас в теме
(1) Да, поменялось, теперь отправка уведомлений идет только по протоколу FCM HTTP v1 API
Инструкция от Firebase
3. eda76 28.11.24 14:40 Сейчас в теме
как говорится "Очень интересно, но ничего не понятно"

как понимаю средствами 1С теперь не отправить, надо через http формировать запросы и отправлять
4. Snoocker 28.11.24 15:15 Сейчас в теме
(3) Если стоит 25 платформа, то можно отправить через 1с, те же доставляемые уведомления. До 25 точно через http запросы
5. eda76 28.11.24 17:57 Сейчас в теме
(4) платформа 25, и говорю ходило через 1с, а сейчас нет (
6. Snoocker 28.11.24 18:16 Сейчас в теме
(5) на сайте фаербейс скачайте ключ джсон, в синтаксис помошнике посмотрите "ПолучитьМаркерДоступа", получите этот маркер и используйте его при отправке вместо ключа
7. eda76 28.11.24 22:17 Сейчас в теме
(6)
Спасибо, токен получаю, но теперь появилась другая ошибка
МаркерДоступа = ОтправкаДоставляемыхУведомлений.ПолучитьМаркерДоступа(ТипПодписчикаДоставляемыхУведомлений.FCM,ИдентификаторПриложения,КлючСервера);
ИнформацияОПроблемахОтправкиДоставляемыхУведомлений=Новый Массив;
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, МаркерДоступа,,,ИнформацияОПроблемахОтправкиДоставляемыхУведомлений);


Недопустимое состояние объекта
[json - src\json\src\JSONReaderImpl.cpp (586)]
9. Snoocker 29.11.24 09:28 Сейчас в теме
(7) в "КлючСервера" у вас строка вида
{
  "type": "service_account",
  "project_id": "fffff",
  "private_key_id": "ffffffff",
  "private_key": "-----BEGIN PRIVATE KEY-----\ffffffffffff\n-----END PRIVATE KEY-----\n",
  "client_email": "fffffffff",
  "client_id": "ffffff",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "fffffff",
  "universe_domain": "googleapis.com"
}
Показать

?
10. eda76 29.11.24 21:12 Сейчас в теме
(9) да, маркер получается, а вылетает при попытке отправить, причем по жесткому, просто закрывая 1С

если маркер просрочен, то приходит сообщение что маркер устарел, соответственно с маркером все хорошо, получается что то именно с уведомлением или ID устройства
8. eda76 29.11.24 00:35 Сейчас в теме
Функция отправки
Функция ОтправитьPUSH(МассивУведомлений) Экспорт
	Если Не Константы.РежимОграниченияБД.Получить() Тогда 
		Если ТипЗнч(МассивУведомлений)=Тип("Массив") Тогда
			КлючСервера	= Константы.FirebaseServerKey.Получить();
			ИдентификаторПриложенияАндроид	= Константы.ИдентификаторПриложенияАндроид.Получить();
			FirebaseМаркерДоступа	= Константы.FirebaseМаркерДоступа.Получить();
			Если НЕ ЗначениеЗаполнено(FirebaseМаркерДоступа) Тогда
				Попытка
					FirebaseМаркерДоступа	= ОтправкаДоставляемыхУведомлений.ПолучитьМаркерДоступа(ТипПодписчикаДоставляемыхУведомлений.FCM,ИдентификаторПриложенияАндроид,КлючСервера);
					Константы.FirebaseМаркерДоступа.Установить(FirebaseМаркерДоступа);
				Исключение
					Возврат Ложь;
				КонецПопытки;
			КонецЕсли;
			Если ЗначениеЗаполнено(КлючСервера) и ЗначениеЗаполнено(ИдентификаторПриложенияАндроид) Тогда 
				Для Каждого Стр Из МассивУведомлений Цикл
					Сотрудник	= Стр.Сотрудник;
					Если Сотрудник.Устройства.Количество()=0 Тогда 
						Продолжить;
					КонецЕсли;
					Уведомление	= Новый ДоставляемоеУведомление;
					Уведомление.Заголовок=Стр.Заголовок;
					Уведомление.Текст=Стр.ТекстОповещения;
					Уведомление.Данные=Стр.Данные;
					Для Каждого СтрСотр Из Сотрудник.Устройства Цикл
						Если СтрСотр.IDУстройства<>"" Тогда
							Попытка
								Уведомление.Получатели.Добавить(Десериализовать(СтрСотр.IDУстройства));
							Исключение
							КонецПопытки;
						КонецЕсли;
					КонецЦикла;
					Попытка
						ИнформацияОПроблемахОтправкиДоставляемыхУведомлений=Новый Массив;
						ИсключенныеПолучатели=Новый Массив;
						ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, FirebaseМаркерДоступа,ИсключенныеПолучатели,Ложь,ИнформацияОПроблемахОтправкиДоставляемыхУведомлений);
					Исключение
						Возврат Ложь;
					КонецПопытки;
				КонецЦикла;
				Возврат Истина;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	Возврат Ложь;
КонецФункции

Показать

на
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, FirebaseМаркерДоступа,ИсключенныеПолучатели,Ложь,ИнформацияОПроблемахОтправкиДоставляемыхУведомлений);

вываливается по ошибке
Недопустимое состояние объекта
[json - src\json\src\JSONReaderImpl.cpp (586)]

подозреваю что что то не так с Уведомление.Получатели.Добавить(Десериализовать(СтрСотр.IDУстройства)); хотя ID вроде такое же как и раньше
<DeliverableNotificationSubscriberID xmlns="http://v8.1c.ru/8.3/data/ext" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <subscriberType>FCM</subscriberType>
    <deviceID>cvt-QM64QemCMej33pm1Dm:APA91bFgmNO8SHWGh81gI-QiSQFKBoTjXDZlj3PfPYNIG_hG11K14KFDnzC9S4GkysVrjBY48AAmDB6tUI­NBTrG2YFBlhmWmWyEUBj5sORC0X0A6zw7zge4</deviceID>
    <applicationID>хххххххххх</applicationID>
    <databaseID>ххххххххххх</databaseID>
</DeliverableNotificationSubscriberID>
Оставьте свое сообщение

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