Агора - Могу ли я узнать, сколько пользователей в настоящее время присоединились к каналу?

Я хотел бы знать общее количество пользователей, которые в настоящее время находятся на одном канале. Я считаю, что это важная информация.

Scenario Вызывающий абонент инициирует вызов, присоединяясь к каналу - ›Получатель получает нажатие -› Вызывающий абонент решает покинуть вызов / канал до присоединения получателя. Когда получатель реагирует на нажатие и присоединяется к каналу, он никого не видит в этом канале. Если бы у меня был способ сообщить получателю, что в данный момент на этом канале никого нет, тогда получатель мог бы быть уведомлен с помощью диалога или чего-то еще.

Примечание. без использования библиотеки RTM. Можно ли это сделать только с RTC?


person Alex    schedule 09.05.2020    source источник


Ответы (3)


Вы можете использовать RESTful API, чтобы получить список пользователей в канале: https://docs.agora.io/en/Agora%20Platform/dashboard_restful_communication?platform=All%20Platforms#gets-the-user-list-in-a-channel-get

Вы также можете реализовать Agora RTM SDK вместе с Agora RTC SDK и реализовать логику подключения пользователей к тому же каналу, что и при использовании Agora RTC SDK. И вызовите метод getMembers, чтобы получить список пользователей в канале RTM.

Вот документ API для метода getMembers: https://docs.agora.io/en/Real-time-Messaging/API%20Reference/RTM_java/classio_1_1agora_1_1rtm_1_1_rtm_channel.html#a567aca5f866cf71c9b4679

Вот краткое руководство для RTM SDK: https://docs.agora.io/en/Real-time-Messaging/messaging_android?platform=Android

person Shaocheng Yang    schedule 11.05.2020
comment
Все эти опции взяты из пакета agora RTM sdk. Мы используем RTC sdk. Хотел бы я найти лучший способ получить эту информацию из rtc sdk. Добавление еще одного (rtm) sdk только для того, чтобы получить всех участников в канале, на самом деле не является для меня хорошим решением. - person Alex; 12.05.2020

При использовании agora rtm для обмена сообщениями мы можем использовать функцию getMembers (), которую предоставляет агора, чтобы привлечь активных людей к каналу на агоре. Я определяю ее с помощью javascript ниже для справки.

В javascript определите функцию GetMembers () - ›

name='The channel Name of your channel';


function GetMembers(name)
{
       rtm.channels[name].channel.getMembers().then((memberNames)=>{
              /* memberNames contains an array of the names of the members*/
         })
  }

Вызывайте функцию GetMembers () везде, где требуется получить имена активных членов.

person shk_ram    schedule 18.07.2020

Вы можете получить список присоединившихся участников, используя метод getMembers программы agora rtm. Помните, что он также дает ваш собственный идентификатор, если вы вошли в систему. Этот метод возвращает массив.

 GetChannelMembersList()
   {
     channel.getMembers().then(async (memberNames)=>{
       console.log(memberNames, 'memberNames');
      for (let index = 0; index < memberNames.length; index++) {
        const user = await rtm.client.getUserAttributes(memberNames[index].toString()); 
console.log(user, 'user'); // To find more details of joined user
     
      } 
            })
     }
person Sunny    schedule 08.04.2021