2017-02-07 5 views
2

В моем приложении чата я хочу знать, является ли член канала в сети, но 'userInfoUpdated' никогда не срабатывает, когда приходит новый участник, и member.userInfo.online всегда имеет значение null, когда захочу его получить. Что я делаю не так?Пользователь онлайн-статус Twilio всегда равен нулю

UPD: Здесь код приостановлена ​​на член «обновленного» даже userInfo.online поле государства-члена еще null enter image description here

UPD2: Теперь я нашел эту линию от documentaion

Расширенная информация о пользователе Обратите внимание, что идентификационные свойства UserInfo # online и UserInfo # могут использоваться только в том случае, если включена функция доступности. Вы можете проверить, если он включен, прочитав значение Client ~ reachabilityEnabled docs

Наконец установка reachabilityEnabled на бэкенд решена моя проблема

+0

Вы можете использовать код, который используете? Когда вы вызываете 'member.userInfo.online'? Когда вы начинаете слушать 'userInfoUpdated'? – philnash

+0

У меня есть 'member.on ('userInfoUpdated')' inside 'client.getChannelByUniqueName (uniqueName) .then (channel => { channel.getMembers(). ForEach (member => { member.on ('userInfoUpdated',() => { // ничего не происходит }) }) }) ' –

ответ

1

установка достижимостиEnabled на бэкэнде решена моя проблема

0

Twilio разработчик евангелист здесь.

Ваш комментарий Вы говорите, что ваш код:

client.getChannelByUniqueName(uniqueName).then(channel => { 
    channel.getMembers().forEach(member => { 
    member.on('userInfoUpdated',()=>{ //nothing happening }) 
    }) 
}) 

Я думаю, что я вижу проблему. channel.getMembers() returns a Promise, который будет асинхронно разрешать с массивом объектов Member. Вы просто звоните forEach по самому обещанию. Попробуйте что-то вроде:

client.getChannelByUniqueName(uniqueName).then(channel => { 
    return channel.getMembers() 
}).then(members => { 
    members.forEach(member => { 
    member.on('userInfoUpdated',()=>{ // something happening? }) 
    }) 
}) 

Сообщите мне, если это поможет вообще.

+0

Вы правы, я ошибся с примером, но все равно это работает так же, я имею в виду, что это не работает. Даже когда пользователь из списка присоединяется к каналу '' userInfoUpdated'' не запускает и не проверяет список пользователей в отладчике, поле пользователя онлайн равно –

+0

Пользовательский «обновленный» пожар событий, но даже внутри этого обработчика событий онлайн-поле пользователя еще 'null' –

 Смежные вопросы

  • Нет связанных вопросов^_^