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

02.09.15

Разработка - Мобильная разработка

Для очередного проекта по созданию нативного iOS приложения, взаимодействующего с 1С, решили попробовать использовать встроенную функцию отправки push-уведомлений

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
PushTest
.epf 7,55Kb ver:1
60 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Ознакомившись со статьей на зазеркалье, было опасение, что с "не 1С-овским" мобильным приложением будут сложности.

Но единственным неочевидным моментом оказалось создание объекта ИдентификаторПодписчикаДоставляемыхУведомлений (DeliverableNotificationSubscriberID), который нужно добавлять в массив получателей доставляемого уведомления. Конструктора для этого объекта нет. Есть только функция на мобильном клиенте, возвращающая объект такого типа. 1С предлагает с помощью XDTO-сериализации передать его на сервер. В нашем случае нету 1С-овского мобильного клиента. Поиск в интернете дал только тему на партнерском форуме, которая подтверждает отсутствие нормального метода получения этого объекта.

Т.к. объект XDTO-сериализуем, то соотвественно его можно сконструировать в XDTO и затем десериализовать в нужный нам тип.

Получился такой не очень изящный код

Функция ПолучитьПолучателя(DeviceID)
		
	xdtoПодписчик = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberID"));
	xdtoПодписчик.DeviceID = DeviceID;
	xdtoПодписчик.SubscriberType = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberType"), "APNS");
	НовыйСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
	Подписчик = НовыйСериализаторXDTO.ПрочитатьXDTO(xdtoПодписчик);
		
	Возврат Подписчик;
	
КонецФункции

DeviceID это DeviceToken в терминах iOS, получаемый приложением при регистрации в APNS. Остальные 2 поля объекта оставляем незаполненными, они не влияют на отправку в нашем случае.

В приложении вся обработка, которая отправляет push. В макет "ДанныеАвторизации" нужно загрузить ваш сертификат APNS в .pem формате и все.

Вступайте в нашу телеграмм-группу Инфостарт

ios мобильное приложение push apns ИдентификаторПодписчикаДоставляемыхУведомлений DeliverableNotificationSubscriberID ДоставляемоеУведомление DeliverableNotification

См. также

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    64106    218    105    

183

Логистика, склад и ТМЦ Мобильная разработка Программист Руководитель проекта 1С v8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

«Склад 15 ПРОДУКТОВЫЙ» - специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода, объединяет в себе несколько товарных групп маркированного товара (АЛКОГОЛЬ, ПИВО, ТАБАК, ШИНЫ, ОБУВЬ, ОДЕЖДА, ПАРФЮМ, МОЛОКО, ВОДА), которые чаще всего встречаются в складской логистике вместе. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения различной сложности. Позволяет ускорить и упростить действия линейного персонала, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

48000 руб.

30.05.2023    4585    2    0    

1

Мобильная разработка Мессенджеры и боты 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    45254    124    172    

219

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3000 руб.

22.04.2019    107091    650    198    

349

Логистика, склад и ТМЦ Мобильная разработка 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Специализированное программное обеспечение для мобильных устройств со встроенным сканером штрихкодов. Позволяет быстро автоматизировать, оптимизировать рабочие места и бизнес процессы по учету товара в магазине. Например, приемку товара по штрихкодам или инвентаризацию прямо в торговом зале.

18500 руб.

30.05.2023    4579    3    0    

5

Логистика, склад и ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

19000 руб.

28.04.2023    11549    18    4    

11

Мобильная разработка 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

"МРМ:Маркировка" для работы с конфигурациями 1С - готовое решение, позволяющее быстро автоматизировать работу учетной системы 1С на ордерном и безордерном складе при работе как с товарами, подлежащими обязательной маркировке, так и с товарами, учет которых построен на базе линейных штрих-кодов. Решение поддерживает большинство распространенных складских документов, необходимых для работы кладовщику на терминале сбора данных. Для начинающих пользователей имеется подробная инструкция по работе с приложением в разрезе видов документов.

15000 руб.

24.06.2025    753    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. LexaSH 23.09.15 13:41 Сейчас в теме
Не удалось определить тип сертификата. Возможно, переданный сертификат не предназначен для работы с APNs, либо представлен не в формате PEM.

Словил вот такую ошибку при отправке уведомления из 1С. Хотя из другой программы с данным сертификатом все нормально отправляется и доставляется на телефон.
Сдается мне, что я накосячил при конвертации сертификата в формат PEM. Не могли бы Вы подсказать, каким образом корректно конвертировать сертификат в нужный формат?
2. playertwo 101 23.09.15 18:02 Сейчас в теме
Как-то так было
openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
3. LexaSH 25.09.15 07:49 Сейчас в теме
Спасибо, все получилось.
4. Aleksk75 26.01.17 16:16 Сейчас в теме
Подскажите на каких версиях 8.3.6 работает отправка на IOS?
5. Dan9l 03.03.17 09:50 Сейчас в теме
Если сообщения не приходят, куда нужно копать ?
Да и локальные уведомления работают странно, в запущенном приложении приходят, в отключенное приложение иногда приходят бешеной задержкой в 5-7 часов.
6. abion 20.07.17 04:03 Сейчас в теме
Если у Вас :

Не удалось определить тип сертификата. Возможно, переданный сертификат не предназначен для работы с APNs, либо представлен не в формате PEM.

или

Cannot determine the certificate type. Possibly the certificate is not issued for APNs or it does not have the PEM format.

то мне помогла замена / just replace

'friendlyName: Apple Push Services' на/by 'friendlyName: Apple Production IOS Push Services'

в секции Bag Attributes в файле pem.
10. user852614 30.08.19 13:34 Сейчас в теме
(6) Огромное человеческое спасибо!!! 3 часа из жизни...
7. user1071454 23.01.19 12:06 Сейчас в теме
Здравствуйте, не могли бы вы подсказать, как можно получить идентификатор пользователя на ios в мобильном приложении. Я знаю, что для android можно использовать ДоставляемыеУведомления.ПолучитьИдентификаторПодписчика("НомерПроектаGoogleCloud"). Что-то совсем запутался
8. LexaSH 24.01.19 10:05 Сейчас в теме
ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений()

Вызвать без параметров на мобильном клиенте. Можно с параметром, но на iOS параметр будет проигнорирован. Возвращает объект типа ИдентификаторПодписчикаДоставляемыхУведомлений().
Этот идентификатор нужно передать на сервер и там, сохранить его, например в узле обмена, в реквизите с типом ХранилищеЗначения.

Далее этот Идентификатор добавляется в массив "Получатели" объекта ДоставляемоеУведомление()
9. user1071454 24.01.19 12:10 Сейчас в теме
(8)Да, вчера прочитал документацию. Спасибо большое!
11. 1cspec 123 28.10.19 18:31 Сейчас в теме
"DeviceID это DeviceToken в терминах iOS, получаемый приложением при регистрации в APNS" - а где и как регистрируете для получения DeviceToken ?
12. 1cspec 123 28.10.19 19:48 Сейчас в теме
На iOS метод "ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений()" пишет ошибку "не удалось подключить идентификатор push уведомления"
13. FesenkoA 59 12.11.20 10:46 Сейчас в теме
14. aibasoft 11 13.04.21 18:12 Сейчас в теме
Доброго времени суток. В макет загрузил Development сертификат для Push,запустил и ввел id device, но после нажатия отправить ничего не происходит. А через Production сертификат вообще пишет: "Не удалось определить тип сертификата. Возможно, переданный сертификат не предназначен для работы с APNs, либо представлен не в формате PEM" хотя оба сертификата одинаково переконвертированы в .pem
Интересует пока с Dev сертификатом, почему ничего не происходит...
Куда копать подскажите пожалуйста.
15. McLer 126 29.04.21 19:07 Сейчас в теме
(14) проверьте APNs сертификаты в firebase (Project settings - Cloud Messaging - iOS app configuration - APNs Certificates)
туда надо загружать сертификаты .p12 но если их гугл примет значит они нормальные. Попробуйте ещё раз сконвертировать в .pem
Если гугл не принимает, значит заново выпускайте сертификаты.

А ещё при отправке пушей есть параметр МассивОшибок что там пишет? обычно там пишет верную причину отправки. А если у вас ничего не пишет, значит у вас платформа старая:
https://wonderland.v8.1c.ru/blog/ispolzovanie-protokola-http-2-dlya-posylki-push-uvedomleniy-v-ios/
aibasoft; +1 Ответить
16. aibasoft 11 30.04.21 11:57 Сейчас в теме
(15) Спасибо. Позже я все таки отправил Push через эту обработку, но после того как подключил через прослойку 1С. Путал токен с идентификатором подписчика, токен также в отладке нашел когда через прослойку https://pushnotifications.1c.com/ отправлял.
В итоге реализовал через эту прослойку, так как в моей конфигурации были модули которые могли работать с ним. Новичкам рекомендую через прослойку https://pushnotifications.1c.com/.
17. user1756538 29.04.22 11:26 Сейчас в теме
Добрый день. Кто - нибудь может скинуть ссылку откуда можно скачать APNS.pem и ключ отправителя для Android?
18. IgorMan2 07.11.22 23:12 Сейчас в теме
Получаю ошибку "MissingTopic", никто не встречал?

Уведомление = Новый ДоставляемоеУведомление;
	Уведомление.Заголовок = "Заголовок";
	Уведомление.Текст = "Текст";
	Уведомление.Получатели.Добавить(ПолучитьПолучателя("16f9d0876fb2d6....................5751dbf0f0ff1f21b5e72b8d"));
	
	ДанныеСертификата = Новый Соответствие;
	ДанныеСертификата.Вставить(ТипПодписчикаДоставляемыхУведомлений.APNS, Новый ДвоичныеДанные("c:\temp\prod.pem"));
	
	Ошибки = Новый Массив;
	ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеСертификата,,, Ошибки);
Показать
Оставьте свое сообщение