Удалить пользователя из канала чата 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();
}
Другие вопросы по тегам