Я пытаюсь создать приложение, которое работает следующим образом: я как пользователь хочу начать вызов с другим пользователем. Я хочу, чтобы соединение было сделано случайным образом. Таким образом, он будет подключаться к одному из многих клиентов случайным образом. Также, когда другие клиенты пытаются сделать вызов, он должен подключаться к другому случайному клиенту и так далее. Я хочу, чтобы эти телефонные звонки выполнялись через приложение (например, WhatsApp), а не как телефонный звонок. Теперь вопрос; Является ли Twilio хорошим подходом для этой цели? Если да, можете ли вы сказать мне, какая из их функций лучше всего подходит для моего приложения?
Спасибо за любые предложения!
Евангелист разработчиков Twilio здесь.
Я могу ответить, что Twilio будет хорошим подходом для вас, чтобы сделать это в вашем собственном приложении. Я бы порекомендовал использовать Видео Твилио для его создания, так как он обеспечивает межплатформенную связь через аудио или видео (в вашем случае вам может не понадобиться видео, но это даст вам наилучшее качество звука).
Например, мой коллега Доминик построил приложение для видео рулетки. Это тот случай, когда интерфейс был построен на JavaScript для Интернета, но идея будет такой же для нативного приложения. Часть приложения код для серверной части должна дать некоторое представление о том, как соединить случайные пары.
Также можно интегрировать Twilio Video с CallKit и службами подключения, чтобы вы могли совершать исходящие вызовы на другие устройства, которые звонят как настоящий входящий вызов.
Спасибо за ваш ответ! Итак, в моей клиентской части (реагирующий код) я должен создать соединение с сервером-Twilio, а затем сервер позаботится о том, с каким клиентом он должен подключаться. Я не хочу звонить, я хочу подключиться к другому клиенту, который пытается подключиться случайным образом. Можете ли вы подтвердить, что это правильная логика, и если у вас есть какие-либо предложения, пожалуйста, дайте мне сейчас!
Кстати, я хочу создать это приложение на React-Native, который является фреймворком для создания кроссплатформенных приложений. Я нигде не могу прочитать в их документации, что они поддерживают React-Native.
Я бы порекомендовал вам создать компонент на стороне сервера для сопоставления пользователей, да. Это должно быть вашей логикой, ничего общего с Twilio. Если вы хотите работать с Twilio Video и React Native, я бы посмотрел на этот проект: github.com/blackuy/react-native-twilio-video-webrtc
Есть идеи, могу ли я использовать эту библиотеку для голосового чата (без видео)? И если вы порекомендуете мне создать свой собственный серверный компонент, могу ли я использовать RabbitMQ? Если нет, что еще мне попробовать?
Я предполагаю, что вы можете использовать библиотеку только для голоса, но я сам с ней не работал. Что касается сервера, я рекомендую создавать его на любом удобном для вас языке.
Я действительно не понимаю, как эта библиотека будет одновременно маршрутизировать несколько вызовов и соединений клиентов?
Эта библиотека позволит вам обрабатывать данные на устройстве в React Native. Это не поможет с обработкой нескольких вызовов на стороне сервера, вам нужно будет написать это самостоятельно.
Как вы реализовали функцию случайного вызова?