Người dùng
Module người dùng cung cấp chức năng lấy thông tin của người chơi đã đăng nhập
hiện tại và Token
. Nếu trò chơi của bạn không yêu cầu đăng nhập mà vẫn có thể trải nghiệm tất cả các chức năng, bạn không cần sử dụng module này. Ngược lại, bạn cần gọi các API liên quan của module này để thực hiện các chức năng tương ứng.
Sau khi đọc phần liên quan đến engine trò chơi của bạn trong trang Giới thiệu JOGOS_SDK
, bạn có thể sử dụng các chức năng như sau:
window.JOGOS_SDK.user;
Lấy thông tin người dùng hiện tại
Bạn có thể sử dụng các phương thức sau để truy xuất thông tin người chơi hiện tại:
try {
const user = await window.JOGOS_SDK.user.getUser();
console.log('Get user result', user);
} catch (err) {
// Xử lý ngoại lệ
console.error(err);
}
Nếu người chơi hiện tại chưa đăng ký hoặc chưa đăng nhập, hệ thống sẽ tự động mở hộp thoại đăng nhập/đăng ký để yêu cầu người dùng đăng ký hoặc đăng nhập thành công trước khi tiếp tục trò chơi. Nếu không, sẽ trả về ngoại lệ 401 Unauthorized, please login again
.
Nếu tài khoản người chơi hiện tại bị đóng băng hoặc hủy, cũng sẽ trả về thông tin lỗi tương ứng.
Đối tượng người chơi trả về khi thành công có cấu trúc như sau:
// Thông tin người dùng
export interface UserInfo {
// Id người dùng
userId: string;
// Tên người dùng
username: string;
// URL ảnh đại diện
profilePictureUrl: string;
// Id trò chơi
gameId: number;
}
Tên người dùng của JOGOS_SDK
có độ dài từ 6-20 ký tự, có thể bao gồm chữ cái, số, dấu chấm và gạch dưới.
JOGOS_SDK UserId tương ứng duy nhất với tài khoản người chơi; nếu trò chơi của bạn cho phép tạo nhiều nhân vật hoặc có nhiều server để chuyển nhân vật, server của bạn cần xử lý logic này để tránh mất dữ liệu nhiều nhân vật hoặc không thể chuyển nhân vật.
Lấy Token người dùng (cần server của bạn hỗ trợ kết nối)
- Nếu bạn có server, cần phải tích hợp!
- Token người dùng chứa thông tin liên quan đến người chơi hiện tại. Bạn cần gửi token này tới server của mình và xác thực/giải mã để lấy thông tin liên quan, liên kết với hệ thống người dùng trên server của bạn, đảm bảo dữ liệu người dùng được an toàn.
Client của bạn có thể dùng các phương thức sau để lấy token người dùng:
try {
const token = await window.JOGOS_SDK.user.getUserToken();
console.log('Get token result', token);
} catch (err) {
// Xử lý ngoại lệ
console.error(err);
}
Token có thời hạn 1 giờ. Chúng tôi khuyến nghị không lưu trữ Token, và luôn gọi phương thức này khi cần.
Nếu người chơi hiện tại chưa đăng ký hoặc chưa đăng nhập, hệ thống sẽ tự động mở hộp thoại đăng nhập/đăng ký để yêu cầu người dùng đăng ký hoặc đăng nhập thành công trước khi tiếp tục trò chơi, nếu không sẽ trả về ngoại lệ 401 Unauthorized, please login again
.
Nếu tài khoản người chơi hiện tại bị đóng băng hoặc hủy, cũng sẽ trả về thông tin lỗi tương ứng.
Token trả về có thể được giải mã và thử nghiệm trên jwt.io.
Thông tin token trả về thành công bao gồm dữ liệu JSON sau:
{
"jti": "1899405772252258304",
"sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
"iss": "com:jogos:sdk",
"iat": 1741688600,
"exp": 1745288600
}
Khi cần server xác thực các yêu cầu, bạn nên gửi token tới server và thực hiện giải mã, xác thực token. Bạn có thể sử dụng khóa công khai của token người dùng https://www.jogos.com/publicKey.json
để xác thực. Chúng tôi khuyến nghị lấy khóa công khai mỗi lần xác thực vì nó có thể thay đổi.
Bước xác thực tiếp theo, tích hợp server
Các API liên quan đến server, vui lòng tham khảo trang: API kết nối server
.
Kiểm tra local
Khi kiểm tra local, các API của module người dùng chỉ trả về dữ liệu mô phỏng.