XMDT (Xác thực danh tính)
XMDT là xác thực danh tính cho các game copub: họ tên, ngày sinh, số điện thoại (xác thực qua OTP), và sự đồng ý (consent). Đây là một SDK riêng, độc lập — alogame-kyc-sdk — không thuộc SDK v2 và không tự động có khi tích hợp v2.
| Môi trường | Base URL |
|---|---|
| Dev | https://api-xmdt.dev.alogame.vn |
| Prod | https://api-xmdt.alogame.vn |
Cả hai đều đang hoạt động. gameId của bạn phải được Alogame Operations bật XMDT trước khi dùng được ở cả hai — xem Tích hợp phía Server.
Giao diện trông như thế nào
Màn hình riêng của SDK — dạng bottom sheet ở chế độ dọc (portrait), dialog ở giữa màn hình khi ngang (landscape). Giống nhau trên Android và iOS.


Vì sao có tính năng này
Dữ liệu danh tính người chơi (họ tên, ngày sinh, số điện thoại) không được đi qua server của game bạn. Server của game copub tự host và nằm ngoài phạm vi kiểm soát của Alogame, nên không có cách nào để kiểm tra được server đó log hay lưu trữ những gì. Toàn bộ thiết kế của XMDT dựa trên nguyên tắc: dữ liệu đi thiết bị → Alogame trực tiếp, và phía server của bạn chỉ tham gia đúng một lệnh gọi đã ký (signed), và lệnh gọi đó không bao giờ chứa dữ liệu này.
Ai làm phần nào
| Triển khai | Có thấy PII của người chơi không? | |
|---|---|---|
| Server game của bạn | Một lệnh gọi HTTP đã ký để mint session token — phản hồi của nó cũng cho biết người chơi đã xác thực chưa | Không |
| Client game của bạn (Android/iOS) | Ba lệnh gọi SDK: init, setGameRole, show | Không — SDK tự quản lý màn hình riêng của nó |
| Thiết bị của người chơi | Mọi thứ còn lại — form nhập họ tên/ngày sinh/số điện thoại/OTP thực tế | — |
Client của bạn không bao giờ gọi trực tiếp API danh tính của Alogame, và server của bạn không bao giờ thấy họ tên, ngày sinh, số điện thoại hay mã OTP. Cả hai phía chỉ xử lý các token mờ (opaque).
Luồng hoạt động
Bước cuối chỉ là tín hiệu giao diện (UI), không phải bằng chứng: một client đã bị mod có thể tự báo Success bất kỳ lúc nào. Đừng chỉ dựa vào nó — tại đúng thời điểm bạn cần tin vào câu trả lời (ví dụ: cho người chơi vào một trận đấu), hãy gọi lại POST /xmdt/session và đọc xmdtCompleted từ chính phản hồi đó. Đó vẫn là cùng một lệnh gọi server-to-server đã ký HMAC; trường này đáng tin vì nó đến trực tiếp từ Alogame, không hề đi qua thiết bị người chơi. Xem Server Integration.
Bước tiếp theo
- Server Integration — lệnh gọi duy nhất phía server của bạn, dùng cả để mint session và kiểm tra trạng thái xác thực thật.
- Android — cài SDK và tích hợp ba lệnh gọi.
- iOS — cài SDK và tích hợp ba lệnh gọi.
- Unity — package UPM bọc cả hai SDK native; không phải sửa Gradle hay Xcode.
- Cocos Creator — hoàn toàn TypeScript, không có code native nào cả; chạy trong Editor không cần thiết bị.
Khi nào gọi show()
Hoàn toàn do bạn quyết định — SDK không tự ép cổng chặn và ekycx không biết cũng không quan tâm bạn gọi lúc nào. Vài lựa chọn phổ biến:
- Ngay lần đăng nhập đầu, trước khi cho người chơi mới vào game.
- Trước lần mua hàng đầu tiên của người chơi.
- Từ menu cài đặt/tài khoản, nếu muốn.
Dù chọn cách nào, session mà server bạn mint sẽ cho SDK biết form có thể đóng được hay không (xmdtRequired) — xem Server Integration.