Push сообщения

1. 33lab 932 01.04.16 11:02 Сейчас в теме
Пытаюсь отправить сообщение через сервис pushnotifications.1c.com

При попытке отправке push возникает ошибка:

ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, Ключ, , Истина);
по причине:
Ошибка сервиса : MismatchSenderId


Кто нибудь может помочь?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
11. Xershi 1490 04.04.16 10:59 Сейчас в теме
(9) 33lab, я не откажусь)
Так решили свой вопрос? Чего не хватало?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1490 01.04.16 15:36 Сейчас в теме
(1) 33lab, платформу укажи?
Давайте почитаем справку:
МенеджерОтправкиДоставляемыхУведомлений (DeliverableNotificationSendManager)
Отправить (Send)
Синтаксис:

Отправить(<Уведомление>, <ДанныеАутентификации>, <ИсключенныеПолучатели>, <ИспользоватьПромежуточныйСервис>)
Параметры:

<Уведомление> (обязательный)

Тип: ДоставляемоеУведомление, Массив.
Содержит одно или несколько уведомлений.
<ДанныеАутентификации> (обязательный)

Тип: Строка; ДвоичныеДанные; Соответствие.
Файл сертификата, необходимый для подключения к службе доставки "Apple Push Notification Service", либо строка с ключом авторизации для подключения к службе доставки "Google Cloud Messaging". Может быть использован с соответствием с ключами типа ТипПодписчикаДоставляемыхУведомлений.
Если используется промежуточный сервис - ключ доступа к этому сервису.
<ИсключенныеПолучатели> (необязательный)

Тип: Массив.
На устройствах под управлением Android с помощью данного параметра возвращается массив строк с идентификаторами устройств, которые не подходят для отправки, и соответственно, должны быть исключены из будущих рассылок. Этим устройствам ранее отправлялись уведомления с этим ключом авторизации. Но не обязательно в этом вызове.
На устройствах под управлением iOS параметр игнорируется
<ИспользоватьПромежуточныйСервис> (необязательный)

Тип: Булево.
Указывает необходимость использования промежуточного сервиса отправки.
Значение по умолчанию: Ложь.
Описание:

Отправляет уведомление.
У каждого уведомления должны быть указаны следующие поля:
Текст - не пустая строка.
Получатель - должно быть указано хотя бы одно значение.
Если обязательные поляне заполнены, будет сгенерировано исключение.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Суммарная длина полей уведомления в системе APNS не может превышать 2 КБайт. Суммарная длина полей уведомления в системе GCM не может превышать 4 КБайт. При превышении установленного лимита будет сгененировано исключение.
Показать
8. 33lab 932 04.04.16 08:01 Сейчас в теме
(2) Xershi, За СП конечно спасибо, но надо быть очень наивным человеком полагать, что вместо изучения СП я сразу задаю вопрос на форуме
(3,4) Первый параметр "Уведомление" = "Уведомление=Новый ДоставляемоеУведомление;" и далее по тексту...Второй параметр "Ключ="PUSH_SRV_API_KEY_.....", Ну а четвертый ИСТИНА определяет, что будет использован промежуточный сервис (в теме я это указал)
(5) Само собой разумеется все это я сделал (т.е. получил с мобильного устройство его ID)
(6) Спасибо за совет (посмотрю)
7. CaptainMorgan 03.04.16 09:13 Сейчас в теме
(1) Вы пишите
"При попытке отправке push возникает ошибка:
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, Ключ, , Истина);
по причине:
Ошибка сервиса : MismatchSenderId "


Надо видеть код, чтобы сформировать рекомендации или выявить ошибки.
Если вам нужны примеры реализации, то возьмите типовую конфигурацию ERP 2.0 и посмотрите модуль "МобильноеПриложениеЗаказыКлиентов"
там есть уже готовые функции отправки сообщений
// Отправляет push-уведомления на мобильные устройства пользователям указанного мобильного приложения.
//
// Параметры:
//  УведомлениеТекст - Строка - текст уведомления;
//  Получатели - Массив - массив получателей уведомления;
//  ПолучателиБезДоставки - Массив - массив получателей уведомления, которым оно не было отправлено;
//  ИмяУзла - Строка - имя плана обмена, связанного с мобильным приложением.
//
Процедура ОтправитьУведомление(УведомлениеТекст, Получатели, ПолучателиБезДоставки, ИмяУзла = "МобильноеПриложениеЗаказыКлиентов") Экспорт
	
...
Показать

Смысла в "копипасте" процедур нет.
Их можно просто брать и использовать, если создаёте собственную разработку.
3. Xershi 1490 01.04.16 15:39 Сейчас в теме
Ну и далее покажите чем заполнены у вас обязятельные поля, это первые 2 параметра и зачем вы 4 параметр в "истина" установили?
4. Xershi 1490 01.04.16 15:42 Сейчас в теме
Ну, а судя по ошибке, то скорее всего у вас проблема с отправителем! Возможно не тот ключ или не так написали или доступа нет.
5. maxon_p.j 01.04.16 15:43 Сейчас в теме
Могу предположить что у тебя нет ID устройства при отправки Пуш

В качестве примера, я делал так: использовал Сервис GCM
зарегистрировал там свой проект, получил ID проекта и ключ сервера

На мобильном устройстве пишем
Процедура ПолучитьIDУстройство() 

   IDПроекта="00000000000"; // твой ид проекта
   ID = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений(IDПроекта);  	
   // этот ID тебе нужно серилизовать и отправить на сервер
КонецПроцедуры


На Сервере получаешь Id и записываешь к примеру в справочник

Для отправки пуш на сервере пишем:

 Процедура  ОтправкаПушСообщения()
 IDУстройства // 
 ДатаПоявления=ТекущаяДата()+10;
 Уведомление = Новый ДоставляемоеУведомление;
 Уведомление.Заголовок = ""ЗаголовокСообщения"";
 Уведомление.Текст = ""Текст"";
 Уведомление.Данные = ""Данные"";
 Уведомление.ДатаПоявленияУниверсальноеВремя = ДатаПоявления;
 //Уведомление.ИнтервалПовтора = ИнтервалПовтора;
 Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;
 Уведомление.Получатели.Добавить(IDУстройства); 
 КлючСервера="ключ нашего сервера "; // идет в месте с ключем проекта 
 ОтправкаДоставляемыхУведомлений.Отправить(Уведомление,КлючСервера); 
КонецПроцедуры
Показать
6. Xershi 1490 01.04.16 15:56 Сейчас в теме
Думаю описание этой ошибке соответствует вашему: ссылка или перевод гугла
9. 33lab 932 04.04.16 10:18 Сейчас в теме
Всем ответившим спасибо. Судя по всему вознаграждение нельзя поделить между отвечающими - поэтому скажите кому перевести (кому нужны СМ) - переведу.
10. dj_serega 392 04.04.16 10:58 Сейчас в теме
12. 33lab 932 04.04.16 11:06 Сейчас в теме
(10)(11)
НомераПриложений=Новый Массив();
НомераПриложений.Добавить("hhhh"); //Значения вымышленные, только для примера
НомераПриложений.Добавить("cdfghdgh"); //Значения вымышленные, только для примера
НомераПриложений.Добавить("797785657074"); // Идентификатор приложения на промежуточном сервисе 1C

ID=ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений(НомераПриложений);

При неправильных значениях номера приложения и выдается такая ошибка... Я пологал, что неправильные значения просто будут игнорироваться, оказалось нет.

(9) Вопрос закрыт - СМ сейчас отправлю.
11. Xershi 1490 04.04.16 10:59 Сейчас в теме
(9) 33lab, я не откажусь)
Так решили свой вопрос? Чего не хватало?
Оставьте свое сообщение

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