Acquire Assist Plugin for Wayfinder
Overview
A Wayfinder plugin used to communicate with the Acquire Assist kiosk App via the,
See: Assist API
The AA Kiosk App connects to an Acquire Assist Server which links the kiosk user to an Operator Client.
The plugin has a button to request assistance, and popups to show video etc. once connected.
The assistance button can be disabled, and the plugin controlled externally by Wayfinder messages. e.g. the Main Menu assist button uses this.
Usage
The Plugin should be add to Overlays at a position where it will appear in front over everything, and activated with the Enable.Assistance variable.
On startup of the plugin will a) save AA Kiosk App Settings from Wayfinder variable to an ini file and b) run the AA Kiosk App from the projects NeverSend\Apps\ folder. It will attempt to re-start the app should it crash. The location of the app is configurable, and can be left out if run from elsewhere.
The app will be included in the project and the latest version (as of writing!) can be found here: N:\Internal Jobs\AcquireAssist\2.0.0.11\Kiosk\Standalone API\
The Plugin connects to the AA Kiosk App via the Assist API once the app has started. It will re-connect if the connection drops. Re-connect frequency is configurable.
An Assist Button is shown. Clicking this opens a Confirmation Popup. You can also invoke this popup via Wayfinder messages or from the Main Menu assist button.
On clicking continue the popup shows a connecting spinner, and once connected to on Operator Client it will show a Call Popup.
The Call Popup has a hang-up button and may show the operator video if they turn that on. It also shows the audio status (connected or on-hold)
Internal Messages
Below are the messages that can be used to communicate with other plugins in Wayfinder:
- AcquireAssistStatusChanged - Sent when the status of the Assist API is updated. Params include the state and the number of operators available.
- AcquireAssistRingtoneStatusChanged- Sent when the Ringtone status is updated from the Assist API. One argument "true" for when started and "false" for when stopped. AcquireAssistRequestAssistance - Sent from an external plugin to request assistance via the Assist API. The Main Menu assist button sends this when clicked.
- AcquireAssistCancelAssistance - This can be sent by an external plugin to cancel assistance via the Assist API.
- AcquireAssistButtonState - Sent when the Assist button's state is changed to Ready, Busy, or Unavailable. It is sent even when the Assist button is turned off. The Main Menu assist button uses this to change it style to Normal, Down, or Disabled.
Configuration
Below are an example config and style sheet.
The system is configured by overriding the following Wayfinder variables:
- Enable.Assistance Run the plugin
- AcquireAssist.ShowAssistButton
Show an Assist button (you can still control it via aWayfinder message) - AcquireAssist.HideIfNotAvailable
The assist button will hide, instead of being disabled, when Assist is not avalable. - AcquireAssist.KioskApp
The Assist Kiosk App to run and keep alive. Leave this blank if its run elsewhere. - AcquireAssist.IP
- AcquireAssist.Port
- AcquireAssist.ServerPortUDP
These server connection settings are saved to the Kiosk App ini file prior to running it. - AcquireAssist.UserName
Id$$_machineid
AcquireAssist.Password
Id$$_machineid
AcquireAssist.KioskName
These login settings are passed via the API when connecting. Kiosk Name can include these special tags: $$_playername - $$_machineid - AcquireAssist.DDA.X
- AcquireAssist.DDA.Y
Amount to move controls on DDA - AcquireAssist.AssistButton.X
- AcquireAssist.AssistButton.Y
- AcquireAssist.AssistButton.UseDDA
Position of the Assist button and whether to move with DDA (you might only want popups to move) - AcquireAssist.ConnectPopup.X
- AcquireAssist.ConnectPopup.Y
Position of the Connect popup - AcquireAssist.CallPopup.X
- AcquireAssist.CallPopup.Y
Position of the call popup - AcquireAssist.Colour.Connected
- AcquireAssist.Colour.OnHold
- Colour.Action.Two.Button
- Colour.Action.Two.Button.Down
Various colours
Main Menu
To add an assist button to the Main Menu add this line to its layout.xml:
<assist width="0" text="Contact Us" disabledText="Not Available" glyph="Glyphs\Contact.png"/>