sendCustomMessage static method
Future<CustomMessage?>
sendCustomMessage(
- CustomMessage message, {
- required dynamic onSuccess(
- CustomMessage message
- required dynamic onError(
- CometChatException excep
send custom messages which are neither text nor media messages.
receiverId
Unique id of the user or group to which the message is to be sent.
receiverType
Type of the receiver i.e user or group
customType
custom message type that you need to set.
customData
The data to be passed as the message in the form of a JSONObject.
The method could throw PlatformException with error codes specifying the cause
Implementation
static Future<CustomMessage?> sendCustomMessage(CustomMessage message, {required Function(CustomMessage message)? onSuccess, required Function(CometChatException excep)? onError}) async {
try {
final result = await channel.invokeMethod('sendCustomMessage', {
'receiverId': message.receiverUid,
'receiverType': message.receiverType,
'customType': message.type,
'customData': message.customData,
'subType': message.subType,
'muid': message.muid,
'parentMessageId': message.parentMessageId,
'metadata' : json.encode(message.metadata ?? {}),
});
final res = CustomMessage.fromMap(result);
if(onSuccess != null) onSuccess(res);
return res;
} on PlatformException catch (platformException) {
if(onError != null) onError(CometChatException(platformException.code, platformException.details, platformException.message));
} catch (e) {
debugPrint("Error: $e");
if(onError != null) onError(CometChatException(ErrorCode.errorUnhandledException, e.toString() , e.toString()));
}
return null;
}