Page tree
Skip to end of metadata
Go to start of metadata

Штатные механизмы работы WNAM (не требующие отдельной лицензии) позволяют обеспечить показ абоненту Wi-Fi таргетированного рекламного контента, расположенного на внешнем ресурсе. Эта функция реализована в WNAM версии 1.6.2753М и старше.

При подключении абонента проводится проверка идентифицированности его устройства (по МАС адресу). При необходимости, проводится идентификация (авторизация) настоенным способом.

Затем, на стадии приветствия (после идентификации, или при повторном подключении) WNAM может перенаправить абонента на внешний (относительно WNAM) сервер в сети Интернет. На нем размещен произвольный рекламный контент. В этот момент доступа в Интернет у абонента пока нет. После просмотра рекламного контента внешний сервер обязан "вернуть" веб-сессию абонента обратно на сервер WNAM. Там произойдет финальное открытие полного доступа абонента в Интернет.

Для настройки этого метода необходимо:

1. В настройках "приветствия" (общих, у клиента, на площадке) выбрать опцию "Внешняя рекламная система", а также указать ссылку на неё:

При этом в URL можно (но не обязательно) указать мета-параметры: $(mac), $(ip), $(phone), $(site-id), $(server), $(ap-id), которые в момент перехода абонента будут заполнены реальными значениями.

2. Необходимо добавить адрес этого внешнего сервера в список безусловно разрешенных до авторизации ресурсов, walled garden или acl на вашем оборудовании хотспота.

Внимание! Если внешний рекламный ресурс в свою очередь использует какие-то CDN сети или подгружаемый извне контент, адреса этих ресурсов тоже необходимо добавить в walled garden, либо использовать какое-либо проксирование.

3. Внешний ресурс, на который будет перенаправлен абонент, может использовать таргетирование, полученное в URL, для показа своего контента. Вот как может выглядеть поступивший запрос:

GET /x.html?phone=79998887766&mac=EA:0A:BC:B4:AF:6D HTTP/2.0" 200 841 "http://aaa.ru/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15"

Вы также должны понимать, что абонентское устройство будет подгружать этот контент по Wi-Fi, который может быть загружен. Не следует размещать в качестве контента картинки размером 10 мегабайт, и виде-ролики по 100 мегабайт.

4. По завершении показа контента внешний ресурс обязан перенаправить абонента обратно на сервер WNAM. Это можно сделать автоматически по таймеру, или через какую-либо кнопку, которую абонент должен будет нажать явно. Например, для этого можно использовать подобный Javascript-код:

<!DOCTYPE html>
<html lang="ru">
<head>
<title>External adv content</title>
</head><body><p>External adv content</p>
<!-- Hidden Redirect Form -->
<form name="redirectForm" role="form" action="http://172.16.131.5/cp/login" method="post"></form>
<script>
setTimeout(doSubmit, 10000);
function doSubmit() { document.redirectForm.submit(); }
</script>
</body>
</html>

В данном примере ссылку на сервер WNAM вам необходимо поправить "по месту".

Внимание! Для корректной работы обратного перенаправления необходимо, чтобы оба сервера (и рекламный, и WNAM) работали по HTTP, либо оба - по HTTPS. Возможно также вам будет необходимо явно устанавливать заголовки типа Access-Control-Allow-Origin для CORS политики.

5. По завершении перехода сессии абонента обратно на сервер WNAM последний открывает абоненту доступ в Интернет, как обычно, на заданное в "Ограничениях" время.

Лог-файл сервера выглядит следующим образом:

20:36:09.157 DEBUG [c.n.w.s.vendors.MikrotikService:342] - CP mikrotik clicked: username=D6:31:8E:20:A6:7A, ip=10.130.3.252, dst='http://aaa.ru/', server_address=10.130.3.1:80, server_name='mk1-hs'
20:36:09.170 DEBUG [com.netams.wnam.web.cp.PageGenerator:657] - processAuthRequest MIKROTIK: username=D6:31:8E:20:A6:7A, ip=10.130.3.252, server=10.130.3.1:80, site_id=223, dst='http://aaa.ru/' adv curr/max=1/1
20:36:09.172 DEBUG [com.netams.wnam.web.cp.PageGenerator:381] - processRedirectRequestCi mac=D6:31:8E:20:A6:7A, method=EXTADV, formName=, redirectUrl=phone=$(phone)&mac=$(mac), key=ef465b89-c7d9-4202-a253-51638c0f3b23
# задержка в ~10 секунд на показ рекламы внешним сервером
20:36:21.058 DEBUG [c.n.w.web.cp.CaptivePortalController:2108] - webLoginCi: site_id=223, username=D6:31:8E:20:A6:7A, dst='http://aaa.ru/', dst_extra='null'
20:36:21.059 DEBUG [com.netams.wnam.web.cp.PageGenerator:798] - loginAtNasCi MIKROTIK mac=D6:31:8E:20:A6:7A, ip=10.130.3.252, server=10.130.3.1:80, dst='http://aaa.ru/'
20:36:21.066 DEBUG [c.n.w.s.vendors.MikrotikService:287] - backToMikrotik login len=531, server='10.130.3.1:80', username=D6:31:8E:20:A6:7A, password=password, dst='http://aaa.ru/'
20:36:21.169 DEBUG [c.n.wnam.services.WnamCmdService:1429] - AUTH for new session ID=null, request MAC=D6:31:8E:20:A6:7A, IP=10.130.3.252, cust_clientid=null, site_id=223
20:36:21.194 DEBUG [c.n.wnam.services.WnamCmdService:606] - ACCT Start new session ID=80700006, MAC=D6:31:8E:20:A6:7A, IP=10.130.3.252, User=D6:31:8E:20:A6:7A, NAS_IP=172.16.131.1, site_id=223

 



  • No labels