In real-time engagement scenarios, you may need to remove a specified user from a channel. Refer to the following solutions according to your scenario:
Scenario one
After a call ends, some user (most often a Web user) forgets to leave the channel. Even though no call takes place, Agora adds up service minutes.
To prevent this from happening, you can detect whether a user is active by using the onAudioVolumeIndication
callback, or by monitoring whether the user publishes an audio stream within a certain amount of time. If the user is inactive, call leaveChannel
in the app logic to remove the user from the channel.
Scenario two
For scheduling apps, calls usually start and end at pre-set time points. For example, if a meeting starts at 10 and lasts for one hour, then the scheduling app should end the meeting at 11.
Choose either of the following methods to remove the user:
privilegeExpiredTs
parameter) as the timestamp when the meeting ends. Once the token expires, the user is kicked out of the channel. For details, see generate a token.time
parameter as 0, so that the user can join other channels after being kicked. For details, see create a kicking rule.Scenario three
In a live streaming channel, the host can kick off a co-host or audience member who violates chatroom rules.
You can use the peer-to-peer messaging function of the Agora RTM SDK. On the host's client, call sendMessageToPeer
to notify the remote user to leave channel, and on the remote user's client, call leaveChannel
after receiving the peer message in the onMessageReceived
callback.