Account Data Reference #

Display name #

When a Pragma Account is created, the display name is defaulted to the player’s display name from the provider they used to login for the first time. For details on how a player can update their display name, see Update a player’s display name.

The Google identity provider uses an anonymized display name (Player1122) to protect the player’s PII when creating an account.
Example: Pragma Account display name default behavior

Below we’ll go through the default flow for Pragma Account display name behavior:

Create or log into a Pragma Account

  1. Player A has an account on Steam with the display name Cerberus.
  2. Player A authenticates with Steam into Pragma Engine. There are two scenarios dependent on if the player has an existing Pragma Account:
    • If the player does not have an existing Pragma Account, a new Pragma Account is created using the Steam display name Cerberus.
    • If the player does have an existing Pragma Account, the Pragma Account display name stays the same even if the player’s Steam display name has changed since their last login. This default behavior can be altered using the Account Plugin.

Tags #

Tags can be used to identify an account. The following are several circumstances where adding tags to an account are useful:

  • accepted terms of service (EULA, NDA)
  • region/geography
  • Accounts played during a playtest. You can later grant accounts an exclusive item for being an early access player in your game.
  • Accounts created during certain time periods.
  • restrict users based on their account status (free vs premium)

For more information on how to add tags to an account, see the Account Plugin. Alternatively you can also add tags using the Social Operator Portal by going to the Account Tags section under an Account Overview page.

Plugins #

Data rights plugins #

The data rights plugins can be used to define what social and game data is sent to a player in their data package when you make a personal data request. By default, only social account data is collected; game account data collection needs to be enabled. For more information, see Privacy Rights.

Email Sender Plugin #

The Email Sender Plugin can be used to send an email to players for email verification for their Pragma Account. Configuring a preimplemented and custom Email Sender Plugin is covered in Email Verification.

Data classes #

Social identity with personal #

SocialIdentityWithPersonal contains account data such as social, player, and PII data.

propertydescription
socialIdentitySocial identity object containing non-PII data for an account. See Social identity.
pragmaPersonalIdUnique personal identifier for the player (game agnostic).
tagsList of associated tags on the account.
emailAddressoptional

Player’s email address.
emailVerifiedBoolean determining if a player has verified their email.
createdTimestampMillisTimestamp in milliseconds for when the account was created.
lastLoginTimestampMillisTimestamp in milliseconds for when the player logged in last.
lastDisplayNameUpdateTimestampMillisTimestamp in milliseconds for when the player’s Pragma Account display name was last updated.

Social identity #

SocialIdentity contains all the core information for a player.

propertydescription
pragmaSocialIdUnique social identifier for the player (game agnostic).
pragmaDisplayNameObject containing a player’s display name and optional discriminator. See Display name.
gameIdentitiesList of player IDs and their associated game shard. See Game identity.
idProviderAccountsList of identity providers the account can use to authenticate with. See Identity provider account.

Display name #

DisplayName is an object containing a player’s display name and an optional discriminator.

propertydescription
displayNamePlayer’s display name.
discriminatorSuffix to distinguish a player’s account with the same display name (Cerberus#0000, Cerberus#0001).

Game identity #

GameIdentity represents the association of the social identity with the player’s game shard information.

propertydescription
gameShardIdUnique identifier for a game.
pragmaPlayerIdUnique identifier for a player in a game.

Public social identity #

PublicSocialIdentity contains all the social information about a player such as how they appear to other players in game.

This is visible to other players.

propertydescription
pragmaSocialIdUnique social identifier for the player (game agnostic).
pragmaDisplayNameObject containing an account’s display name and optional discriminator.
idProviderAccountList of identity providers the account can authenticate with.
The identities returned will include Identity Provider data. The Player endpoints are affected by the visibleToOtherPlayers config value. See Hide a player’s identity providers information for more information.

Player identity #

PlayerIdentity contains all the core information about a player such as their display name and associated third party providers.

This is visible to other players.

propertydescription
pragmaPlayerIdUnique identifier for a player in a game.
pragmaDisplayNameObject containing an account’s display name and optional discriminator.
idProviderAccountList of identity providers the account can authenticate with.
pragmaSocialIdPragma Social ID that is associated with the player.

Identity provider account #

IdProviderAccount contains third party user identification information that Pragma uses to create and authenticate accounts.

propertydescription
idProviderTypeenum type of the identity provider (STEAM, DISCORD). See Identity Providers for more information.
accountIdUser ID from the identity provider.
providerDisplayNameObject containing a player’s display name and optional discriminator. See Display name.