Hiro server event reference
Hiro’s systems emit an analytics event whenever something notable happens in your game, like currency being granted or an achievement claimed. This guide lists every event along with what it puts in its Value and Metadata fields.
To see the exact shape of each event object, refer to events_satori.go .
Events are opt-in
Events are only sent for systems you opt into when you construct
SatoriPersonalizer. For example, SatoriPersonalizerPublishEconomyEvents() enables the economy events, and SatoriPersonalizerPublishAllEvents() enables every event. See Publishers
.Currency, item, and energy events #
| Event name | Value | Metadata |
|---|---|---|
currencyGranted | Amount granted | currencyId, source |
currencySpent | Amount spent | currencyId, source |
itemsGranted | Amount granted | itemId, source |
itemSpent | Amount spent | itemId, source |
itemsConsumed | Amount consumed | itemId |
itemUpdated | Not set | itemId, stringProperties, numericProperties |
energyGranted | Amount granted | energyId, source |
energySpent | Amount spent | energyId |
energyModifierGranted | Modifier value | energyModifierId, operator, durationSec, source |
rewardModifierGranted | Modifier value | rewardModifierId, type, operator, durationSec, source |
See: Economy , Inventory , and Energy .
Purchase and ad events #
| Event name | Value | Metadata |
|---|---|---|
purchaseIntent | Not set | storeItemId, storeType |
purchaseCompleted | Amount in USD cents | id, test, currency, amount, storeType |
adPlacementStarted | Not set | placementId |
adPlacementSucceeded | Not set | placementId, maxRetries |
adPlacementFailed | Not set | placementId |
See: Virtual store and Rewarded video .
Achievement events #
| Event name | Value | Metadata |
|---|---|---|
achievementUpdated | Progress count | achievementId |
achievementClaimed | Not set | achievementId |
teamAchievementClaimed | Not set | teamId, achievementId |
See: Achievements .
Progression events #
| Event name | Value | Metadata |
|---|---|---|
progressionPurchased | Not set | progressionId |
progressionUpdated | Current count | progressionId, countId |
progressionReset | Not set | progressionId |
See: Progression .
Stat events #
| Event name | Value | Metadata |
|---|---|---|
statUpdated | Update value | name, operator |
See: Stats .
Tutorial events #
| Event name | Value | Metadata |
|---|---|---|
tutorialAccepted | Not set | tutorialId |
tutorialDeclined | Not set | tutorialId |
tutorialStarted | Step number | tutorialId |
tutorialStepCompleted | Step number | tutorialId |
tutorialCompleted | Step number | tutorialId |
tutorialAbandoned | Step number | tutorialId |
tutorialReset | Not set | tutorialId |
See: Tutorials .
Donation events #
| Event name | Value | Metadata |
|---|---|---|
donationRequested | Not set | donationId |
donationGiven | Not set | donationId, recipientId |
donationClaimed | Not set | donationId |
See: Donations .
Team events #
| Event name | Value | Metadata |
|---|---|---|
teamCreated | Maximum team size | teamId, open |
teamItemsGranted | Amount granted | teamId, itemId, source |
teamItemsConsumed | Amount consumed | itemId, teamId |
teamItemUpdated | Not set | teamId, itemId, stringProperties, numericProperties |
See: Teams .
Event leaderboard events #
| Event name | Value | Metadata |
|---|---|---|
eventLeaderboardUpdated | Main score | eventLeaderboardId, subscore |
eventLeaderboardRolled | Not set | eventLeaderboardId |
eventLeaderboardClaimed | Not set | eventLeaderboardId |
teamEventLeaderboardUpdated | Main score | teamId, eventLeaderboardId, subscore |
teamEventLeaderboardRolled | Not set | teamId, eventLeaderboardId |
teamEventLeaderboardClaimed | Not set | teamId, eventLeaderboardId |
See: Event leaderboards .
Unlockable events #
| Event name | Value | Metadata |
|---|---|---|
unlockableCreated | Not set | unlockableId |
unlockableUnlockStarted | Active unlockables count | unlockableId, instanceId |
unlockableUnlockPurchased | Not set | unlockableId, instanceId |
unlockableSlotPurchased | Active slots count | None |
unlockableClaimed | Not set | unlockableId, instanceId |
See: Unlockables .
Incentive events #
| Event name | Value | Metadata |
|---|---|---|
incentiveCreated | Not set | incentiveId, code |
incentiveDeleted | Not set | incentiveId, code |
incentiveSenderClaimed | Not set | incentiveId, code, claimantId |
incentiveRecipientClaimed | Not set | incentiveId, code |
See: Incentives .
Challenge events #
| Event name | Value | Metadata |
|---|---|---|
challengeCreated | Not set | challengeId, templateId, isOpen, maxSize |
challengeInvitationSent | Not set | challengeId, inviteeId |
challengeInvitationAccepted | Not set | challengeId |
challengeJoined | Not set | challengeId |
challengeUpdated | New score | challengeId, score, subscore, oldRank, newRank |
challengeClaimed | Final score | challengeId, score, subscore, rank |
challengeLeft | Not set | challengeId |
See: Challenges .
Auction events #
| Event name | Value | Metadata |
|---|---|---|
auctionCreated | Not set | auctionId, templateId, conditionId, itemIds |
auctionCancelled | Not set | auctionId |
auctionBid | Not set | auctionId |
auctionClaimCreated | Not set | auctionId |
auctionClaimBid | Not set | auctionId |
See: Auctions .
Gotchas #
- Team variants of a few events reuse their base name.
achievementUpdatedandstatUpdatedare emitted for both individual players and teams; the team version adds ateamIdmetadata key. Match on the base name to catch both. purchaseCompleteduses the metadata keyidrather thanstoreItemIdfor backwards compatibility.unlockableSlotPurchasedis the only event with no metadata.- The Streaks system has a publish option but currently emits no events.
sourcemetadata values (for example oncurrencyGranted) explain why a grant or spend happened, such as a reward or a purchase. They are separate from the event names above.
