Skip to main content

XMDT (Identity Verification)

XMDT is identity verification for copub games: full name, date of birth, phone number (OTP-verified), and consent. It is a separate, standalone SDK — alogame-kyc-sdk — not part of SDK v2 and not something you get by integrating v2.

Environments
EnvironmentBase URL
Devhttps://api-xmdt.dev.alogame.vn
Prodhttps://api-xmdt.alogame.vn

Both are live. Your gameId must be enabled for XMDT by Alogame Operations before either works — see Server Integration.

What it looks like​

The SDK's own screen — a bottom sheet in portrait, a centered dialog in landscape. Identical on Android and iOS.

XMDT screen, portraitXMDT screen, landscape

Why this exists​

Player identity data (name, date of birth, phone) must never transit your game server. Copub game servers are self-hosted and outside Alogame's control, so there is no way to audit what a game server logs or retains. XMDT's entire design point is that this data goes device → Alogame directly, and your server's only involvement is one signed call that never carries any of it.

Who implements what​

ImplementsSees player PII?
Your game serverOne signed HTTP call to mint a session token — its response also tells you whether the player is already verifiedNo
Your game client (Android/iOS)Three SDK calls: init, setGameRole, showNo — the SDK owns its own screen
Player's deviceEverything else — the actual name/DOB/phone/OTP form—

Your client never talks to Alogame's identity API directly, and your server never sees a name, date of birth, phone number, or OTP code. Both sides only ever handle opaque tokens.

The flow​

The last step is a UI signal, not proof: a modified client can report Success at will. Don't gate on it alone — at the actual point you need to trust the answer (letting a player into a match, for example), call POST /xmdt/session again and read xmdtCompleted from that response. It's the same HMAC-signed, server-to-server call either way; the field is authoritative because it comes straight from Alogame, never relayed through the player's device. See Server Integration.

Next steps​

  • Server Integration — the one call your server makes, both to mint a session and to check real verification status.
  • Android — SDK install and the three-call integration.
  • iOS — SDK install and the three-call integration.
  • Unity — UPM package wrapping both native SDKs; no Gradle or Xcode editing.
  • Cocos Creator — pure TypeScript, no native code at all; runs in the Editor without a device.

When to call show()​

This is entirely your decision — the SDK does not enforce a gate and Alogame's XMDT server does not know or care when you call it. Common choices:

  • At first login, before letting a new player into the game.
  • Before a player's first purchase.
  • From a settings/account menu, optionally.

Whichever you choose, the session your server mints tells the SDK whether the form is dismissible (xmdtRequired) — see Server Integration.