Game Ranking
Dùng cho game tổ chức các event để các user leo top trong bảng xếp hạng
Game Ranking đang hỗ trợ 4 loại ranking:
Event Timeline: Là loại event mà tất cả các user cùng bắt đầu ở 1 thời điểm
(startDate)
, và cùng kết thúc ở 1 thời điểm(endDate).
Event Progress: Là loại event mà mỗi user sẽ bắt đầu ở 1 thời điểm, và kết thúc ở 1 thời điểm khác nhau.
Leaderboard: Là 1 bảng xếp hạng điểm cho toàn bộ user của 1 app, một leaderboard sẽ có top 200 user được hiển thị, và được xếp hạng trong 10000 user, nếu nằm ngoài 10000 user thì thứ hạng sẽ là 10000+;
Leaderboard Season: Là 1 bảng xếp hạng điểm cho toàn bộ user của 1 app trong 1 khoảng thời gian nhất định, một leaderboard sẽ có top 200 user được hiển thị, và được xếp hạng trong 10000 user, nếu nằm ngoài 10000 user thì thứ hạng sẽ là 10000+;
1. Loại Event Timeline
Là event được diễn ra từ ngày
startDate
đến ngàyendDate
.Khi hết ngày
endDate
thì user sẽ không cập nhật được điểm nữa, và sẽ có thêmY ngày
để claim phần thưởng.Thời gian được tính theo giờ chuẩn UTC.
Mỗi user tham gia sẽ được phân loại vào 1 bảng xếp hạng với số lượng user được cấu hình trên CMS của GSM.
Mỗi event có 2 loại tính điểm là:
Cộng dồn điểm
vàĐiểm cao nhất
.
1.1 Lấy các events đang hoạt động
Dùng để xem có các event nào đang hoạt động và xử lý theo từng loại event
Client phải tự lưu điểm hiện tại của user tùy theo từng loại eventType
Nếu
eventType == 1
thì là loại event cộng dồn điểmNếu
eventType == 2
thì là loại event cập nhật điểm cao nhất
Các tham số
ratingPoint
: Đây là điểm để phân cấp độ useronComplete
: Hàm xử lý với param là mảng các event đang hoạt động.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
1.2 Lấy các events đã hoàn thành
Dùng để lấy các event đã hoàn thành sau đó sử dụng
GSM.Events.GSMEventTimeline.ClaimReward("{finishEventId}");
để claim phần thưởng.Dữ liệu phần thưởng được trả về trường
reward
trong mỗi đối tượngEventFinishedData
Các tham số
onComplete
: Hàm xử lý với param là mảng các event đã hoàn thành.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
1.3 Cập nhật điểm
Dùng để cập nhật điểm hiện tại của user. Gửi lên khi user có sự thay đổi điểm. Điểm này cần được lưu trong dữ liệu local để tính toán chính xác.
Ví dụ với loại event
Cộng dồn điểm
lần 1 user kiếm được5 điểm
, sau đó kiếm được tiếp10 điểm
thì lúc này số điểm sử dụng để cập nhật lên GSM là15 điểm
. Tức là tự phía game sẽ tính toán logic tính điểm theo từng loại event.
Các tham số
eventId
: Id của sự kiện.score
: Số điểm hiện tại của người chơi.
Code mẫu:
1.4 Lấy bảng xếp hạng
Dùng để cập nhật điểm hiện tại của user và lấy bảng xếp hạng của user.
Các tham số
eventId
: Id của sự kiện.score
: Số điểm hiện tại của người chơi.onComplete
: Là hàm xử lý với danh sách các điểm của người chơi trong bảng xếp hạng (TrongUserData
có trườngisSelf=true
thì đó là thông tin điểm của chính người chơi đó).errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
2. Loại Event Progress
Là loại event mà mỗi user sẽ bắt đầu ở 1 thời điểm, và kết thúc ở 1 thời điểm khác nhau.
Mỗi một event thì có
Trigger Point
gọi là điểm kích hoạt sự kiện, tức user chơi đếnTrigger Point
đó thì sẽ thấy event.Thời gian event được tính từ lúc user bắt đầu thấy event, và kết thúc sau
X ngày
cho mỗi user.Khi hết ngày
X ngày
thì user sẽ không cập nhật được điểm nữa, và sẽ có thêmY ngày
để claim phần thưởng.Thời gian được tính theo giờ chuẩn UTC.
Mỗi user tham gia sẽ được phân loại vào 1 bảng xếp hạng với số lượng user được cấu hình trên CMS của GSM.
Mỗi event có 2 loại tính điểm là:
Cộng dồn điểm
vàĐiểm cao nhất
.
2.1 Lấy các events đang hoạt động
Game gửi lên một
triggerPoint
và server sẽ trả về thông tin event tương ứng. (Nếu không tồn tại event thì sẽ không trả về thông tin)Game phải tự lưu điểm hiện tại của user tùy theo từng loại eventType
Nếu
eventType == 1
thì là loại event cộng dồn điểmNếu
eventType == 2
thì là loại event cập nhật điểm cao nhất
Các tham số
triggerPoint
: là mã kích hoạt mở sự kiện.onEventExist
: Là hàm xử lý với param là dữ liệu event đang hoạt động.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
2.2 Lấy các events đã hoàn thành
Dùng để lấy các event đã hoàn thành sau đó sử dụng
GSM.Events.GSMEventProgress.ClaimReward("{finishEventId}");
để claim phần thưởng.Dữ liệu phần thưởng được trả về trường
reward
trong mỗi đối tượngEventFinishedData
Các tham số
onComplete
: Hàm xử lý với param là mảng các event đã hoàn thành.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
2.3 Cập nhật điểm
Dùng để cập nhật điểm hiện tại của user. Gửi lên khi user có sự thay đổi điểm. Điểm này cần được lưu trong dữ liệu local để tính toán chính xác.
Ví dụ với loại event
Cộng dồn điểm
lần 1 user kiếm được5 điểm
, sau đó kiếm được tiếp10 điểm
thì lúc này số điểm sử dụng để cập nhật lên GSM là15 điểm
. Tức là tự phía game sẽ tính toán logic tính điểm theo từng loại event.
Các tham số
eventId
: Id của sự kiện.score
: Số điểm hiện tại của người chơi.
Code mẫu:
2.4 Lấy bảng xếp hạng
Dùng để cập nhật điểm hiện tại của user và lấy bảng xếp hạng của user.
Các tham số
eventId
: Id của sự kiện.score
: Số điểm hiện tại của người chơi.onComplete
: Là hàm xử lý với danh sách các điểm của người chơi trong bảng xếp hạng (TrongUserData
có trườngisSelf=true
thì đó là thông tin điểm của chính người chơi đó).errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
3. Loại Leaderboard
Là bảng xếp hạng số điểm của toàn bộ user trong 1 app
3.1 Lấy Leaderboard toàn bộ các quốc gia
Trả về danh sách top 200 user điểm cao nhất
Trả về thông tin tên, avatar, số điểm, và thứ hạng của user
Nếu thứ hạng của user có
rank=-1
thì tức user thuộc thứ hạng10000+
;
Các tham số
onComplete
: Là hàm xử lý với thông tin bảng xếp hạng.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
3.2 Lấy Leaderboard theo quốc gia
Trả về leaderboard theo quốc gia của user.
Trả về danh sách top 200 user điểm cao nhất
Trả về thông tin tên, avatar, số điểm, và thứ hạng của user
Nếu thứ hạng của user có
rank=-1
thì tức user thuộc thứ hạng10000+
;
Các tham số
onComplete
: Là hàm xử lý với thông tin bảng xếp hạng.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
3.3 Cập nhật điểm của user
Dùng để cập nhật lên điểm hiện tại của user
Hệ thống sẽ tự đông lấy thông tin name, và avatar của user, nếu muốn thay đổi thông tin name, avatar thì dùng Set Properties
Các tham số
score
: Số điểm hiện tại của user.onComplete
: Là hàm xử lý với thông tin bảng xếp hạng.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
4. Loại Leaderboard Season
Là bảng xếp hạng điểm của toàn bộ user trong 1 app theo 1 khoảng thời gian nhất định
4.1 Lấy các events đang hoạt động
Dùng để xem có các event nào đang hoạt động và xử lý theo từng loại event
Client phải tự lưu điểm hiện tại của user tùy theo từng loại eventType
Nếu
eventType == 1
thì là loại event cộng dồn điểmNếu
eventType == 2
thì là loại event cập nhật điểm cao nhất
Các tham số
onComplete
: Hàm xử lý với param là mảng các event đang hoạt động.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
4.2 Lấy các events đã hoàn thành
Dùng để lấy các event đã hoàn thành sau đó sử dụng
GSM.Events.GSMLeaderboadSeason.ClaimReward("{finishEventId}");
để claim phần thưởng.Dữ liệu phần thưởng được trả về trường
reward
trong mỗi đối tượngEventFinishedData
Các tham số
onComplete
: Hàm xử lý với param là mảng các event đã hoàn thành.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
4.3 Cập nhật điểm
Dùng để cập nhật điểm hiện tại của user. Gửi lên khi user có sự thay đổi điểm. Điểm này cần được lưu trong dữ liệu local để tính toán chính xác.
Ví dụ với loại event
Cộng dồn điểm
lần 1 user kiếm được5 điểm
, sau đó kiếm được tiếp10 điểm
thì lúc này số điểm sử dụng để cập nhật lên GSM là15 điểm
. Tức là tự phía game sẽ tính toán logic tính điểm theo từng loại event.
Các tham số
eventId
: Id của sự kiện.score
: Số điểm hiện tại của người chơi.onComplete
: Hàm xử lý khi cập nhật điểm thành công.errorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
4.4 Lấy bảng xếp hạng
Lấy bảng xếp hạng của user.
Các tham số
eventId
: Id của sự kiện.onComplete
: Là hàm xử lý với thông tin LeaderboarderrorCallback
: Hàm xử lý khi có lỗi xảy ra.
Code mẫu:
2. Loại Event Progress
Last updated