데이터베이스를 생성한다.
규칙들을 true로 세팅해 준다.
json 파일을 업데이트한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Firebase.Auth;
using UnityEngine.UI;
// 요소 추가
using Firebase;
using Firebase.Database;
using Firebase.Unity;
using UnityEngine.SceneManagement;
public class AuthManager : MonoBehaviour
{
[SerializeField] InputField emailField;
[SerializeField] InputField passField;
// 인증을 관리할 객체
Firebase.Auth.FirebaseAuth auth;
DatabaseReference reference; // 데이터를 쓰기 위한 reference 변수
void Awake()
{
// 객체 초기화
auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
reference = FirebaseDatabase.DefaultInstance.RootReference;
}
public void login()
{
// 제공되는 함수 : 이메일과 비밀번호로 로그인 시켜 줌
auth.SignInWithEmailAndPasswordAsync(emailField.text, passField.text).ContinueWith(
task => {
if (task.IsCompleted && !task.IsFaulted && !task.IsCanceled)
{
Debug.Log(emailField.text + " 로 로그인 하셨습니다.");
}
else
{
Debug.Log("로그인에 실패하셨습니다.");
}
}
);
}
public void register()
{
// 제공되는 함수 : 이메일과 비밀번호로 회원가입 시켜 줌
auth.CreateUserWithEmailAndPasswordAsync(emailField.text, passField.text).ContinueWith(
task => {
if (!task.IsCanceled && !task.IsFaulted)
{
Debug.Log(emailField.text + "로 회원가입\n");
//회원가입한 사용자의 고유 번호를 통한 사용자 기본 생성
Firebase.Auth.FirebaseUser newUser = task.Result;
writeNewUser(newUser.UserId);
}
else
Debug.Log("회원가입 실패\n");
});
}
public class User // 사용자 클래스 생성
{
public string user_avt;
public Vector3 position;
public User()
{
this.user_avt = "default";
this.position = new Vector3(0, 0, 0);
}
}
void writeNewUser(string userid) // 가입한 회원 고유 번호에 대한 사용자 기본값 설정
{
User user = new User();
string json = JsonUtility.ToJson(user); // 생성한 사용자에 대한 정보 json 형식으로 저장
reference.Child(userid).SetRawJsonValueAsync(json); // 데이터베이스에 json 파일 업로드
}
}
회원가입한 사용자의 고유 번호에 해당하는 정보가 생성된 것을 확인할 수 있다.
안녕하세요! 도움 많이 되었습니다.
혹시
public class User // 사용자 클래스 생성
{
public string user_avt;
public Vector3 position;
public User()
{
this.user_avt = "default";
this.position = new Vector3(0, 0, 0);
}
}
이부분에서 벡터랑 avt는 유저 아바타의 움직임을 조작하기 위해 넣은 코드인가요?