Демо

Отправка действий в браузер пользователю (пуш, алерт и т.д.)

Описание, как реализовать

В этом демо мы покажем как можно отправлять запрос конкретному пользователю (по username или falconGuid) через внешнее действие из SQL и выполнять типовые задачи на странице. 

Примечание. Необходимо разрешить в браузере отправку Push уведомлений

Что делает эта форма: 

  • отправляет пуш уведомление
  • отправляет alert 
  • отправляет данные в printlog пользователю 
  • проигрывает звуковой файл 
  • обновляет часть страницы пользователя

Важный момент - отправка может идти любому онлайн пользователю (по falconGuid для неавторизованных и по username для авторизованных пользователей). В данном случае мы просто отправляем команду sendToBrowser самим себе. 

Также по коду внешнего действия можно выполнить некий свой JS на стороне пользователя: 

$(function(){
	as.signalr_action1 = function(data){
    	console.log("Полученные с сервера данные", data);
    }
});

Документация по внешним действиям - https://falcon.web-automation.ru/docs/vneshnie-deystviya

Как реализовать вызов SendToBrowser

SaveItem у формы: 

CREATE PROCEDURE [dbo].[fm_watch_sendToBrowser_saveItem]
   @username nvarchar(256), 
   @itemID int, 
   @parameters ExtendedDictionaryParameter readonly
   
AS
BEGIN
	declare @falconGuid nvarchar(128) = (select Value2 from @parameters where [key]='falconGuid')
	declare @pushTitle nvarchar(max) = replace((select Value2 from @parameters where [key]='pushTitle'), '"', ' ')
	declare @pushText nvarchar(max) = replace((select Value2 from @parameters where [key]='pushText'), '"', ' ')
	declare @pushIcon nvarchar(max) = replace((select Value2 from @parameters where [key]='pushIcon'), '"', ' ')
	declare @pushImage nvarchar(max) = replace((select Value2 from @parameters where [key]='pushImage'), '"', ' ')
	
    declare @alertTitle nvarchar(max) = replace((select Value2 from @parameters where [key]='alertTitle'), '"', ' ')
	declare @alertText nvarchar(max) = replace((select Value2 from @parameters where [key]='alertText'), '"', ' ')
	declare @alertType nvarchar(max) = replace((select Value2 from @parameters where [key]='alertType'), '"', ' ')
	declare @audioUrl nvarchar(max) = replace((select Value2 from @parameters where [key]='audioUrl'), '"', ' ')
	
    declare @plTitle nvarchar(max) = replace((select Value2 from @parameters where [key]='plTitle'), '"', ' ')
	declare @plText nvarchar(max) = replace((select Value2 from @parameters where [key]='plText'), '"', ' ')
	declare @plType nvarchar(max) = replace((select Value2 from @parameters where [key]='plType'), '"', ' ')
	
    
	-- 1 SELECT (Result, Msg)
	select 1 Result, 'OK' Msg
    
      select 'sendToBrowser' type, '' username, @falconGuid falconGuid, 'action1' code,
    	'{
        	"pushOptions": {
         	   "title": "'+@pushTitle+'",
               "body": "'+@pushText+'",
               "icon": "'+@pushIcon+'",
               "image": "'+@pushImage+'",
               "id": 1,
               "actions": [{"action": "https://yandex.ru", "title": "Yandex"}, {"action": "https://google.com", "title": "Google"}],
               "vibrate": true,
               "tag": "'+try_convert(nvarchar(128), newID())+'"
         	},
        	"alert": {
         	   "text": "'+@alertText+'",
                   "type": "'+@alertType+'",
                   "delay": 15000,
                   "hidePrev": false,
                   "title": "'+@alertTitle+'"
         	},
                "audio": "'+@audioUrl+'",
                "updates": [
            	     {"control": "table", "code":"code1", "itemID": "123", "pk":"12345", "col": "col1", "value": "value1"},
                     {"control": "form", "code":"code1", "itemID": "123", "col": "col1", "value": "value1"}
                ],
                "refreshContainer": ".class1",
                "setContainerContent": { "selector": ".class1", "value": "< div class=''font-weight-bold text-success my-2'' >Это текст загружен в контейнет class1 из Внешнего действия</ div >", "delay": 1000 },
                "printlog": {
                	"title": "'+@plTitle+'", 
                    "text" : "'+@plText+'", 
                    "type": "'+@plType+'"
                }

         }' data
END
Насколько полезна эта возможность?

В чем выгода для бизнеса?

Отправка push-уведомлений, alert, звуковых сигналов, обновление контента на странице по инициативе сервера. Позволяет информировать пользователя в реальном времени, повышает вовлеченность.

Последние обновления

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Сайт использует Cookie. Правила конфиденциальности OK