twilio chat - добавляйте пользователя в канал и получайте сообщения

Я работаю над функциональностью чата Twilio для приложения.

Вот как это работает: - Пользователи фактически регистрируются в Twilio, когда они входят в наше приложение. и когда я открываю модальное окно чата в нашем приложении, пользователь также входит в систему Twilio.

Теперь, как это должно работать, пользователь, вошедший в наше приложение, может общаться с другими пользователями в приложении, и поэтому для двух пользователей создается уникальный канал с уникальным именем: UserA1_UserA2, т.е. если пользователь A1 (зарегистрированный пользователь) хочет чат с пользователем A2 другой вариант для уникального имени канала: UserA2_UserA1

и после того, как пользователь 1 создает канал и присоединяется к каналу, он отправляет сообщения, которые он хочет отправить.

Теперь, когда пользователь A2 входит в наше приложение, ему необходимо подключиться к тому же каналу, который создал пользователь A1, и есть 2 варианта имен каналов. то есть либо UserA1_UserA2, либо UserA2_UserA1

поэтому, когда пользователь A2 входит в наше приложение, он должен получать сообщения, отправленные пользователем A1.

для чего он должен будет присоединиться к тому же каналу twilio, созданному пользователем A1, и затем иметь возможность загружать сообщения.

вот где я застрял.

как пользователь A2 узнает, отправил ли ему пользователь A1 или любой другой пользователь какие-то сообщения, и ему также нужно знать, к какому каналу ему нужно присоединиться, чтобы загрузить отправленные сообщения.

как это работает?

есть ли способ сделать это ?? Я создаю эту функциональность с помощью reactjs.

Я уже сделал части, связанные с созданием канала и авторизацией пользователя twilio, но не знаю, что делать дальше.

дайте мне знать, если у вас есть идеи.

Я следил за этим руководством и уже смог использовать его для отправки сообщений от пользователя 1, но не могу получать сообщения при входе в систему с помощью user2

Как это сделать??

https://github.com/philnash/twilio-chat-kendo-react

ОБНОВИТЬ:

используя этот - this.channel.getMessages().then(this.messagesLoaded);

Где messagesLoaded определяется следующим образом: -

messagesLoaded(messagePage) {
    this.setState({
      messages: messagePage.items.map(this.twilioMessageToKendoMessage)
    });
  }

но после долгих исследований и повторного просмотра кода я обнаружил, что проблема заключается не в загрузке сообщений, а в

это найти канал, по которому пользователь получил сообщение.

Итак, как я объяснил выше, скажем, что пользователь A присоединяется к каналу UserA1_UserA2 и отправляет сообщения пользователю A2

но когда пользователь A2 входит в систему, как нам узнать, отправил ли кто-то ему сообщение по какому-либо каналу, а также узнать, на каком канале. чтобы он мог присоединиться к этому каналу и получать сообщения.

это проблема, с которой я столкнулся.


person faraz    schedule 08.10.2019    source источник
comment
Какой код вы используете для загрузки сообщений, когда ваш пользователь присоединяется к каналу?   -  person philnash    schedule 12.10.2019
comment
Я добавил еще немного кода выше. Но, как я объяснил выше, проблема не в том, что, скажем, пользователь A присоединяется к каналу UserA1_UserA2 и отправляет туда сообщения пользователю A2, а когда пользователь A2 входит в систему, как мы узнаем, отправил ли кто-то ему сообщение по какому-либо каналу, а также узнаем канал, который. чтобы он мог присоединиться к этому каналу и получать сообщения.   -  person faraz    schedule 12.10.2019


Ответы (1)


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

Обновление: По-видимому, я пропустил эту страницу в нашей документации, которая точно описывает как включить push-уведомления для Интернета через Twilio Video и Firebase.

Оригинальный ответ с другими идеями информирования пользователей о новых сообщениях ниже:

В Twilio Chat нет ничего, что могло бы уведомлять веб-пользователей о новых сообщениях в вашем приложении. Однако вы можете настроить получение веб-перехватчиков при отправке новых сообщений на канал.. Затем вы можете проверить, какой пользователь в данный момент не активен на канале, используя доступность. , а затем сохраните что-нибудь в своей базе данных против вашего пользователя, чтобы сказать, что у него есть непрочитанные сообщения с этого канала. Затем, когда они входят в систему, вы можете показать им, что у них есть непрочитанные сообщения, или вы можете через некоторое время отправить им предупреждение, например, по электронной почте, чтобы сообщить, что у них есть непрочитанные сообщения.

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

person philnash    schedule 12.10.2019
comment
Большое спасибо за ответ. это было полезно. насчет канала - так вы говорите, нам нужно сделать это через бэкэнд? скажем, userA1 отправляет сообщение userA2 каналу UserA1_UserA2. Когда пользователь A2 входит в систему, веб-перехватчик становится активным. но не будет содержать информацию о канале ?? или если приглашение получено? в основном этот же чат работает над версией приложения для Android с использованием sdk. они создают канал, а затем добавляют к нему пользователя A2, как только они его создают. так что я тоже хотел сделать что-то подобное, так что, думаю, это будет невозможно. дайте мне несколько советов, если возможно - person faraz; 12.10.2019
comment
Веб-перехватчики происходят во время события и позволяют вам реагировать на них, сохраняя данные или уведомляя вашего пользователя в это время. С другой стороны, вы всегда можете загрузить чат в фоновом режиме, когда пользователь входит в систему, и проверять наличие новых каналов или новых сообщений в каналах, а затем уведомлять их. Это действительно ваше дело. - person philnash; 12.10.2019
comment
Итак, я могу настроить что-то, что, когда user2 входит в систему, они получают уведомление всякий раз, когда они получают приглашение или сообщение. Правильно?? нужно будет посмотреть, как это сделать, спасибо - person faraz; 12.10.2019
comment
@philnash Меня смущает, когда вы говорите: Twilio Chat не имеет ничего общего с тем, чтобы уведомлять веб-пользователей о новых сообщениях. В документации по программируемому чату есть раздел о конфигурации push-уведомлений (twilio.com/ docs / chat / push-notification-configuration), который позволяет получать уведомления о новых сообщениях и других событиях. Разве это не допустимый вариант? - person Ryan Buening; 06.01.2020
comment
@faraz ты когда-нибудь получал такую ​​установку? Если да, то каким маршрутом вы выбрали? У меня такой же вариант использования, как и у вас (UserA1_UserA2). - person Ryan Buening; 06.01.2020
comment
@RyanBuening Черт возьми, я был совершенно неправ и не знал, что эта страница существует! Я должен изучить это дальше ???? Я обновлю свой ответ. - person philnash; 07.01.2020
comment
@philnash подойдет любая документация или демонстрационное приложение для такого рода сценариев. - person Utpal; 09.10.2020
comment
@Utpal вы заходили на сайт Twilio? - person philnash; 09.10.2020
comment
да, я проверил это, но не получил ни одной ссылки на общение в чате один на один. - person Utpal; 09.10.2020
comment
Чат один на один в чате Twilio - это чат на частном канале только с двумя участниками: support.twilio.com/hc/en-us/articles/ - person philnash; 09.10.2020