Push
To enable bi-directional communication between OMD Cloud and OMD applications such as OMD Mobile and OMD Coordinator, the Push channel must be enabled.
There are the following options for push-notification communications:
STOMP
MQTT
STOMP
(TCP Sockets) is the foundation for the standard implementation on OMD Mobile for Android, while communications can also be switched to MQTT
. For the OMD Mobile HTML5 client, only MQTT
is available.
MQTT
(TCP+SSL/TLS or Secure Websockets) must be accompanied by some cloud-side administrative pre-requisites. Consult the MQTT
Configuration Guide to setup the connection preferences for the MQTT
broker, allowing mobile clients to receive Push messages.
To enable MQTT
for client apps, at least the settings
mqttHost
mqttUsername
mqttPassword
mqttPort (only for the HTML5 client)
must be defined.
mqttClientIdPrefix | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | omd-mobile-android | - | + | - |
The mqttClientIdPrefix
process flow preference defines the name of the client-type, receiving notifications.
mqttHost | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | <none> | m21.cloudmqtt.com | + | + |
The mqttHost
process flow preference defines the host-name of the MQTT-broker
, providing notifications.
mqttInstance | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | www | sb | + | + |
The mqttInstance
process flow preference defines the type of environment-type of the OMD configuration.
mqttProtocol | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | ssl | tcp | + | - |
The mqttProtocol
process flow preference defines the communications protocol, when the client connects to the MQTT-broker
. The OMD Mobile Android client technically can use (unencrypted) tcp or ssl, but should use ssl, for security reasons.
Note: the OMD Mobile HTML5 client will always use wss, while (unencrypted) ws is not supported.
mqttTCPPort | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Integer | 27935 | 17935 | + | - |
The mqttTCPPort
process flow preference defines the MQTT-broker's
port, the client connects to. For ssl, this usually is 27935, but can be 17935 for (unencrypted) tcp. Note that unencrypted communication is discouraged.
mqttPort | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
Integer | <none> | 37935 | - | + |
The mqttPort
process flow preference defines the MQTT-broker's
port, the client connects to. For wss, this usually is 37935.
mqttUsername | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | <none> | my-companys-broker-user-name | + | + |
The mqttUsername
process flow preference defines the user-name of the client app, when connecting to the MQTT-broker
. The user-name must be registered on the broker, and every company (OMD customer) should have at least one MQTT
user. Note: this is not an OMD user!
mqttPassword | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | <none> | - | + | + |
The mqttPassword
process flow preference defines the MQTT
user's password, when connecting to the MQTT-broker
.
mqttAsyncClient | ||||
---|---|---|---|---|
Type | Default Value | Example | Android | HTML 5 |
String | true | false | + | - |
If MQTT communication is configured, then the flow preference mqttAsyncClient
defines, whether the mobile client uses an asynchronous client.