1.
viki_glebova
22.07.21 19:33
Сейчас в теме
Добрый день. Подскажите, пожалуйста, примером. Можно ли как то реализовать уведомление на мобильном телефоне, когда приложение закрыто?
Судя по статье
можно, но пример не особо понятный.
Пока используется мобильная платформа 8.3.18.77
В последствии планируется скомпилировать свое приложение.
Судя по статье
можно, но пример не особо понятный.
Пока используется мобильная платформа 8.3.18.77
В последствии планируется скомпилировать свое приложение.
По теме из базы знаний
- Bluetooth сканер штрихкодов и мобильное приложение 1С (Android)
- Тикеты - система учета задач/Service Desk в 1С (+ мобильное приложение)
- Запускаем 120 000 одновременных пользователей мобильного приложения на платформе 1С
- Как начать зарабатывать на разработке мобильных приложений уже завтра!
- Модуль интеграции 1С и мобильного приложения "Госключ". Электронная подпись
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если мобильное приложение работает в фоновом режиме (неактивно) или вообще не исполняется (выгружено из памяти), то уведомление отображается операционной системой. При этом используется звуковое оповещение и наклейка. В iOS наклейка будет установлена у иконки мобильного приложения на домашнем экране, а в Android она задаёт число, которое будет отображено в сообщении на панели уведомлений. После того, как пользователь нажмёт на уведомление, будет активизировано (или запущено) мобильное приложение, и будет выполнен (если он подключён) обработчик уведомлений.
3.
viki_glebova
22.07.21 21:49
Сейчас в теме
(2)Спасибо большое за ответ. Это написано в этой статье. Это все я читала. Не работают оповещения. Как протестировать работу подобных оповещений? На сколько понятно из описания, то мне как раз нужны локальные оповещения. Взаимодействия с центральной базой не нужно. Нужно, чтобы было оповещение о определенном событии в определенное время, конечно же при закрытом приложении. Как подобное реализовать?
5.
viki_glebova
23.07.21 06:42
Сейчас в теме
(4)не совсем понятно, что такое сценарий использования. Можете чуть подробнее?
P.S. С терминологией мобильной разработки только знакомлюсь.
P.S. С терминологией мобильной разработки только знакомлюсь.
7.
viki_glebova
23.07.21 08:08
Сейчас в теме
(6) Устанавливала это свойство сразу же.
Если так, то сообщение не появляется вообще. Если убрать ДатаПоявленияУниверсальноеВремя то сообщение появляется при запуске системы. По сути не работает как надо.
Если так, то сообщение не появляется вообще. Если убрать ДатаПоявленияУниверсальноеВремя то сообщение появляется при запуске системы. По сути не работает как надо.
Процедура ПриНачалеРаботыСистемы()
#Если МобильноеПриложениеКлиент Тогда
Уведомление = Новый ДоставляемоеУведомление;
Уведомление.Заголовок = "К сожалению, Вы не получите помидор.";
Уведомление.Текст = "К сожалению, Вы не получите помидор.";
Уведомление.ДатаПоявленияУниверсальноеВремя = Дата("20210723090600");
Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;
//Уведомление.ИнтервалПовтора = 60;
ДоставляемыеУведомления.ДобавитьЛокальноеУведомление(Уведомление);
ДоставляемыеУведомления.ПодключитьОбработчикУведомлений("ПриПолученииУведомления");
#КонецЕсли
КонецПроцедуры
Процедура ПриПолученииУведомления(Уведомление, Локально, Показано) Экспорт
Если Локально Тогда
Сообщить("Прибыло уведомление с текстом: " + Уведомление.Текст);
Иначе
Сообщить("Прибыло Push-уведомление с текстом: " + Уведомление.Текст);
КонецЕсли;
КонецПроцедуры
Показать
10.
viki_glebova
23.07.21 21:16
Сейчас в теме
(8)
Добрый день. Очень все это странно. Вчера тестила с этим кодом, что выше. И сегодня весь день в хаотичном порядке приходят уведомления. Это конечно круто, что все же работает как мне надо. Но вот только до сих пор не ясно как этим управлять. Если просмотреть
То там время вообще отличается на 4 часа. Причем минус. Т.е. у меня 22:00:00, а универсальное показывает 18:00:00.
Меняла часовой пояс на сервере. Бесполезно, результат тот же.
Если кто-то знает в чем кроется причина, подскажите пожалуйста.
Уведомление.ДатаПоявленияУниверсальноеВремя = УниверсальноеВремя(Дата("20210723090600"));
Добрый день. Очень все это странно. Вчера тестила с этим кодом, что выше. И сегодня весь день в хаотичном порядке приходят уведомления. Это конечно круто, что все же работает как мне надо. Но вот только до сих пор не ясно как этим управлять. Если просмотреть
УниверсальноеВремя(ТекущаяДата())То там время вообще отличается на 4 часа. Причем минус. Т.е. у меня 22:00:00, а универсальное показывает 18:00:00.
Меняла часовой пояс на сервере. Бесполезно, результат тот же.
Если кто-то знает в чем кроется причина, подскажите пожалуйста.
(10) Все верно. Универсальное время и будет отличаться. В мобильном устройстве все даты хранятся в универсальном формате. А выводятся уже в местном времени, согласно часового пояса, выставленного в Настройках. У вас пояс Казани, значит +4 часа.
12.
viki_glebova
24.07.21 07:21
Сейчас в теме
(11) Хорошо, это понятно. Спасибо. Почему уведомления тогда не выводятся?
15.
viki_glebova
26.07.21 07:27
Сейчас в теме
(14)Ну я вроде бы по-русски пишу. Логика не понятна.
Вы не поверите, но лично на моей разработке сообщения то выводятся, то не выводятся. Если бы была понятна логика этого, я бы не создавала тему и не спрашивала.
Тестировала в прошлый раз, на след день мой телефон меня усыпал уведомлениями. Потом начала тестировать, телефон молчит до сих пор. На след день вывел одно уведомление и все. Как тут можно понять это? Описания нормального нет. А по тому что песть, типа все должно работать, но не работает.
В плане универсального времени вы хоть немного открыли истину. Об этом нигде не написано. Но все же уведомления не выводятся.
Буду очень признательна, если поможете разобраться с этим.
Вы не поверите, но лично на моей разработке сообщения то выводятся, то не выводятся. Если бы была понятна логика этого, я бы не создавала тему и не спрашивала.
Тестировала в прошлый раз, на след день мой телефон меня усыпал уведомлениями. Потом начала тестировать, телефон молчит до сих пор. На след день вывел одно уведомление и все. Как тут можно понять это? Описания нормального нет. А по тому что песть, типа все должно работать, но не работает.
В плане универсального времени вы хоть немного открыли истину. Об этом нигде не написано. Но все же уведомления не выводятся.
Буду очень признательна, если поможете разобраться с этим.
17.
viki_glebova
26.07.21 08:46
Сейчас в теме
(16)Хм. Можете привести полный ваш код и скажите, пожалуйста, как спровоцировали выполнение этого кода? На кнопку повесили или как? Какие инструкции препроцессору употребляли? Как у вас сообщение вышло? И что значит спящий режим? У меня просто заблокирован телефон. С любого мессенджера приходят уведомления и отсюда приходили когда тестировала раньше. Вы поставили 8 утра, а во сколько выполнили код? Т.е. как настало 8 утра, у вас появилось уведомление?
(17)
Это с курсов пробный пример. Процедура на кнопке. Время было выставлено на 09-08. В заблокированном состоянии оповещения не было, а только разблокировал, сразу бзнынькнуло. Еще попробую для чистоты эксперимента.
Да! Мобильная платформа 8.3.18.41, если это важно. На новых платформах жаловались, что какие-то мобильные функции работают по-другому (если вообще работают).
#Если МобильноеПриложениеКлиент Тогда
Уведомление = Новый ДоставляемоеУведомление;
Уведомление.Заголовок = "1С:Кулинарные рецепты";
Уведомление.Текст = "Выбери рецепт дня: " + ПолучитьРецептДня();
Уведомление.Данные = "Жду новый рецепт";
Уведомление.ДатаПоявленияУниверсальноеВремя = УниверсальноеВремя(Дата("20210726090800"));
//Уведомление.ИнтервалПовтора = 900;
Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;
Уведомление.Наклейка = 1;
ДоставляемыеУведомления.ДобавитьЛокальноеУведомление(Уведомление);
#КонецЕсли
ПоказатьЭто с курсов пробный пример. Процедура на кнопке. Время было выставлено на 09-08. В заблокированном состоянии оповещения не было, а только разблокировал, сразу бзнынькнуло. Еще попробую для чистоты эксперимента.
Да! Мобильная платформа 8.3.18.41, если это важно. На новых платформах жаловались, что какие-то мобильные функции работают по-другому (если вообще работают).
13.
viki_glebova
24.07.21 07:32
Сейчас в теме
(9)На сколько понятно, ПУШ это если нужно с сервера послать оповещение. Мне этого не нужно. Мне нужно оповестить пользователя о наступлении локального события. На каждом мобильном устройстве оно может быть свое.
21.
viki_glebova
13.09.21 11:26
Сейчас в теме
(20)Добрый день. Наконец-то дошла до этого проекта. Есть статья на ИТС где, в принципе, все подробно расписано.
Но там предлагается в качестве сервера использовать сервер от 1С. А 1с я что-то не доверяю.))))
Я так понимаю сервис GCM более не доступен.
Вместе него нужно использовать этот?
Может есть где то актуальная инструкция по настройке push-уведомлений в 1с?
Но там предлагается в качестве сервера использовать сервер от 1С. А 1с я что-то не доверяю.))))
Я так понимаю сервис GCM более не доступен.
Вместе него нужно использовать этот?
Может есть где то актуальная инструкция по настройке push-уведомлений в 1с?
24.
viki_glebova
13.09.21 12:11
Сейчас в теме
(23)Тогда небольшой тупняк по настройке этого всего. Можете пример дать? Как вы у себя реализовали это?
(22)
вот
вот
КлючСервера = "AAAAYv55EtM:APA91_______________SgQMvyHVbhiXeEn603--5T3WXRmW4xyE4c1456hfHZS6wNZLf_________________________";
Попытка
СоединениеHTTP = Новый HTTPСоединение("fcm.googleapis.com",443,,,,, Новый ЗащищенноеСоединениеOpenSSL(,));
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "key=" + КлючСервера);
Заголовки.Вставить("Content-Type", "application/json");
АдресРесурса = "fcm/send";
ЗапросHTTP = Новый HTTPЗапрос(АдресРесурса, Заголовки);
ТелоСообщения = Новый Структура;
ТелоСообщения.Вставить("title", Заголовок);
ТелоСообщения.Вставить("data", Данные);
ТелоСообщения.Вставить("text", Текст);
ПараметрыСообщения = Новый Структура;
Н = Новый Массив;
Для каждого стИдентификаторПодписчика из МассивИдентификаторПодписчика Цикл
Н.Добавить(стИдентификаторПодписчика);
КонецЦикла;
ПараметрыСообщения.Вставить("registration_ids", Н);
ПараметрыСообщения.Вставить("data", ТелоСообщения);
СообщениеJSON = ЗаписатьДанныеВJSON(ПараметрыСообщения);
Если СообщениеJSON = Неопределено Тогда
Возврат;
КонецЕсли;
ЗапросHTTP.УстановитьТелоИзСтроки(СообщениеJSON, "UTF-8",ИспользованиеByteOrderMark.НеИспользовать);
Ответ = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
Если НЕ Ответ.КодСостояния = 200 Тогда
ЗаписьЖурналаРегистрации("Ошибка отправки push уведомления",УровеньЖурналаРегистрации.Ошибка,,,"Ошибка отправки PUSH. КодСостояние: "+Ответ.КодСостояния + Символы.ПС + Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Ошибка отправки push уведомления",УровеньЖурналаРегистрации.Ошибка,,,"Ошибка отправки PUSH. "+ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Показать
27.
viki_glebova
15.09.21 20:28
Сейчас в теме
(25) Это, видимо, код из отправки из основного приложения?
А переменная МассивИдентификаторПодписчика как идентифицируется?
И какой код в мобильном приложении писать?
А переменная МассивИдентификаторПодписчика как идентифицируется?
И какой код в мобильном приложении писать?
(27)из сервера. мобильное приложение не отправляет (по крайней мере у меня). у меня весь процесс обработки идет на стороне сервера.
МассивИдентификаторПодписчика - Это массив идентификаторов кому надо отправить пуши
как получить идентификатор?
в мобильном приложении на клиенте:
МассивИдентификаторПодписчика - Это массив идентификаторов кому надо отправить пуши
Процедура ОсновнойИнтерфейсДействие() Экспорт
ЗаголовокСообщения = "Начислены бонусы (тест)";
ТекстСообщения = "Вам начислены бонусы 325руб. Покупка на 3250руб.";
Н = Новый Структура;
Н.Вставить("Date","12312123");
ДанныеСообщения = Н;
ИдентификаторПодписчика = Справочники.ИнформационныеКарты.НайтиПоНаименованию("000 001").ИдентификаторПодписчика;
Н = Новый Массив;
Н.Добавить(ИдентификаторПодписчика);
ОтправитьPUSH_Android(Н, ЗаголовокСообщения, ДанныеСообщения, ТекстСообщения);
КонецПроцедуры Показатькак получить идентификатор?
в мобильном приложении на клиенте:
#Если МобильныйКлиент ИЛИ МобильноеПриложениеКлиент ТОгда
ИдентификаторПодписчика = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений("____цифр из сайта fcm____");
ИдентификаторУстройства = ИдентификаторПодписчика.ИдентификаторУстройства;
#КонецЕсли
30.
viki_glebova
16.09.21 19:49
Сейчас в теме
(28) С записью в JSON разобралась. С помощью вашего кода ошибок при отправке нет, но и оповещения никакие не приходят. Можно вас попросить чуть подробнее рассказать как вы реализовали у себя уведомления на телефоне?
На мобильном клиенте в процедуре ПриНачалеРаботыСистемы
НомерПриложенияGoogleCloud - 797785657074
Затем ИдентификаторУстройства передается в основное приложение.
В основном приложении код отправки ка у вас выше.
КлючСервера формате bF204hB2CYAhENo-BRXLBDzCYkOT2xu_g7reFIW037g2mZtJRQGicYMEwHVPVR-lKYNuO7r8QJEqcBXkpr41Gho1tRHEWPtWLcY-Vzp
Ошибок при отправке нет, уведомление не приходит.
Что делаю не так?
В консоле в настройках
на закладке обмен сообщениями в облаке эти данные. Может еще что то надо добавить?
На мобильном клиенте в процедуре ПриНачалеРаботыСистемы
#Если МобильноеПриложениеКлиент Тогда
Попытка
НомерПриложенияGoogleCloud = ОбменДанными.ПолучитьНомерПриложенияGoogleCloud();
ИдентификаторПодписчикаУведомлений = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений(НомерПриложенияGoogleCloud);
ИдентификаторУстройства = ИдентификаторПодписчикаУведомлений.ИдентификаторУстройства;
ОбменДанными.ПередатьИдентификаторПодписчикаУведомлений(ИдентификаторПодписчикаУведомлений);
Исключение
КонецПопытки
#КонецЕсли
ПоказатьНомерПриложенияGoogleCloud - 797785657074
Затем ИдентификаторУстройства передается в основное приложение.
В основном приложении код отправки ка у вас выше.
КлючСервера формате bF204hB2CYAhENo-BRXLBDzCYkOT2xu_g7reFIW037g2mZtJRQGicYMEwHVPVR-lKYNuO7r8QJEqcBXkpr41Gho1tRHEWPtWLcY-Vzp
Ошибок при отправке нет, уведомление не приходит.
Что делаю не так?
В консоле в настройках
на закладке обмен сообщениями в облаке эти данные. Может еще что то надо добавить?
Прикрепленные файлы:
(30)чтобы отправить уведомдение. Получите на клиенте приложения по вашему id 7977...идентификатор устройства. Когда его получите, поместите в js и передайте его на отправку. Так же не забутьте дать разрешение в приложении на получение уведомлений пуш
32.
viki_glebova
17.09.21 06:53
Сейчас в теме
(31)Делаю все ровно точно также как Вы сейчас описали. В мобильном приложении получаю идентификатор устройства, передаю его в основное. Затем в основном вашим кодом запихиваю в json и отправляю. Код ответа приходит 200. Но... Оповещений нет.
Может в консоле firebase что-то еще нужно делать? А то что как-то легко прошла настройка. Точнее сказать ее практически и не было. Тупо создала проект и в настройках появились все эти данные.
Может в консоле firebase что-то еще нужно делать? А то что как-то легко прошла настройка. Точнее сказать ее практически и не было. Тупо создала проект и в настройках появились все эти данные.
34.
viki_glebova
17.09.21 07:11
Сейчас в теме
(33) Ну не смотря на это уведомлений нет. Коль уж все правильно. Как отправить сообщение через консоль?
35.
viki_glebova
17.09.21 07:16
Сейчас в теме
(33)Если так, то ничего не приходит.
Идентификатор устройства туда вставляю, который получаю этим кодом
Идентификатор устройства туда вставляю, который получаю этим кодом
#Если МобильноеПриложениеКлиент Тогда
Попытка
НомерПриложенияGoogleCloud = ОбменДанными.ПолучитьНомерПриложенияGoogleCloud();
ИдентификаторПодписчикаУведомлений = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений(НомерПриложенияGoogleCloud);
ИдентификаторУстройства = ИдентификаторПодписчикаУведомлений.ИдентификаторУстройства;
Исключение
КонецПопытки
#КонецЕслиПрикрепленные файлы:
39.
viki_glebova
17.09.21 13:37
Сейчас в теме
(38)Это я сама добавила вручную в консоле. Ничего не пришло. Как у вас настроены, что у вас все приходит?
40.
viki_glebova
17.09.21 15:18
Сейчас в теме
(38)Сейчас еще раз проверила код. Что передается с мобильного устройства в основное приложение. Туда передаю полностью идентификаторПодписчикаДоставляемыхУведомлений. Храню его в хранилище значений в основной базе. Ошибок при отправке нет. Уведомлений также нет.
Люди добрые, подскажите, пожалуйста, кто с этим разбирался. Как реализовать уведомления на андройде?
Люди добрые, подскажите, пожалуйста, кто с этим разбирался. Как реализовать уведомления на андройде?
Прикрепленные файлы:
44.
viki_glebova
17.09.21 15:54
Сейчас в теме
(41) судя по этой статье
брать ключ надо все же из другого места. И выглядит он иначе. У вас какой ключ используется? Где его получили?
Если взять из консоли разработчика гугл, то вот такая ошибка.
Ошибка отправки PUSH. КодСостояние: 401
<HT ML>
<HEAD>
<TITLE>INVALID_KEY_TYPE</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>INVALID_KEY_TYPE</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
брать ключ надо все же из другого места. И выглядит он иначе. У вас какой ключ используется? Где его получили?
Если взять из консоли разработчика гугл, то вот такая ошибка.
Ошибка отправки PUSH. КодСостояние: 401
<HT ML>
<HEAD>
<TITLE>INVALID_KEY_TYPE</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>INVALID_KEY_TYPE</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
36.
viki_glebova
17.09.21 07:19
Сейчас в теме
(33)Я использую опубликованное мобильное приложение. Через мобильную платформу подключаюсь к мобильному приложению. Если это имеет значение. МОжет нужно приложение полноценное компилировать? И в него добавлять что-то?
29.
viki_glebova
16.09.21 17:40
Сейчас в теме
(25) Можете вашу функцию показать? ЗаписатьДанныеВJSON
46.
KHoroshulinAV
320
20.04.23 18:17
Сейчас в теме
Коллеги можно отправлять уведомления в мобильном приложении. И другие данные и даже отчёты
или публикация инфостарт
или публикация инфостарт
47.
batyaevyug
30.07.24 12:33
Сейчас в теме
Всем доброго дня!
Теперь Уведомление.Данные = "Жду новый рецепт"; уже не работает
По-новому Уведомление.data["Данные"] = ПередаваемыеДанные;
ну... как бы понятно НАПИСАНО. Но как получить теперь на мобильной платформе эти данные?
Теперь Уведомление.Данные = "Жду новый рецепт"; уже не работает
По-новому Уведомление.data["Данные"] = ПередаваемыеДанные;
ну... как бы понятно НАПИСАНО. Но как получить теперь на мобильной платформе эти данные?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот