44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
|
|
using System;
|
||
|
|
using System.Collections;
|
||
|
|
using System.Threading.Tasks;
|
||
|
|
using UnityEngine;
|
||
|
|
using UnityEngine.Networking;
|
||
|
|
|
||
|
|
namespace Hallucinate.UI
|
||
|
|
{
|
||
|
|
public static class FirebaseService
|
||
|
|
{
|
||
|
|
// Thay link database của bạn vào đây
|
||
|
|
private const string BASE_URL = "https://YOUR_FIREBASE_URL.firebaseio.com/users";
|
||
|
|
|
||
|
|
public static async Task<bool> IsUsernameTaken(string username)
|
||
|
|
{
|
||
|
|
string url = $"{BASE_URL}/{username}.json";
|
||
|
|
using (UnityWebRequest request = UnityWebRequest.Get(url))
|
||
|
|
{
|
||
|
|
var operation = request.SendWebRequest();
|
||
|
|
while (!operation.isDone) await Task.Yield();
|
||
|
|
|
||
|
|
if (request.result != UnityWebRequest.Result.Success) return false;
|
||
|
|
|
||
|
|
// Nếu kết quả trả về không phải "null" nghĩa là user đã tồn tại
|
||
|
|
return request.downloadHandler.text != "null";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public static async Task<bool> RegisterUser(string username)
|
||
|
|
{
|
||
|
|
string url = $"{BASE_URL}/{username}.json";
|
||
|
|
string jsonData = "{\"created_at\": \"" + DateTime.Now.ToString() + "\"}";
|
||
|
|
|
||
|
|
using (UnityWebRequest request = UnityWebRequest.Put(url, jsonData))
|
||
|
|
{
|
||
|
|
var operation = request.SendWebRequest();
|
||
|
|
while (!operation.isDone) await Task.Yield();
|
||
|
|
|
||
|
|
return request.result == UnityWebRequest.Result.Success;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|