AgoraRtmChannel constructor
AgoraRtmChannel(
- int _clientIndex,
- String _channelId
)
Implementation
AgoraRtmChannel(this._clientIndex, this._channelId) {
_eventSubscription =
_addEventChannel().receiveBroadcastStream().listen((dynamic event) {
final map = Map.from(event['data']);
switch (event['event']) {
case 'onMemberCountUpdated':
int memberCount = map['memberCount'];
onMemberCountUpdated?.call(memberCount);
break;
case 'onAttributesUpdated':
List<RtmChannelAttribute> attributeList =
List<Map>.from(map['attributeList'])
.map((e) => RtmChannelAttribute.fromJson(e))
.toList();
onAttributesUpdated?.call(attributeList);
break;
case 'onMessageReceived':
RtmMessage message = RtmMessage.fromJson(map['message']);
RtmChannelMember fromMember =
RtmChannelMember.fromJson(map['fromMember']);
onMessageReceived?.call(message, fromMember);
break;
case 'onMemberJoined':
RtmChannelMember member = RtmChannelMember.fromJson(map['member']);
onMemberJoined?.call(member);
break;
case 'onMemberLeft':
RtmChannelMember member = RtmChannelMember.fromJson(map['member']);
onMemberLeft?.call(member);
break;
}
}, onError: onError);
}