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

02.09.15

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

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

Файлы

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

Наименование Скачано Купить файл
PushTest
.epf 7,55Kb ver:1
60 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Ознакомившись со статьей на зазеркалье, было опасение, что с "не 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С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

3050 руб.

03.12.2018    70243    239    106    

187

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С:Предприятие 8 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. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически. Решение предназначено для считывания штрихкодов, а не для их создания и печати.

3050 руб.

22.04.2019    120300    721    205    

380

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

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

19000 руб.

24.06.2025    3126    26    0    

4

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

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

13420 руб.

27.12.2021    52504    130    182    

228

Мобильная разработка Программист 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Эта подключаемая обработка для любой конфигурации 1С, позволяет отправить любой объект (и рекуррентно связанные с ним объекты) на устройства c NodaLogic, где они будут полнофункциональны и доступны офлайн, по ним можно вести переписку как со стороны чата в NodaLogic, так и со стороны 1С, заполнять данные и загрузить в 1С по мере надобности. Т.е. обработка содержит генератор UI/UX интерфейса NodaLogic и создает объекты для обмена. При этом не надо ни разбираться в NodaLogic вообще, ни иметь базу/сервер/решение на стороне NL – только учетка и мобильное устройство, а со стороны 1С достаточно галочками отметить, какие поля должны быть на формах. Все данные хранятся в ХранилищеОбщихНастроек, поэтому никакого расширения не нужно, сервера со стороны 1С для связи с устройствами тоже не нужно. Тестировалось на 1С:Предприятие 8.3 (8.3.27.1326), 1С:Комплексная автоматизация 2 (2.4.8.63)

1 стартмани

12.05.2026    602    3    informa1555    1    

12

Мобильная разработка Программист Бесплатно (free)

Мне нужен был высокопроизводительный язык для фронт-сайда, я его сделал, а потом подумал, а что, если сделать 1С-синтаксис? Вот что из этого вышло. Продолжение статьи https://infostart.ru/1c/articles/2614496/

12.03.2026    1609    informa1555    11    

14

Мобильная разработка Программист 1С 8.3 1С:Комплексная автоматизация 2.х 1С:КА Управленческий учет Абонемент ($m)

В этой статье простейший документ - ориентированный пример складского учета на клиент-серверной платформе NodaLogic с автономными мобильными рабочими местами. Это чисто скелетный пример как можно вынести часть учета во внешний контур. И расширение - модуль связи с 1С. Тестировалось на платформе 1С:Предприятие 8.3 (8.3.27.1326), 1С:Комплексная автоматизация 2 (2.4.8.63).

1 стартмани

13.02.2026    2254    informa1555    5    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 125 28.10.19 18:31 Сейчас в теме
"DeviceID это DeviceToken в терминах iOS, получаемый приложением при регистрации в APNS" - а где и как регистрируете для получения DeviceToken ?
12. 1cspec 125 28.10.19 19:48 Сейчас в теме
На iOS метод "ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений()" пишет ошибку "не удалось подключить идентификатор push уведомления"
13. FesenkoA 60 12.11.20 10:46 Сейчас в теме
14. aibasoft 13 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 13 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"));
	
	Ошибки = Новый Массив;
	ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеСертификата,,, Ошибки);
Показать
Для отправки сообщения требуется регистрация/авторизация