Provider Entitlements #
The Provider Entitlement feature seamlessly integrates with third-party providers’ monetization systems to grant players the items from their entitlements. Pragma Engine supports preimplemented and custom entitlement plugins to integrate with a provider of your choice:
- Epic Games Store
- Steamworks
- Twitch
- PlayStation
- Xbox
- a custom plugin for all other cases
For information on how to integrate with PlayStation, contact us for details.
In the following sections, we’ll go over entitlements, the Provider Entitlement flow, integration steps with Pragma Engine, and how to create a custom plugin.
Understanding entitlements #
An “entitlement” refers to an item a player owns in a third-party provider’s system. Entitlements include cosmetics, DLCs, and in-game currency. Below are two circumstances for why players might receive an entitlement on their account:
- an item was purchased or redeemed on the third-party provider’s store
- a watch time quota was met (e.g. Twitch Drops)
For a player to receive their items, entitlements must be mapped to Pragma Engine’s Content Data system. This creates identifiers that Pragma Engine uses to grant players the corresponding content from their entitlements. Once entitlements are mapped to content in the engine, Player Data Service Operations can be triggered to handle player data updates as a result of valid third party entitlement purchases
Flow overview #
Below are examples demonstrating how a player can receive their items through the Provider Entitlement flow:
- A player makes a purchase in Epic Games Store for 100 gems.
- Epic Games Store processes payment and associates the entitlement to the player’s account.
- The entitlement has an identifier which Pragma Engine’s Content Data system knows to interpret as 100 gems.
syncEntitlements
is called. This endpoint handles the logic for granting items to the player:- Pragma Engine uses the Epic Entitlement Provider Plugin to query for the player’s entitlements from Epic Games Store and sees an unused entitlement.
- The Epic Entitlement Provider Plugin notifies Epic Games Store to mark the entitlement as consumed and grants the player 100 gems.
- Pragma Engine records which entitlements have been granted through a fullfillment database table; this prevents repeated processing of entitlements.
- A player makes a purchase in Steam for 100 gems.
- Steam processes payment and associates the entitlement to the player’s account.
- The entitlement has an identifier which Pragma Engine’s Content Data system knows to interpret as 100 gems.
syncEntitlements
is called. This endpoint handles the logic for granting items to the player:- Pragma Engine uses the Steam Entitlement Provider Plugin to query for the player’s entitlements from Steam and sees an unused entitlement.
- The Steam Entitlement Provider Plugin notifies Steam to mark the entitlement as consumed and grants the player 100 gems.
- Pragma Engine records which entitlements have been granted through a fullfillment database table; this prevents repeated processing of entitlements.
- A viewer watches an eligible channel with enabled Twitch Drops and meets the watch time quota.
- On Twitch the viewer claims their Drop of 100 gems which associates the entitlement to the viewer’s account.
- The entitlement has an identifier which Pragma Engine’s Content Data system knows to interpret as 100 gems.
syncEntitlements
is called. This endpoint handles the logic for granting items to the viewer:- Pragma Engine uses the Twitch Entitlement Provider Plugin to query for the viewer’s entitlements from Twitch and sees an unused entitlement.
- The Twitch Entitlement Provider Plugin notifies Twitch to mark the entitlement as consumed and grants the player 100 gems.
- Pragma Engine records which entitlements have been granted through a fullfillment database table; this prevents repeated processing of entitlements.
- A player makes a purchase in the third-party provider’s store interface for 100 gems.
- After processing payment, the provider gives the player’s account an entitlement.
- The entitlement has an identifier which Pragma Engine’s Content Data system knows to interpret as 100 gems.
syncEntitlements
is called. This endpoint handles the logic for granting items to the player:- Pragma Engine uses the Entitlement Provider Plugin to query for the player’s entitlements from the provider and sees an unused consumable entitlement.
- The Entitlement Provider Plugin notifies the provider to mark the entitlement as consumed and grants the player 100 gems.
- Pragma Engine records which entitlements have been granted through a fullfillment database table; this prevents repeated processing of entitlements.
Contents #
Topic | Description |
---|---|
Integrate and Use Provider Entitlements | Integrating and using Provider Entitlements with third-party providers. |