Mô tả chi tiết tính năng quản lý Event Metrics
Back to ezygameMô tả chi tiết tính năng quản lý Event Metrics
Tính năng “Các độ đo khi có sự kiện” (Event Metrics) trong module EzyGame cho phép bạn tự động cập nhật các metric ngay khi game phát sinh sự kiện (event) cụ thể — ví dụ: khi kết thúc màn chơi (GAME_OVER), chiến thắng (GAME_VICTORY), thu thập vật phẩm, hoàn thành nhiệm vụ… Mỗi khi client gọi RecordEvent("EVENT_KEY", params), EzyPlatform sẽ lấy biểu thức bạn cấu hình để tính toán giá trị mới và ghi vào cơ sở dữ liệu, không cần viết SQL thủ công.
Các trường thông tin chính
- Id: Số định danh tự động tăng của mỗi cấu hình event-metric.
- Sự kiện trò chơi: Khóa (key) của event do game phát ra (ví dụ: GAME_OVER, LEVEL_UP).
- Tên độ đo: Metric sẽ được cập nhật khi sự kiện xảy ra (ví dụ: diamond_currency, ezygame_experience_point).
- Tên trò chơi: Identifier của game (gameName) để phân biệt đa tựa game trên cùng 1 nền tảng (ví dụ: ezysmashers).
- Biểu thức cập nhật: Công thức tính newValue dựa trên tham số event (ví dụ:
{nDiamonds},"400 + {nKills} * 100, {nKills} * 80"). - Tạo lúc / Cập nhật lúc: Thời gian cấu hình được tạo và cập nhật gần nhất (định dạng YYYY-MM-DD HH:MM:SS).
- Các hành động: Nút ✏️ (Sửa) và 🗑️ (Xóa) để chỉnh sửa hoặc xoá cấu hình tương ứng.
Thao tác tính năng
Thêm mới
- Chọn EzyGame → Event Metrics → Thêm mới.
- Sự kiện trò chơi: chọn hoặc nhập key event (bắt buộc trùng với event game gửi lên).
- Tên độ đo: chọn metric đã tạo sẵn (dropdown hiển thị danh sách “Các độ đo”).
- Tên trò chơi: nhập gameName đã đăng ký (ví dụ: ezysmashers).
- Biểu thức cập nhật: gõ công thức, dùng placeholder {param} tương ứng với field của event.
Chỉnh sửa
- Đổi event, độ đo hoặc cập nhật lại logic biểu thức.
- Hệ thống kiểm tra cú pháp biểu thức trước khi chấp nhận.
Xóa
- Xóa vĩnh viễn cấu hình (có thể kèm confirm dialog).
- Mọi lần trigger sau đó sẽ bỏ qua entry đã xoá.
Cơ chế đánh giá biểu thức
- Khi server game hoặc backend nhận được payload event (ví dụ JSON có trườngnKills, nDiamonds), EzyGame sẽ:
- Lấy tất cả cấu hình tương ứng với
eventType+gameKey. - Thay biến
{nKills}thành giá trị thực,{nDiamonds}thành số lượng kim cương thu được… - Đánh giá biểu thức an toàn (sandboxed) để ra kết quả số học.
- Cộng dồn vào cột metric trong bảng người chơi.
Lợi ích
- Linh hoạt: admin không cần chỉnh code, chỉ cấu hình trực tiếp trong UI.
- Nhanh chóng: thay đổi logic thưởng/phạt ngay lập tức có hiệu lực.
- Minh bạch: lưu lại lịch sử, ai thay đổi – khi nào – như thế nào.
- Bảo mật: mọi tính toán diễn ra trong sandbox, không ảnh hưởng code chính.