Удалить пользователя из канала чата Twilio, когда вкладка закрыта
Кто-нибудь знает о методе автоматической отмены подписки / удаления пользователя из канала программируемого чата Twilio после некоторого времени бездействия?
Самый простой сценарий, который приходит мне в голову, - это тот, когда пользователь закрывает вкладку браузера, не покидая канал чата (так channel.leave()
никогда не вызывается)... и, как следствие, остается участником канала навсегда.
Другой сценарий - когда сеть выходит из строя.
1 ответ
Используя beforeunload
вы можете сделать что-то вроде этого: (здесь я использую реакцию)
// Things to do before unloading/closing the tab
doSomethingBeforeUnload = () => {
if (this.room) {
this.room.disconnect()
// Detach other things such as participant video, if you need
}
}
// Setup the `beforeunload` event listener
setupBeforeUnloadListener = () => {
window.addEventListener("beforeunload", (ev) => {
ev.preventDefault();
return this.doSomethingBeforeUnload();
});
};
componentDidMount() {
// Activate the event listener
this.setupBeforeUnloadListener();
}