Мобильный (переносной) терминал оператора представляет собой смартфон на OC «Android» с установленным на него приложением «Game-Keeper mobile terminal». Предназначен для списания средств с карты гостя Game-Keeper на аттракционах и отображения информация о балансе карты. Гостевые карты должны быть бесконтактные MiFare, смартфон с модулем NFC для чтения таких карт. Аттракционы в данном случае заводятся в БД GK как услуги. На терминале происходит списание очков-денег с карты GK по правилу и стоимости установленными в приложении «Редактор». Технология реализована на базе Microsoft Web Server IIS и инструментах платформы .Net Core.
1.Схема взаимодействия
2. Состав дистрибутива
Папка с WEB-сервером pda1 находится в основном дистрибутиве версии GK в папке ..\GK\gkAPI\api.int\pda1\
Папка с gkExtServer находится в основном дистрибутиве версии GK в папке ..\GK\gkAPI\gkExtServer\.
Для удобства дальнейшей настройки и навигации необходимо создать папку WEB в корне папки GK и скопировать в неё pda1 и gkExtServer. Стоит отметить, что если на объекте уже используют gkExtServer для других похожих технологий GK, например gkAPI, то папку для нашего gkExtServer перед копированием переименовать:
Также в состав дистрибутива входит установочный пакет для разворачивания на самом мобильном терминале.
Для установки необходимо подключить терминал к компьютеру интерфейсным кабелем, скопировать на него установочный пакет app-release.apk и запустить. После установки на рабочем столе появится соответствующий ярлык для запуска приложения.
3. Установка и настройка gkExtServer
В папке с модулями gkExtServer, настраиваем конфигурационный файл gkExtServer.ini:
[DbConnect] – связь с gkPosServer
Port = 50300 – порт gkPosServer
ServerName = 127.0.0.1 – ip-адрес, где запущен gkPosServer
[Settings]
ServiceName=pda1 – имя службы gkExtServer (будет отображаться в службах Windows)
HttpPort=50302 – порт gkExtServer
POSID=999
LogLevel=5
;Mode=1
Далее необходимо проинсталлировать службу gkExtServer, запустив через командную строку с ключом /install. Для удобства инсталляции службы в папке с gkExtServer.exe имеется install.bat, который необходимо запустить от имени Администратора. Предварительно в тексте файла необходимо отредактировать путь к gkExtServer.exe.
Запустить службу gkExtServer:
4. Настройка подключения web-сервиса pda1
Настройка заключается в конфигурировании файла gkconfig.json.
Содержимое файла:
{
"host": "127.0.0.1", - ip-адрес, где запущен gkExtServer
"port": "50302", - порт gkExtServer для pda1
}
5. Установка платформы .Net Core
Установка осуществляется по документу в текущем разделе "Приложение 1 - Установка платформы .Net Core"
6. Установка и настройка Microsoft Web Server IIS
Установка осуществляется по документу в текущем разделе "Приложение 2 - Установка и настройка Microsoft Web Server IIS"
В главном окне Диспетчера IIS выбираем элемент дерева «сайты», правой клавишей мыши – Добавить веб-сайт.
Вводим имя сайта, в нашем случае это pda1, указываем физический путь к папке pda1, задаем порт для веб-сервиса и нажимаем кнопку «ОК». При вводе имени сайта автоматически будет создан пул приложений для этого сайта с одноименным названием, необходимо в Диспетчере служб IIS перейти в меню дерева «Пулы приложений» и проверить, что пул создался с версией среды CLR.NET v4.0.
7. Настройки в приложении «Редактор»
В справочнике «Ценовые категории» создаем категорию, в нашем примере «Велопрокат», делаем ее активной:
В справочнике «Товары и услуги» создаем подгруппу, в нашем примере «Прокаты», делаем ее активной.
Далее в этой подгруппе создаем услугу, в нашем примере «Велопрокат». Делаем ее активной, в поле код указываем цифру аналогично полю ID, Применение выбираем тип «Услуга», выбираем ценовую категорию, созданную ранее «Велопрокат». Важно!!! В поле «Примечание» вписываем параметр &PDAID=1. Это нужно, чтобы услуги с таким параметром отображались на мобильном терминале оператора. Здесь 1 – любая произвольная цифра, которая присваивается конкретному терминалу. Например, у нас есть 3 мобильных терминала оператора и есть некоторый набор оказываемых услуг. Нам нужно, чтобы на каждом терминале отображались лишь определенные услуги и причем разные. Для этого мы в поле «Примечание» для услуг, которые должны отображаться на первом терминале ставим &PDAID=1, на втором терминале &PDAID=2, на третьем терминале &PDAID=3. То есть здесь эти параметры являются идентификаторами самих мобильных терминалов. В настройках на самом терминале дальше мы будем указывать именно их!!!
Далее в справочнике «Уровни и правила» для уровня Стандартный создаем правило, где указываем ценовую категорию, в которой создана наша услуга «Велопрокат», период действия правила, стоимость услуги, не забываем сделать правило активным:
8. Настройки мобильного приложения «Game-Keeper mobile terminal»
На смартфоне запускаем ярлык «Game-Keeper mobile terminal». На сером поле в центре экрана тапнуть 2 раза пальцем, откроется меню для конфигурации приложения.
Заполняем поле HOST, где указываем ip-адрес сервера, где крутится вэб-сервис pda1 и его порт в следующем формате:
172.22.172.22:8082
Заполняем поле POS ID (ID точки продажи в Game-Keeper), ставим значение аналогичное значению в параметре &PDAID=1
Выбираем Режим работы (Work mode). Может принимать 2 значения: продажа услуг (т.е. разовая оплата) или Прокат (для тарификаций).
9. Заключение
Для возможности использования данного функционала необходимо приобрести лицензию на модуль «Game-Keeper мобильный терминал».