Your Application may require to send instructions, data to one or more recipient connected in a Session to deploy new features, business workflow. For example, you wan to create a Polling mechanism among participants. EnableX supports Custom Signalling method through which you can build such utility that requires passing of messages among participants.

Using Custom Signaling Method, you might send message to all or selected participants in a Room. You can define your custom data structure to pass to meet your business requirement.

Method:  static Future<void> sendUserData(Map<String,dynamic> message, bool isBroadCast, List<dynamic> recipientIDs)


  • @param Map message – Map containing custom keys. This object is passed to Recipients as is. EnableX doesn’t enforce it’s structure. Be advised to define keys effectively for signaling needs.
  • @param bool isBroadcast– Boolean. Use true for Public Broadcast, Use false for signaling to one or more recipients.
  • @param List clientIds – Array of ClientIDs whom you wish to send private messages.


  • onAcknowledgeSendData – It notifies when signaling mesage is sent to another user or group of users
  • onUserDataReceived – Receives a new signaling message

message – Example of custom chat Map:

// Example: Important Information you can put with custom keys
// You may define the Map as per your business needs

map message = {
    "sender": "Sender's Name",
    "message": "Message body",
    "custom_key": "Data"

To send & receive Custom Signaling

EnxRtc.sendUserData(”message”,true,[]);	// Send Custom Signaling

EnxRtc.onAcknowledgeSendData = (Map<dynamic,dynamic> map) {
	// Signaling Message has been sent

EnxRtc.onUserDataReceived = (Map<dynamic,dynamic> map) {
	// New Signaling Message is received