Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

Commit fe7a280

Browse files
committed
fix: move to rtm text message for compatibility
1 parent 6fb86ca commit fe7a280

File tree

1 file changed

+40
-37
lines changed

1 file changed

+40
-37
lines changed

src/RTMConfigure.tsx

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import AgoraRTM, {
33
createLazyClient,
44
createLazyChannel,
55
RtmEvents,
6-
RtmRawMessage
6+
RtmMessage
77
} from 'agora-rtm-react'
88
import PropsContext from './PropsContext'
99
import {
@@ -90,7 +90,6 @@ const RtmConfigure = (props: any) => {
9090
}
9191

9292
const joinChannel = async () => {
93-
await rtcUid
9493
try {
9594
await channel.join()
9695
timerValueRef.current = 5
@@ -134,11 +133,11 @@ const RtmConfigure = (props: any) => {
134133
})
135134

136135
rtmClient.on('MessageFromPeer', (message, peerId) => {
137-
handleReceivedMessage(message as RtmRawMessage, peerId)
136+
handleReceivedMessage(message, peerId)
138137
})
139138

140139
channel.on('ChannelMessage', (message, peerId) => {
141-
handleReceivedMessage(message as RtmRawMessage, peerId)
140+
handleReceivedMessage(message, peerId)
142141
})
143142

144143
channel.on('MemberJoined', async (peerId) => {
@@ -230,31 +229,39 @@ const RtmConfigure = (props: any) => {
230229
}
231230
}
232231

233-
const handleReceivedMessage = (message: RtmRawMessage, peerId: string) => {
234-
const payload = (message as RtmRawMessage).rawMessage
235-
const messageObject: messageObject = parsePayload(payload)
232+
const handleReceivedMessage = (message: RtmMessage, peerId: string) => {
233+
let messageObject: messageObject | undefined
234+
if (message.messageType === 'RAW') {
235+
messageObject = parsePayload(message.rawMessage)
236+
} else if (message.messageType === 'TEXT') {
237+
messageObject = JSON.parse(message.text)
238+
}
236239
console.log(messageObject, peerId)
237-
switch (messageObject.messageType) {
238-
case 'UserData':
239-
handleReceivedUserDataMessage(messageObject)
240-
break
241-
case 'MuteRequest':
242-
handleReceivedMuteMessage(messageObject)
243-
break
244-
case 'RtmDataRequest':
245-
switch (messageObject.type) {
246-
case 'ping':
247-
handlePing(peerId)
248-
break
249-
case 'userData':
250-
handleUserDataRequest(peerId)
251-
break
252-
default:
253-
console.log(peerId)
254-
}
255-
break
256-
default:
257-
console.log('unknown message type')
240+
if (messageObject) {
241+
switch (messageObject.messageType) {
242+
case 'UserData':
243+
handleReceivedUserDataMessage(messageObject)
244+
break
245+
case 'MuteRequest':
246+
handleReceivedMuteMessage(messageObject)
247+
break
248+
case 'RtmDataRequest':
249+
switch (messageObject.type) {
250+
case 'ping':
251+
handlePing(peerId)
252+
break
253+
case 'userData':
254+
handleUserDataRequest(peerId)
255+
break
256+
default:
257+
console.log(peerId)
258+
}
259+
break
260+
default:
261+
console.log('unknown message content')
262+
}
263+
} else {
264+
console.log('unknown rtm message type')
258265
}
259266
}
260267

@@ -303,23 +310,19 @@ const RtmConfigure = (props: any) => {
303310
}
304311

305312
const sendChannelMessage = async (payload: messageObject) => {
306-
const rawMessage = createRawMessage(payload)
307313
const message = rtmClient.createMessage({
308-
rawMessage: rawMessage,
309-
messageType: AgoraRTM.MessageType.RAW,
310-
description: 'AgoraUIKit'
314+
text: JSON.stringify(payload),
315+
messageType: AgoraRTM.MessageType.TEXT
311316
})
312317
await channel.sendMessage(message)
313318
}
314319

315320
const sendPeerMessage = async (payload: messageObject, peerId: string) => {
316-
const rawMessage = createRawMessage(payload)
317321
const message = rtmClient.createMessage({
318-
rawMessage: rawMessage,
319-
messageType: AgoraRTM.MessageType.RAW,
320-
description: 'AgoraUIKit'
322+
text: JSON.stringify(payload),
323+
messageType: AgoraRTM.MessageType.TEXT
321324
})
322-
await rtmClient.sendMessageToPeer(message, peerId)
325+
await rtmClient.sendMessageToPeer(message, String(peerId))
323326
}
324327

325328
const end = async () => {

0 commit comments

Comments
 (0)