Я пытаюсь связать базу данных Firebase в реальном времени через внешний интерфейс проекта angular6. Я также использую пакет с именем agora, который позволяет пользователям подключаться к «видеочату» с уникальным идентификатором пользователя + идентификатор комнаты.
Видеочат один на один, и поэтому я структурирую базу данных для добавления каждого пользователя в матч (содержит раунд # и настройки матча)
Когда создается новое лобби (любой может щелкнуть по кнопке), он добавляет первого игрока в матч и добавляет детали для базы огня с помощью этого метода.
newGame(time, increment): void {
console.log("new game");
const uid = this.auth.getUserId()
let id = "";
let require: any;
console.log(this.numOfPlayers);
//finds the current user that will host the game. if theres no value, then create a unique id for the game
this.db.database.ref(`users/${uid}/game`).once('value').then(s => {
if (!s.exists()) {
id = uuid();
});
}
Но я также хочу отправить этот идентификатор методу
this.agoraService.client.join(null, 'id', null, (userId);
, который хранится в video-stream.component.ts
(Второй игрок, который присоединяется, должен нажать только кнопку, и поэтому компонент знает, на какое совпадение ссылаются)
В настоящее время я не знаю, как перенести через gameID, потому что он не сохраняется нигде, кроме Firebase.