Если у вас есть этот HTML:
<a id="username"> Username </a>
И эта структура базы данных:
Users
Drivers
Uid: { name: "Name", phone: "Phone number" }
Затем вы можете отобразить имя текущего пользователя с помощью:
var currentUser = firebase.auth().currentUser;
var userRef = firebase.database().ref("Users/Drivers").child(currentUser.uid);
userRef.on("value", function(snapshot) {
document.getElementById("username").innerText = snapshot.val().name;
})
Таким образом, этот код делает (строка за строкой):
- Определить текущего пользователя
- Создать ссылку на данные этого пользователя в базе данных
- Начинает прослушивание этих данных, то есть загружает текущие данные, а затем отслеживает любые изменения
- Вставляет имя пользователя в элемент.
Строка 4 будет вызываться немедленно, с текущим значением пользователя, а затем каждый раз, когда изменяются пользовательские данные.
Также см. Документацию Firebase по прослушиванию значений .
Если страница также может быть загружена, когда пользователь еще не вошел в систему (пока), вам нужно будет запускать этот код только тогда, когда пользователь сделал вход в систему. Вы можете сделать это с помощью так называемого слушателя изменения состояния аутентификации, который вызывается всякий раз, когда изменяется состояние аутентификации пользователя:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
var userRef = firebase.database().ref("Users/Drivers").child(user.uid);
userRef.on("value", function(snapshot) {
document.getElementById("username").innerText = snapshot.val().name;
})
}
});
См. Документацию Firebase по для получения текущего зарегистрированного пользователя ..