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ày endDate.

  • Khi hết ngày endDate thì user sẽ không cập nhật được điểm nữa, và sẽ có thêm Y 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 Đ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ểm

  • Nế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 độ user

  • 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:

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ượng EventFinishedData

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 được 5 điểm, sau đó kiếm được tiếp 10 đ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 (Trong UserData có trường isSelf=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 đến Trigger 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êm Y 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 Đ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ểm

  • Nế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ượng EventFinishedData

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 được 5 điểm, sau đó kiếm được tiếp 10 đ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 (Trong UserData có trường isSelf=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ạng 10000+;

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ạng 10000+;

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ểm

  • Nế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ượng EventFinishedData

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 được 5 điểm, sau đó kiếm được tiếp 10 đ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 Leaderboard

  • errorCallback: Hàm xử lý khi có lỗi xảy ra.

Code mẫu:

Last updated