Контекст:
Мы используем программируемое видео Twilio для нашего приложения на iOS, Android, WebBrowser. Существует веб-сервер Java, который использует веб-перехватчик для прослушивания всех событий.
Недавно мы начали внедрять приложение для Android. Для клиентов Android мы заметили, что событие, связанное с участником, иногда получается после добавления трека для участника на нашем сервере.
Это вызывает некоторые проблемы с логикой нашего сервера. Поскольку наш сервер ожидает, что соединение с участником произойдет до добавления дорожки, в противном случае он не сможет добавить дорожку к участнику (поскольку наш управляемый сервером участник недоступен до события, связанного с участником).
Что мы пробовали:
- Мы предоставили дорожку localVideo и localAudio в параметре подключения для подключения комнат с Android, что случайным образом вызывает эту проблему.
- Мы опубликовали треки с Android только после подключения комнаты (удалили трек localVideo и localAudio из параметра подключения, а в обратном вызове onConnected опубликовали их в localParticipant), что, похоже, работает, но не уверен, что это правильный путь.
Вопросы:
- Является ли иногда нормальным получение события с добавлением трека до того, как участник подключился к участнику?
- Если да, что вы посоветуете изящно справиться с этим?
- Если нет, то какая ситуация может вызвать это?
- Почему это касается только клиента Android (iOS, веб-клиент работает нормально)?
- Это один из правильных способов решить эту проблему, как это сделали мы (от клиента)?
P.S. Это скорее концептуальный вопрос, поэтому код не предоставляется.
С Уважением.
ОБНОВЛЕНИЕ: я отредактировал свой вопрос, выделив только два (жирные). Эти двое нам действительно нужно знать. Получение ответов другим поможет нам прояснить этот вопрос.