The EnxRoom.sendUserData() method allows you to send customized data adhering to a structure not bound by the Portal message structure, to one or more users connected in a session. This allows your application to send not just messages but also structured instructions, polls, or any data that requires a customized data structure as per your business requirement.
Class: EnxRoom
Method: public void sendUserData(JSONObject data, boolean isBroadcast, array RecipientIDs)
Parameters:
data– JSON Object containing custom keys. This object is passed to the Recipients without any structure enforcement. Be advised to define keys effectively for signaling needs.isBroadcast– Boolean. Set to true for Public Broadcast and false for signaling to one or more recipients.RecipientIDs– Array of Client IDs of recipients of the message when not broadcasting.
Callback:
onUserDataReceived– Receives signaling in JSONObject. Available from Android SDK v1.5.3 onwards.
data JSONObject Sample:
// Example: You can put Important Information with custom keys
// You may define the JSONObject as per your business needs
JSONObject data = {
"sender": "Sender's Name",
"message": "Message body",
"custom_key": "Data"
}
To send & receive Custom Signaling
List<String< Recipient_ClientIds;
room.sendMessage(data, true, null); // Signaling to all
// Signaling to one or selected Recipients
room.sendUserData(data, false, Recipient_ClientIds);
// Users receive Signaling Message through Callback
// Available from v1.5.3.
Public void onUserDataReceived(JSONObject jsonobject){
// Handle JSON Object
}
Error Codes / Exceptions
| Code | Description |
|---|---|
| 5127 | Exceeding maximum allowed data transfer rate of 100Kb. |
