Rewarded Video

Players watch video ads to earn rewards like currency, consumables, energy, or items. Hiro verifies these rewards server-side through webhooks from ironSource or AppLovin MAX, preventing client-side exploits. When a player finishes watching an ad, the ad network notifies your Nakama server directly, which grants the configured reward.
In Hiro, rewarded videos are called placements. Placements are defined in your Economy configuration JSON file under the placements collection.
How it works #
The rewarded video flow involves three parties: your game client, the ad network, and your Nakama server.
- Client calls
PlacementStart: Server records a pending placement with a unique reward ID. - Client shows ad: Your game displays the ad using the ironSource or AppLovin SDK.
- Player watches ad: The player watches the ad to completion.
- Ad network calls webhook: The ad network sends a server-to-server callback to your Nakama server with signature verification.
- Server grants reward: Nakama verifies the callback signature and grants the placement reward to the player.
Personalize placements #
Placements can also be enriched or customized through the Personalizer pipeline. This lets you modify placement rewards dynamically based on player state, time-limited events, or A/B tests without changing your base configuration. For example, you could offer bonus rewards to new players or run experiments with different reward amounts across player segments.
Placements configuration #
| |
See Rewards to learn more about the different ways you can configure and deliver rewards to your players.
Placement properties #
| Property | Type | Description |
|---|---|---|
reward | Reward | The rewards that a user should receive once they complete a placement. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
