Beta Gamer

Foundations

Device Integrity

If you register a platform credential, session creation can optionally verify the calling device via Android Play Integrity or iOS DeviceCheck before the match starts. Credentials are registered once per platform per tenant — a second call to register the same platform overwrites the first.

Register a credential

PUT/v1/integrity

Registers or replaces the integrity credential for one platform.

Android

curl -X PUT https://api.beta-gamer.com/v1/integrity \
  -H "Authorization: Bearer bg_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "android",
    "credential": {
      "packageName": "com.yourapp.mobile",
      "googleCloudProjectNumber": "1029384756"
    }
  }'

iOS

curl -X PUT https://api.beta-gamer.com/v1/integrity \
  -H "Authorization: Bearer bg_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "ios",
    "credential": {
      "bundleId": "com.yourapp.mobile",
      "teamId": "ABCDE12345"
    }
  }'

Request fields

FieldTypeRequiredDescription
platformstring"android" or "ios"
credential.packageNamestringandroidAndroid application ID.
credential.googleCloudProjectNumberstringandroidGCP project number tied to Play Integrity.
credential.bundleIdstringiosiOS bundle identifier.
credential.teamIdstringiosApple Developer team ID.

Verifying a session

Once a credential is registered, pass platform and integrityToken when creating a session, and the check runs automatically:

{
  "game": "chess",
  "platform": "android",
  "integrityToken": "<token from the Play Integrity API>",
  "players": [ { "id": "user_123" } ]
}
Both platform and integrityToken are optional. If your tenant has no credential registered for that platform, the check is skipped entirely rather than failing closed. Currently, a rooted or jailbroken verdict is recorded on the session but does not block session creation.
Beta Gamer GaaS API — questions? support@beta-gamer.com