sendGroupMessage method
Future<void>
sendGroupMessage({
- required String message,
- required List<
HMSRole> hmsRolesTo, - String type = "chat",
- HMSActionResultListener? hmsActionResultListener,
Sends a message to all the peers of a role defined in hmsRolesTo
.
Parameters:
hmsRolesTo - All peers currently in that role will receive the message.
message - contains the content of the message.
type - The type of the message, default is chat.
hmsActionResultListener - It contain informs about whether the message was successfully sent, or the kind of error if not.
Implementation
Future<void> sendGroupMessage(
{required String message,
required List<HMSRole> hmsRolesTo,
String type = "chat",
HMSActionResultListener? hmsActionResultListener}) async {
List<String> rolesMap = [];
hmsRolesTo.forEach((role) => rolesMap.add(role.name));
var arguments = {"message": message, "type": type, "roles": rolesMap};
var result = await PlatformService.invokeMethod(
PlatformMethod.sendGroupMessage,
arguments: arguments);
if (hmsActionResultListener != null) {
if (result != null && result["error"] != null) {
hmsActionResultListener.onException(
methodType: HMSActionResultListenerMethod.sendGroupMessage,
arguments: {"message": message, "type": type, "roles": hmsRolesTo},
hmsException: HMSException.fromMap(result["error"]));
} else {
hmsActionResultListener.onSuccess(
methodType: HMSActionResultListenerMethod.sendGroupMessage,
arguments: _hmsMessageToMap(result));
}
}
}