Ошибка при запуске видео Agora на производственном сервере, работает локально
Я пытаюсь создать видеочат, используя Angular 6 и Agora Web v2.50 SDK. Я следовал руководству по этой ссылке, https://medium.com/@Anderson7301/building-a-video-chat-app-with-agora-and-angular-6-858d72b6fa0d Мне удалось успешно реализовать это на моем локальном машина, но когда я пытаюсь запустить его на сервере, я получаю "main.c71419ff14e542f66f51.js:1 ОШИБКА TypeError: o.default.debug не является функцией". Можете ли вы помочь мне с. Сервер работает по SSL.
Обновление - 20.11.2008
Я понял, что мне нужно использовать динамический ключ для работы видеочата на сервере. Поэтому я использовал Java-код Dynamickey Generation и создал токен, и при попытке присоединиться к пользователю я получаю "Agora-SDK [ОШИБКА]: сбой присоединения пользователя [ERR_NO_AUTHORIZED]". Вот журнал из моего углового приложения.
11: 24: 34: 202 Agora-SDK [ИНФО]: Создание клиента, РЕЖИМ: взаимодействие Кодек: vp8 AgoraRTCSDK.min.js: 2
11: 24: 34: 215 Agora-SDK [INFO]: Инициализация клиента AgoraRTC, appId: 1d82f0b2b87d445d81dfb2caf4f5e5b9. AgoraRTCSDK.min.js: 2
11: 24: 34: 264 Agora-SDK [INFO]: Инициализация клиента AgoraRTC, appId: 1d82f0b2b87d445d81dfb2caf4f5e5b9.
active.component.ts:649 Клиент AgoraRTC инициализирован AgoraRTCSDK.min.js: 2
11: 24: 34: 272 Agora-SDK [DEBUG]: подключение к выбору_сервера: https://ap-web-1.agora.io/api/v1 AgoraRTCSDK.min.js: 2
11: 24: 34: 282 Agora-SDK [DEBUG]: подключение к выбору_сервера: https://ap-web-2.agoraio.cn/api/v1 AgoraRTCSDK.min.js: 2
11: 24: 34: 951 Agora-SDK [DEBUG]: получить адрес шлюза: (3) ["webrtc-159-117-159-4.agora.io:5875", "webrtc-128-1-33-131.agora.io: 5866 "," webrtc-159-117-159-3.agora.io:5870 "] AgoraRTCSDK.min.js: 2
11: 24: 34: 957 Агора-SDK [ИНФО]: Присоединение к каналу: 1000 AgoraRTCSDK.min.js:2 11:24:34:964 Агора-SDK [DEBUG]: зарегистрировать клиентский канал 1000 Uid 1587154302 AgoraRTCSDK.min.js: 2
11: 24: 34: 973 Agora-SDK [DEBUG]: начало соединения: webrtc-159-117-159-4.agora.io: 5875 AgoraRTCSDK.min.js: 2
11: 24: 35: 131 Agora-SDK [DEBUG]: веб-сайт открыт: webrtc-159-117-159-4.agora.io:5875 AgoraRTCSDK.min.js: 2
11: 24: 35: 235 Agora-SDK [DEBUG]: подключен к серверу шлюза AgoraRTCSDK.min.js: 2
11: 24: 39: 336 Agora-SDK [ОШИБКА]: не удалось присоединиться к пользователю [ERR_NO_AUTHORIZED]
Создан динамический токен: 005AQAoAEY5MDBDNERFRkMxNzdDMkJGRjc5QUY5NDY2QTVEMDYzRTY4QTJCMDEQAB2C8LK4fURdgd+yyvT15bmaofNbWm6O7wAAAAAAA =
AppId для моего проекта: 1d82f0b2b87d445d81dfb2caf4f5e5b9
заранее спасибо за помощь
4 ответа
Проблема, с которой вы столкнулись, связана с аутентификацией пользователя. Работает ли проект, если отключить токен?
Когда вы отправляете запрос на токен-сервер для генерации токена доступа, вы передаете UserId? Используете ли вы тот же UserId при попытке присоединиться к каналу, или вы используете автоматическую генерацию?
Причина, по которой я спрашиваю, заключается в том, что в моем недавнем тестировании с сервером токенов Agora.io я заметил, что вы можете генерировать токен с или без UserId
,
Если вы укажете UserId
в генерации токенов, вы должны использовать это повторно UserId
, Если вы передаете UserId
как часть запроса, но затем попробуйте присоединиться к каналу с токеном и передать null
как UserId
в соединении это не получится.
Если вы не укажете UserId
в генерации токена (токен должен генерироваться), тогда вы можете использовать pass null
как UserId
при присоединении к каналу и должно работать.
У меня такая же проблема сTypeError: o.default.debug
при работе в сборке Angular. Похоже, что библиотека Agora не очень хорошо работает с JS minifier, который используется Angular CLI в производственных сборках. Единственный обходной путь, который я нашел, - это установить
"optimization": false
в angular.json, но это наверняка очень плохой обходной путь.
Что ж, в моем случае я реализовал сервер токенов на php с помощью laravel, взял ответ от H Virginia Singh.
$uid = (int) mt_rand(1000000000,9999999999);
И идеально. Это определенно сработало для меня.
Сгенерируйте 10-значный случайный идентификатор пользователя и передайте его в индексный код и используйте тот же идентификатор пользователя для генерации токена. Вы обязательно присоединитесь к каналу