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/integrityRegisters 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
| Field | Type | Required | Description |
|---|---|---|---|
platform | string | ✓ | "android" or "ios" |
credential.packageName | string | android | Android application ID. |
credential.googleCloudProjectNumber | string | android | GCP project number tied to Play Integrity. |
credential.bundleId | string | ios | iOS bundle identifier. |
credential.teamId | string | ios | Apple 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