Configurations #
Hiro provides a number of configuration parameters that you can use to customize the default user experience for its systems.
Achievements #
Property | Type | Description |
---|---|---|
achievements | string:Achievement | A map of all achievements. |
Achievement #
Property | Type | Description |
---|---|---|
auto_claim | bool | Whether the achievement reward should be given automatically upon completion. |
auto_claim_total | bool | Whether the achievement total reward should be given automatically upon completing this and all sub-achievements. |
auto_reset | bool | Whether the achievement should reset after completion. |
category | string | The category name for this achievement. |
count | int64 | The initial count towards progress for this achievement. |
description | string | The description for this achievement. |
reset_cronexpr | string | The reset interval in CRON format. |
duration_sec | int64 | How long (in seconds) this achievement is available for progression after creation. Used for limited time achievements. |
max_count | int64 | The number of times this achievement must be progressed before it can be claimed. Set this to 0 (zero) to allow for immediate claiming, so long as all preconditions are met. |
name | string | The display friendly name of this achievement. |
precondition_ids | []string | Achievement IDs the user must have completed to qualify for starting this achievement. |
reward | Reward | The rewards a user should receive once they complete this achievement. |
total_reward | Reward | The rewards a user should receive once they have completed this achievement and all sub achievements. |
sub_achievements | string:SubAchievement | A map of nested achievements. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Sub Achievement #
Property | Type | Description |
---|---|---|
auto_claim | bool | Whether the achievement reward should be given automatically upon completion. |
auto_reset | bool | Whether the achievement should reset after completion. |
category | string | The category name for this achievement. |
count | int64 | The initial count towards progress for this achievement. |
description | string | The description for this achievement. |
reset_cronexpr | string | The reset interval in CRON format. |
duration_sec | int64 | How long (in seconds) this achievement is available for progression after creation. Used for limited time achievements. |
max_count | int64 | The number of times this achievement can be progressed before it can be claimed. |
name | string | The display friendly name of this achievement. |
precondition_ids | []string | Achievement IDs the user must have completed to qualify for starting this achievement. |
reward | Reward | The rewards a user should receive once they complete this achievement. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Base #
Property | Type | Description |
---|---|---|
rate_app_smtp_addr | string | Rate app SMTP address. |
rate_app_smtp_username | string | Rate app SMTP username. |
rate_app_smtp_password | string | Rate app SMTP password. |
rate_app_smtp_email_from | string | Rate app SMTP email from. |
rate_app_smtp_email_from_name | string | Rate app SMTP email from name. |
rate_app_smtp_email_subject | string | Rate app SMTP email subject. |
rate_app_smtp_email_to | string | Rate app SMTP email to. |
rate_app_smtp_port | int | Rate app SMTP port. |
rate_app_template | string | Rate app email template. |
Economy #
Property | Type | Description |
---|---|---|
initialize_user | InitializeUser | The currencies and items a user should start with. |
donations | string:Donation | A map of all donations. |
store_items | string:StoreItem | A map of all store items. |
placements | string:Placement | A map of all placements. |
allow_fake_receipts | bool | Should fake receipts be allowed? A receipt is fake if it contains the string: ‘fake receipt’. |
Initialize User #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities that a user should start with. |
items | string:int64 | A map of item IDs and quantities that a user should start with. |
Donation #
Property | Type | Description |
---|---|---|
cost | DonationCost | What will be spent to donate. |
count | int64 | The initial count to start this donation with. |
description | string | The description for this donation. |
duration_sec | int64 | How long (in seconds) this donation is active. |
max_count | int64 | The maximum amount of donations required for this to be completed. |
name | string | The name for this donation. |
recipient_reward | Reward | The rewards a user should receive once the donation is fulfilled. |
contributor_reward | Reward | The rewards the sender should receive once the donation is fulfilled. |
user_contribution_max_count | int64 | The maximum amount of times each user can donate towards this donation. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Donation Cost #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities to be donated. |
items | string:int64 | A map of item IDs and quantities to be donated. |
Placement #
Property | Type | Description |
---|---|---|
reward | Reward | The rewards a user should receive once they complete a placement. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Reward #
Property | Type | Description |
---|---|---|
guaranteed | RewardContents | The rewards that a user is guaranteed to receive. |
weighted | []RewardContents | The rewards that a user may or may not receive depending on the outcome of a random roll. |
max_rolls | int64 | The number of weighted RewardContents to select from among the possibilities. |
max_repeat_rolls | int64 | The maximum number of repeats for any given weighted reward. |
total_weight | int64 | The total weight of all weighted reward contents, this can be omitted if you would prefer it to be automatically calculated. If you want a chance for the player to receive no reward, you can manually set this to be higher than the sum of individual weights. |
Reward Contents #
Property | Type | Description |
---|---|---|
items | string:RewardItem | A map of item IDs and quantities to reward the player with. |
item_sets | []RewardItemSet | The item sets that are part of the reward. |
currencies | string:RewardRangeInt64 | A map of currency IDs and quantities to reward the player with. |
energies | string:RewardRangeInt32 | A map of energy IDs and quantities to reward the player with. |
energy_modifiers | []RewardEnergyModifier | The energy modifiers that are part of the reward. |
reward_modifiers | []RewardRewardModifier | The reward modifiers that are part of the reward. |
weight | int64 | The weight of this reward as it relates to the rest of the weighted rewards. |
Reward Energy Modifier #
Property | Type | Description |
---|---|---|
id | string | The ID of the energy that should be modified. |
operator | string | The operation that should be performed on the energy when rewarded (e.g. multiplier , addition ). |
value | RewardRangeInt64 | The modifier value range. |
duration_sec | RewardRangeUInt64 | The duration range for the modifier (in seconds). |
Reward Item #
Property | Type | Description |
---|---|---|
min | int64 | The minimum amount to reward. |
max | int64 | The maximum amount to reward. |
multiple | int64 | The multiple the amount will be rounded to. |
string_properties | string:RewardStringProperty | Additional string properties that will be added to the item instance. |
numeric_properties | string:RewardRangeFloat64 | Additional numeric properties that will be added to the item instance. |
Reward Item Set #
Property | Type | Description |
---|---|---|
min | int64 | The minimum amount to reward. |
max | int64 | The maximum amount to reward. |
multiple | int64 | The multiple the amount will be rounded to. |
max_repeats | int64 | The maximum amount of repeats that can be rewarded from this set. |
set | []string | Which intersection of item sets to reward from. |
Reward Range Int32 #
Property | Type | Description |
---|---|---|
min | int32 | The minimum amount to reward. |
max | int32 | The maximum amount to reward. |
multiple | int32 | The multiple the amount will be rounded to. |
Reward Range Int64 #
Property | Type | Description |
---|---|---|
min | int64 | The minimum amount to reward. |
max | int64 | The maximum amount to reward. |
multiple | int64 | The multiple the amount will be rounded to. |
Reward Range UInt64 #
Property | Type | Description |
---|---|---|
min | uint64 | The minimum amount to reward. |
max | uint64 | The maximum amount to reward. |
multiple | uint64 | The multiple the amount will be rounded to. |
Reward Range Float64 #
Property | Type | Description |
---|---|---|
min | float64 | The minimum amount to reward. |
max | float64 | The maximum amount to reward. |
multiple | float64 | The multiple the amount will be rounded to. |
Reward Reward Modifier #
Property | Type | Description |
---|---|---|
id | string | The ID of the reward element that should be modified (e.g. coins or potion ). |
type | string | The type of the reward that is to be modified (e.g. item or currency ). |
operator | string | The operation that should be performed on the reward when rewarded (e.g. multiplier , addition ). |
value | RewardRangeInt64 | The modifier value range. |
duration_sec | RewardRangeUInt64 | The duration range for the modifier (in seconds). |
Reward String Property #
Property | Type | Description |
---|---|---|
total_weight | int64 | The total weight of all weighted property options, this can be omitted if you would prefer it to be automatically calculated. If you want a chance for a property not to be added to the item instance, you can manually set this to be higher than the sum of individual weights. |
options | string:RewardStringPropertyOption | A map of the possible properties and their weightings. |
Reward String Property Option #
Property | Type | Description |
---|---|---|
weight | int64 | The weight of this property option as it relates to the rest of the weighted property options. |
Store Item #
Property | Type | Description |
---|---|---|
category | string | The category for this store item. |
cost | StoreItemCost | The item’s cost. |
description | string | The description for this store item. |
name | string | The name for this store item. |
reward | Reward | The rewards that a user should receive once they purchase this item. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
disabled | bool | Used to make this item non-purchaseable and not return in queries. |
unavailable | bool | Used to make this item non-purchaseable but still return in queries. |
Store Item Cost #
Property | Type | Description |
---|---|---|
currencies | string:int64 | A map of currency IDs and quantities the user must pay to purchase this item. |
sku | string | The SKU code of the in-app purchase the user must complete to obtain this item. |
Energy #
Property | Type | Description |
---|---|---|
energies | string:Energy | A map of all energies. |
Energy #
Property | Type | Description |
---|---|---|
start_count | int32 | The initial amount of this energy a user should start with. |
max_count | int32 | The maximum amount of this energy a user can refill up to. |
max_overfill | int32 | The amount of this energy a user can gain over max_count when granted directly from rewards. |
refill_count | int32 | The amount of this energy refilled after each interval (defined in refill_time_sec ). |
refill_time_sec | int64 | The time in seconds it takes for this energy to refill by refill_count amount. |
implicit | bool | If true the user starts with this energy, if false they must be granted this energy. |
reward | Reward | The rewards that a user should receive when spending this energy. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Event Leaderboards #
Property | Type | Description |
---|---|---|
event_leaderboards | string:EventLeaderboard | A map of all event leaderboards. |
Event Leaderboard #
Property | Type | Description |
---|---|---|
name | string | The name of this event leaderboard. |
description | string | The description for this event leaderboard. |
category | string | The category for this event leaderboard. |
ascending | bool | Whether the records are sorted in Ascending order or not. |
operator | string | The leaderboard operation (e.g. set , best , incr , or decr ). |
reset_schedule | string | The reset schedule of this leaderboard expressed as a CRON expression. |
cohort_size | int | The size of the cohort that participants will be grouped into. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
max_num_score | int | The maximum amount of scores a user can submit per reset. |
reward_tiers | string:[]RewardTier | The various rewards (as an array) per tier, keyed by tier as a string. |
change_zones | string:ChangeZone | The promotion and demotion zones per tier, keyed by tier as a string. |
tiers | int | The number of tiers that users can progress through. |
max_idle_tier_drop | int | The maximum number of tiers an idle user can be demoted. |
start_time_sec | int64 | The start time (as a UNIX timestamp) of this event leaderboard. |
end_time_sec | int64 | The end time (as a UNIX timestamp) of this event leaderboard. |
duration | int64 | The duration in seconds for the event leaderboard active period. |
Reward Tier #
Property | Type | Description |
---|---|---|
name | string | The name of this reward tier. |
rank_max | int | The maximum rank number (inclusive) eligible for this reward. |
rank_min | int | The minimum rank number (inclusive) eligible for this reward. |
reward | Reward | The rewards that a user should receive when within the eligible range. |
tier_change | int | Optionally defines a change in tier the user should receive for getting this reward. |
Change Zone #
Property | Type | Description |
---|---|---|
promotion | float64 | The percentage (as a number between 0 and 1) of users at the top of the cohort who will be promoted. |
demotion | float64 | The percentage (as a number between 0 and 1) of user at the bottom of the cohort who will be demoted. |
demotion_idle | bool | Whether or not idle users in the cohort should be automatically demoted. |
Incentives #
Property | Type | Description |
---|---|---|
incentives | string:Incentive | A map of all incentives. |
Incentive #
Property | Type | Description |
---|---|---|
type | enum | The type of incentive (0 = unspecified, 1 = invite). |
name | string | The name of the incentive. |
description | string | A description of the incentive. |
max_claims | int | The maximum number of times this incentive can be claimed. |
max_global_claims | int | The maximum number of times an individual user can claim this incentive ID. |
max_recipient_age_sec | int64 | The maximum account age that is eligible for this incentive. Useful for restricting invites to new users only. |
recipient_reward | Reward | The rewards that the incentive recipient should get. |
sender_reward | Reward | The rewards that the incentive sender should get. |
max_concurrent | int | The maximum number of times this incentive can be created by an individual user. |
expiry_duration_sec | int64 | The duration, in seconds, before the incentive expires. |
Inventory #
Property | Type | Description |
---|---|---|
items | string:Item | A map of all items. |
limits | ConfigLimits | Any limits to the quantity of items a user can hold from specific Categories or Item Sets. |
Config Limits #
Property | Type | Description |
---|---|---|
categories | string:int64 | A map of Categories to the maximum quantity of items a user can hold from the specified Category. |
item_sets | string:int64 | A map of Item Sets to the maximum quantity of items a user can hold from the specified Item Set. |
Item #
Property | Type | Description |
---|---|---|
name | string | The name for this item. |
description | string | The description for this item. |
category | string | The category for this item. |
item_sets | []string | An array of values that indicate which item sets this item belongs to. |
max_count | int64 | The maximum number of this item a user can own. |
stackable | bool | Whether this item can stack. |
consumable | bool | Whether this item can be consumed. |
consume_reward | Reward | The rewards that a user can or will receive for consuming the item. |
string_properties | string:string | A map of string values that define item specific metadata. |
numeric_properties | string:float64 | A map of numberic values that define item specific metadata. |
disabled | bool | Used to disable this item without removing it from the data definition. |
keep_zero | bool | Used to make this item stay in a user’s inventory, even when there are none left. Useful for displaying certain items that have been aquired, regardless of whether the user still has any. |
Leaderboards #
Property | Type | Description |
---|---|---|
leaderboards | []Leaderboard | An array of all leaderboards. |
Leaderboard #
Property | Type | Description |
---|---|---|
id | string | The id of this leaderboard. |
sort_order | string | The leaderboard sort type (e.g. asc or desc ). |
operator | string | The leaderboard operation (e.g. set , best , incr , or decr ). |
reset_schedule | string | The reset schedule in CRON format. |
authoritative | bool | Whether scores must be submit to this leaderboard authoritatively. |
regions | []string | The available regions for the leaderboard. |
Progression #
Property | Type | Description |
---|---|---|
progressions | string:Progression | A map of all progressions. |
Progression #
Property | Type | Description |
---|---|---|
name | string | The name of this progression. |
description | string | The description for this progression. |
category | string | The category for the progression. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
preconditions | PreconditionsBlock | The requirements for this progression. |
reset_schedule | string | The reset schedule in CRON format. |
Preconditions Block #
Property | Type | Description |
---|---|---|
direct | Preconditions | An object containing the direct progression preconditions. |
operator | enum | The operator (AND = 1, OR = 2, XOR = 3, NOT = 4) that determines how the Direct and Nested blocks should be evaluated. |
nested | PreconditionsBlock | A nested preconditions block, evaluated against the specified operator . |
Preconditions #
Property | Type | Description |
---|---|---|
counts | string:int64 | A map of progression IDs and counts that must be met. |
cost | ProgressionCost | What must be spent to unlock this progression. |
progressions | []string | Progression IDs that must be met. |
achievements | []string | Achievement IDs that must be met. |
items_min | string:int64 | A map of item IDs and minimum counts that must be met. |
items_max | string:int64 | A map of item IDs and maximum counts that must be met. |
stats_min | string:int64 | A map of stat IDs and minimum counts that must be met. |
stats_max | string:int64 | A map of stat IDs and maximum counts that must be met. |
energy_min | string:int64 | A map of energy IDs and minimum counts that must be met. |
energy_max | string:int64 | A map of energy IDs and maximum counts that must be met. |
currency_min | string:int64 | A map of currency IDs and minimum counts that must be met. |
currency_max | string:int64 | A map of currency IDs and maximum counts that must be met. |
Progression Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities to be donated. |
currencies | string:int64 | A map of currency IDs and quantities to be donated. |
Stats #
Property | Type | Description |
---|---|---|
whitelist | []string | An array of whitelisted stat names. |
Streaks #
Property | Type | Description |
---|---|---|
streaks | string:Streak | A map of all streaks. |
Streak #
Property | Type | Description |
---|---|---|
name | string | The name of this streak. |
description | string | The description of this streak. |
count | int64 | The current/starting count of this streak. |
max_count | int64 | The maximum count this streak can achieve. |
max_count_current_reset | int64 | The maximum count this streak can be submitted in the same reset interval. |
idle_count_decay_reset | int64 | The amount of count that will be decreased if no count is submitted in the reset interval. |
max_idle_count_decay | int64 | The maximum amount of count that can be decreased if no count is submitted over consecutive reset intervals. |
reset_cronexpr | string | The reset interval in CRON format. |
rewards | StreakReward | The rewards a user should receive once they complete certain streak checkpoints. |
start_time_sec | int64 | The start time (as a UNIX timestamp) of this streak. |
end_time_sec | int64 | The end time (as a UNIX timestamp) of this streak. |
disabled | bool | Used to disable this streak without removing it from the data definition. |
Streak Reward #
Property | Type | Description |
---|---|---|
count_min | int64 | The minimum count to receive this reward. |
count_max | int64 | The maximum count to receive this reward. |
reward | Reward | The rewards a user should receive at each count between count_min and count_max . |
Teams #
Property | Type | Description |
---|---|---|
max_team_size | int | The maximum number of members for a team. |
Tutorials #
Property | Type | Description |
---|---|---|
tutorials | string:Tutorial | A map of all tutorials. |
Tutorial #
Property | Type | Description |
---|---|---|
start_step | int | The initial step for this tutorial. |
max_step | int | The maximum step for this tutorial. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Unlockables #
Property | Type | Description |
---|---|---|
active_slots | int | The number of active slots, if any, that each user starts with. |
max_active_slots | int | The maximum number of slots a user can have active at any time. |
slots | int | The total number of slots, active and inactive, a player can have. |
slot_cost | SlotCost | The cost to purchase additional active slots. |
unlockables | string:Unlockable | A map of all unlockables. |
Slot Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities to be spent when purchasing additional active slots. |
currencies | string:int64 | A map of currency IDs and quantities to be spent when purchasing additional active slots. |
Unlockable #
Property | Type | Description |
---|---|---|
probability | int | Indicates the likelihood that this unlockable item is the one received by the user. |
category | string | The category, if any, of this unlockable. |
cost | UnlockableCost | The cost to advance the wait time by one unit of time, defined in cost_unit_time_sec . |
cost_unit_time_sec | int | The amount of time to be advanced on wait_time_sec for each cost purchase. |
description | string | The description of this unlockable. |
name | string | The name of this unlockable. |
start_cost | UnlockableStartCost | The cost to begin unlocking this unlockable. |
reward | Reward | The rewards that the player should receive after unlocking this unlockable. |
wait_time_sec | int | The total time (in seconds) a player must wait before this item in unlocked. |
additional_properties | string:string | A map of key value pairs that can contain additional context. |
Unlockable Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities to advance this unlockable’s wait time by one unit of time. |
currencies | string:int64 | A map of currency IDs and quantities to advance this unlockable’s wait time by one unit of time. |
Unlockable Start Cost #
Property | Type | Description |
---|---|---|
items | string:int64 | A map of item IDs and quantities to begin unlocking this unlockable. |
currencies | string:int64 | A map of currency IDs and quantities to begin unlocking this unlockable. |