WebRTC
несет ответственность за PeerConnection
Не звонить на устройство и обращаться с пользователями.Это ваши собственные данные, которые вам нужно обрабатывать самостоятельно.
Вот где SignalingServer
Приходит на вечеринку.Как только вы createOffer()
из userId(lets say id is 2)
и отправите его на ваш Singnalling сервер с целевым идентификатором userSocketId (здесь я отображаю userId в SocketId, вы также можете отобразить некоторые другие поля).
Если Socket-получатель зарегистрировался, он сразу же получит запрос на входящий вызов с информацией о вызывающем абоненте, которую вы указали в packet
.Затем вы можете позвонить на устройство.
Видите, я не могу объяснить все функции здесь, но вы должны понять одну вещь. Вам придется использовать Signalling server
для обмена текстовыми данными между двумя устройствами.
В основном вам нужно иметь ID
, на который вы хотите позвонить, тогда только сигнальный сервер будет передавать Особые данные на стороне получателя.Таким образом, вам нужна облачная база данных, в которой сохраняется вся информация о пользователе.
Вы можете следовать Образец, упомянутый здесь .signalling server
в этом примере использует NODE.JS
, который легко понять и изменить, если вы знакомы с Java.
Редактировать: - Если вы ищете точку, с которой вы должны начать RING
.Что ж, он должен звонить всякий раз, когда вы получаете Offer
, и вы открываете свой вызывающий пользовательский интерфейс (активность).
Держите одну вещь в уме ICECandiates
не должно быть потеряно, так что используйте правильное рукопожатие между обеими сторонами доотправка ICECandiates
списков, потому что это основа для настройки PeerConnection
.
public void startCallNotification() {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
ringtone = RingtoneManager.getRingtone(this, notification);
ringtone.play();
vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
long[] vibrationCycle = {0, 1000, 1000};
if (vibrator.hasVibrator()) {
vibrator.vibrate(vibrationCycle, 1);
}
}
Просто вызывайте метод выше, когда вы получаете предложение.Очевидно, что вам нужно разобраться с некоторыми другими случаями, такими как потеря интернета на стороне вызывающего абонента и сброс соединения, ожидание ICECandidates.
Все пойдет не так, если вы сначала поймете архитектуру WebRTC
.Так что я скромно рекомендую сначала прочитать структуру.Вы можете начать с Это и Это или аналогичные блоги на WEBRTC
.