Android VideoChat roomApp

Discussion in 'Web Call Server 5' started by Maksym, Sep 26, 2019.

  1. Maksym

    Maksym Member

    Добрый день.
    Помню, что при обычной публикации стрима, можно указывать appKey при конекте.
    А вот с комнатами можно указывать только urlWsServer и username (RoomManagerOptions)
    Подскажите, верное направление, как используя комнаты, указывать appKey и custom при конекте к серверу и присоединении к комнате
  2. Max

    Max Administrator Staff Member

    Добрый день.
    RoomApi построено как обертка над стандартными возможностями WCS SDK с использованием REST hook для подключения пользователей и обмена сообщениями в комнатах. Следовательно, Вы не можете использовать собственные REST hook приложения и кастомные данные, если Вы пользуетесь RoomApi.
    Если Вам все же необходимо использовать собственное REST hook приложение, например, для аутентификации пользователей, и при этом пользоваться RoomApi, Вы должны реализовать проксирование всех запросов к стандартному приложению roomApp (URL приложения http://wcs_ip:8081/apps/RoomApp) и возврат всех ответов. В свою очередь, Ваше приложение должно быть зарегистрировано в качестве roomApp
    Code:
    update app -l http://yourhost/rest-hooks roomApp
    См также дискуссию здесь, там приведен пример php-скрипта на бэкенде.
    Maksym likes this.
  3. Maksym

    Maksym Member

    Добрый день.
    1. Значит реализовать схему, как на рисунке не получится для комнат
    [​IMG]
    Если коротко, то она одном сервере будут(так сложилось...):
    • Фронт
    • Бэк
    • WCS
    И будет две версии
    1. Prod
    2. Stage(для тестирования функционала)
    Хотели разделить их при помощи AppKey, который бы смотрел на свой api
    2. Планируете ли вы в скором будущем добавить возможность указывать AppKey и поле custom для комнат/других приложений?
    P.S.: Если честно, то не совсем понятно, почему вы ограничили работу с комнатами только одним приложением
  4. Max

    Max Administrator Staff Member

    Добрый день.
    Возможность указывать appKey и поле custom для других приложений уже есть, это методы Connection.setAppKey и Connection.setCustom соответственно. Вот здесь есть пример использования setCustom для передачи ключа авторизации в CDN.
    В отличие от большинства бэкенд-приложений, которые представляют собой заглушки, возвращающие 200 OK, приложение roomApp реализовано на уровне сервера с использованием REST hook и REST API. Сообщения передаются клиентам при помощи REST API метода /data/send с использованием данных, собранных при обработке REST hook /connect, для публикации потоков на стороне клиента "под капотом" используются функции клиентского SDK.
    Для того, чтобы реализовать Вашу схему, Вам необходимо самостоятельно реализовать чат-комнаты, для этого достаточно реализовать передачу сообщений от клиента на бэкенд с использованием REST hook /OnDataEvent и рассылку сообщений подключенным клиентам с бэкенда при помощи REST API метода /data/send. Другой вариант, менее трудозатратный - разделить Production и Stage по различным WCS серверам, этот вариант выглядит более правильным, в том числе, с точки зрения безопасности.
    Maksym likes this.
  5. Maksym

    Maksym Member

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

Share This Page