Skip to content

Thành tựu và Bảng xếp hạng

Bảng xếp hạng

Tạo bảng xếp hạng

Phần này sẽ hướng dẫn cách tạo bảng xếp hạng cho trò chơi mới hoặc đang tồn tại. Giới hạn tối đa 20 bảng, mỗi ID bảng trong game phải là duy nhất.

Nếu cần tạo bảng xếp hạng cho game, vui lòng vào trang quản lý GameRank tương ứng với trò chơi của bạn, chọn Mở rộng > Add rồi nhấn nút Tạo bảng xếp hạng.

alt text

Sau đó, chỉ cần điền các thông tin cần thiết cho bảng xếp hạng.

Định dạng điểm

  • Bảng xếp hạng số hiển thị điểm dưới dạng số. Các điểm này có thể là số nguyên hoặc số thập phân, ví dụ 3.14159, 3141.59 hoặc 314159; lưu ý giá trị không nên quá lớn, hiện chỉ hỗ trợ độ chính xác đơn.

  • Bảng xếp hạng thời gian hiển thị điểm theo định dạng giờ / phút / giây / phần trăm giây hoặc định dạng đồng hồ truyền thống (HH:MM:SS), ví dụ 66032, 1:06:3.

  • Điểm được định dạng hiển thị theo định dạng tùy chỉnh. Đơn vị tiền tệ $19.95 được gửi như một điểm, ví dụ $19.95.

Hướng dẫn ảnh nền

Ảnh nền bảng xếp hạng cần được tạo thành file JPEG 1024 x 1024. Tùy chọn, nếu không tải lên, hệ thống sẽ dùng ảnh mặc định.
Tất cả các khu vực ngôn ngữ dùng chung ảnh nền, vì vậy khuyến nghị không đặt văn bản hay nội dung bản địa trong ảnh.

Điều chỉnh bảng xếp hạng

Đối với danh sách bảng, nhà phát triển có thể xử lý người chơi bất thường:

  • Xóa: loại bỏ dữ liệu bảng đang hiển thị của người chơi.
  • Thêm vào danh sách đen: hủy quyền tham gia tất cả các bảng xếp hạng của game hiện tại đối với người chơi sau này.
    Sau khi đã thêm vào danh sách đen, có thể xem và loại bỏ tài khoản khỏi danh sách đen dưới tất cả các bảng.
  • Chỉnh sửa dữ liệu: nhấn để mở trang chỉnh sửa bảng xếp hạng.
  • Xóa bảng: nhấn để xóa bảng xếp hạng được chỉ định.

Các trường gửi dữ liệu bảng xếp hạng

Nếu dữ liệu trong game của người chơi lọt vào một bảng xếp hạng đã định nghĩa, có thể gọi API gửi dữ liệu để gửi dữ liệu bảng tương ứng lên dịch vụ backend Jogos, người chơi sẽ có thể mở cửa sổ bảng xếp hạng trên nền tảng Jogos để xem bảng và thứ hạng của mình.

Lưu ý: tên bảng và loại dữ liệu trong tham số API phải khớp với tên và loại đã định nghĩa trong trung tâm nhà phát triển.

Trung tâm nhà phát triển có thể tạo ba loại dữ liệu gửi sau:

  • Điểm số: number
  • Điểm thời gian: time
  • Điểm định dạng: tùy chỉnh

Dữ liệu gửi là cặp khóa-giá trị, giá trị chỉ có thể là số, chuỗi hoặc ngày, phải khớp định dạng đã cấu hình trong trung tâm nhà phát triển.

API gửi dữ liệu bảng xếp hạng

API gửi dữ liệu bảng xếp hạng: JOGOS_SDK.game.commitRankingData

javascript
/**
 * Gửi dữ liệu bảng xếp hạng
 *
 * @param rankingName ID bảng xếp hạng
 * @param data Dữ liệu bảng xếp hạng
 */
await window.JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });

API mở giao diện bảng xếp hạng:

API mở giao diện bảng xếp hạng: JOGOS_SDK.game.openRankingDialog
Nếu bạn muốn hiển thị một bảng cụ thể (thay vì tất cả), truyền tên bảng (giống tên đã tạo trong trung tâm nhà phát triển) vào phương thức này.

javascript
/**
 * Mở cửa sổ bảng xếp hạng
 *
 * @param rankingName Tên bảng xếp hạng
 */
await window.JOGOS_SDK.game.openRankingDialog(rankingName: string);

Tích hợp thành tựu

Khi người chơi đạt được một thành tựu, có thể gọi API gửi dữ liệu thành tựu để gửi dữ liệu tương ứng lên dịch vụ backend Jogos, người chơi sẽ có thể mở cửa sổ thành tựu trên nền tảng Jogos để xem các thành tựu đã đạt.

Lưu ý: tên thành tựu trong tham số API phải khớp với tên đã định nghĩa trong trung tâm nhà phát triển.

Trường hợp thành tựu không chia bước:

  • Chỉ gửi khi đạt thành tựu tương ứng, tức thành tựu không hiển thị tiến độ, gửi đồng nghĩa đã hoàn thành.
  • Nếu thành tựu được thiết lập chia bước: tiến độ progress phải khớp với ID bước, ví dụ hoàn thành bước 2 thì gửi progress = 2.

Tạo thành tựu

Trong trung tâm nhà phát triển, dịch vụ GameService – Thành tựu, chọn Tạo thành tựu.
Tại trang thêm thành tựu, điền biểu mẫu.

alt text

Mỗi thành tựu có các thành phần cơ bản sau:

  • ID thành tựu: ký tự chữ số, dùng để khớp báo cáo trong game và hiển thị, phải duy nhất trong game.
  • Tên: tên hiển thị của thành tựu (ví dụ “Pieman”).
  • Điều kiện thành tựu: mô tả điều kiện, thường hướng dẫn người chơi cách đạt được.
  • Biểu tượng: hình vuông liên kết với thành tựu. Cần tải lên ảnh khóa và ảnh đã mở khóa.
  • Loại thành tựu (chọn một, hiển thị riêng theo thứ tự):
    • Thành tựu khám phá cấp độ cơ bản (Beginner's Exploration Achievements), tối đa 900.
    • Thành tựu thử thách cấp độ trung bình (Intermediate Challenge Achievements), tối đa 50.
    • Thành tựu vinh quang cấp độ cao (Advanced Glory Achievements), tối đa 10.

Trạng thái: thành tựu có thể ở một trong ba trạng thái:

  • Thành tựu ẩn: chi tiết sẽ bị ẩn với người chơi. Jogos cung cấp mô tả và biểu tượng mặc định.
    Nên đặt ẩn nếu chứa spoiler (ví dụ: “Phát hiện bạn vốn là ma từ đầu!”).

  • Thành tựu đã hé lộ: người chơi biết về thành tựu nhưng chưa hoàn thành.
    Hầu hết thành tựu bắt đầu ở trạng thái này.

  • Thành tựu đã đạt: người chơi đã hoàn thành. Có thể đạt offline, game sẽ đồng bộ với Jogos khi online.

Thành tựu chia bước

  • Có thể đặt thành tựu là chuẩn hoặc chia bước.
    Thành tựu chia bước yêu cầu hoàn thành theo từng giai đoạn. Khi người chơi tiến bộ, gửi bước hiện tại cho Jogos, hệ thống sẽ theo dõi và thông báo khi hoàn thành.

Hướng dẫn biểu tượng

Biểu tượng phải là file PNG, JPEG hoặc JPG 512 × 512.
Chỉ cần cung cấp biểu tượng đã mở khóa, nên dùng màu sắc để phân biệt.
Dùng chung biểu tượng cho mọi ngôn ngữ—tránh văn bản hay nội dung bản địa.

API gửi thành tựu

javascript
/**
 * Gửi dữ liệu thành tựu người chơi
 *
 * @param name ID thành tựu
 * @param progress Tiến độ hoàn thành
 * @param hidden Cờ ẩn
 */
await window.JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);

API mở giao diện thành tựu

Nền tảng Jogos cung cấp sẵn cửa sổ thành tựu người chơi, bạn có thể gọi API để mở trong game.

javascript
// Mở cửa sổ thành tựu người chơi
await window.JOGOS_SDK.game.openAchievementsDialog();