View as Markdown

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 nameValueMetadata
currencyGrantedAmount grantedcurrencyId, source
currencySpentAmount spentcurrencyId, source
itemsGrantedAmount granteditemId, source
itemSpentAmount spentitemId, source
itemsConsumedAmount consumeditemId
itemUpdatedNot setitemId, stringProperties, numericProperties
energyGrantedAmount grantedenergyId, source
energySpentAmount spentenergyId
energyModifierGrantedModifier valueenergyModifierId, operator, durationSec, source
rewardModifierGrantedModifier valuerewardModifierId, type, operator, durationSec, source

See: Economy , Inventory , and Energy .

Purchase and ad events #

Event nameValueMetadata
purchaseIntentNot setstoreItemId, storeType
purchaseCompletedAmount in USD centsid, test, currency, amount, storeType
adPlacementStartedNot setplacementId
adPlacementSucceededNot setplacementId, maxRetries
adPlacementFailedNot setplacementId

See: Virtual store and Rewarded video .

Achievement events #

Event nameValueMetadata
achievementUpdatedProgress countachievementId
achievementClaimedNot setachievementId
teamAchievementClaimedNot setteamId, achievementId

See: Achievements .

Progression events #

Event nameValueMetadata
progressionPurchasedNot setprogressionId
progressionUpdatedCurrent countprogressionId, countId
progressionResetNot setprogressionId

See: Progression .

Stat events #

Event nameValueMetadata
statUpdatedUpdate valuename, operator

See: Stats .

Tutorial events #

Event nameValueMetadata
tutorialAcceptedNot settutorialId
tutorialDeclinedNot settutorialId
tutorialStartedStep numbertutorialId
tutorialStepCompletedStep numbertutorialId
tutorialCompletedStep numbertutorialId
tutorialAbandonedStep numbertutorialId
tutorialResetNot settutorialId

See: Tutorials .

Donation events #

Event nameValueMetadata
donationRequestedNot setdonationId
donationGivenNot setdonationId, recipientId
donationClaimedNot setdonationId

See: Donations .

Team events #

Event nameValueMetadata
teamCreatedMaximum team sizeteamId, open
teamItemsGrantedAmount grantedteamId, itemId, source
teamItemsConsumedAmount consumeditemId, teamId
teamItemUpdatedNot setteamId, itemId, stringProperties, numericProperties

See: Teams .

Event leaderboard events #

Event nameValueMetadata
eventLeaderboardUpdatedMain scoreeventLeaderboardId, subscore
eventLeaderboardRolledNot seteventLeaderboardId
eventLeaderboardClaimedNot seteventLeaderboardId
teamEventLeaderboardUpdatedMain scoreteamId, eventLeaderboardId, subscore
teamEventLeaderboardRolledNot setteamId, eventLeaderboardId
teamEventLeaderboardClaimedNot setteamId, eventLeaderboardId

See: Event leaderboards .

Unlockable events #

Event nameValueMetadata
unlockableCreatedNot setunlockableId
unlockableUnlockStartedActive unlockables countunlockableId, instanceId
unlockableUnlockPurchasedNot setunlockableId, instanceId
unlockableSlotPurchasedActive slots countNone
unlockableClaimedNot setunlockableId, instanceId

See: Unlockables .

Incentive events #

Event nameValueMetadata
incentiveCreatedNot setincentiveId, code
incentiveDeletedNot setincentiveId, code
incentiveSenderClaimedNot setincentiveId, code, claimantId
incentiveRecipientClaimedNot setincentiveId, code

See: Incentives .

Challenge events #

Event nameValueMetadata
challengeCreatedNot setchallengeId, templateId, isOpen, maxSize
challengeInvitationSentNot setchallengeId, inviteeId
challengeInvitationAcceptedNot setchallengeId
challengeJoinedNot setchallengeId
challengeUpdatedNew scorechallengeId, score, subscore, oldRank, newRank
challengeClaimedFinal scorechallengeId, score, subscore, rank
challengeLeftNot setchallengeId

See: Challenges .

Auction events #

Event nameValueMetadata
auctionCreatedNot setauctionId, templateId, conditionId, itemIds
auctionCancelledNot setauctionId
auctionBidNot setauctionId
auctionClaimCreatedNot setauctionId
auctionClaimBidNot setauctionId

See: Auctions .

Gotchas #

  • Team variants of a few events reuse their base name. achievementUpdated and statUpdated are emitted for both individual players and teams; the team version adds a teamId metadata key. Match on the base name to catch both.
  • purchaseCompleted uses the metadata key id rather than storeItemId for backwards compatibility.
  • unlockableSlotPurchased is the only event with no metadata.
  • The Streaks system has a publish option but currently emits no events.
  • source metadata values (for example on currencyGranted) explain why a grant or spend happened, such as a reward or a purchase. They are separate from the event names above.

See also #