Economy #

Read more about the Economy system in Hiro here.

Donation claim #

Claim one or more rewards which are partially or full donated by other players.

1
2
3
4
5
var request = EconomyDonationClaimRequest();
request.donation_ids = ["donation_1", "donation_2"];

var donation_rewards = await hiro.economyDonationClaim(session!, request);
print(donation_rewards);

Donate some resource (currencies, items, etc.) to a user by donation ID.

1
2
3
4
5
6
var request = EconomyDonationGiveRequest();
request.user_id = "user_id";
request.donation_id = "donation_1";

var update_ack = await hiro.economyDonationGive(session!, request);
print(update_ack);

Get donation progress #

Get progress on one or more donations for a set of players by their IDs.

1
2
3
4
5
var request = EconomyDonationGetRequest();
request.ids = ["donation_1", "donation_2"];

var donations = await hiro.economyDonationGet(session!, request);
print(donations);

Request a donation #

Request a donation which other players can contribute into.

1
2
3
4
5
var request = EconomyDonationRequest();
request.id = "donation_1";

var donation_ack = await hiro.economyDonationRequest(session!, request);
print(donation_ack);

Get store items #

Get all store items defined in the Virtual Store.

1
2
3
4
5
var request = EconomyListRequest();
request.store_type = EconomyStoreType.AppleAppstore;

var economy_list = await hiro.economyStoreGet(session!, request);
print(economy_list);

Grant currencies or reward modifiers #

Grant one or more currencies or reward modifiers to te player.

1
2
3
4
5
6
7
var request = EconomyGrantRequest();
request.currencies = {
    "coins": "100"
};

var update_ack = await hiro.economyGrant(session!, request);
print(update_ack);

Store Types #

Currently supported Store Types for purchases:

  • EconomyStoreType.AppleAppstore
  • EconomyStoreType.GooglePlay
  • EconomyStoreType.Fbinstant
  • EconomyStoreType.Discord

Send a purchase intent #

Send a marker of intent to purchase by the player.

1
2
3
4
5
6
var request = EconomyPurchaseIntentRequest();
request.item_id = "item_1";
request.store_type = EconomyStoreType.AppleAppstore;
request.sku = "sku_1";

await hiro.economyPurchaseIntent(session!, request);

Purchase a store item #

Purchase a store item by the player.

1
2
3
4
5
6
7
var request = EconomyPurchaseRequest();
request.item_id = "item_1";
request.store_type = EconomyStoreType.AppleAppstore;
request.receipt = "<receipt>";

var purchase_ack = await hiro.economyPurchaseItem(session!, request);
print(purchase_ack);

Get ad placement status #

Get the current status on an Ad placement which may have been rewarded.

1
2
3
4
5
6
7
var request = EconomyPlacementStatusRequest();
request.reward_id = "reward_1";
request.placement_id = "placement_1";
request.count = 0;

var placement_status = await hiro.economyPlacementStatus(session!, request);
print(placement_status);

Start a new ad placement #

Start a new Ad placement by placement ID.

1
2
3
4
5
var request = EconomyPlacementStartRequest();
request.placement_id = "placement_1";

var placement_status = await hiro.economyPlacementStart(session!, request);
print(placement_status);

Placement success #

Webhook RPC to handle Rewarded Video Ad placement success callbacks.

1
await hiro.economyPlacementSuccess(session!);

Placement fail #

Webhook RPC to handle Rewarded Video Ad placement failure callbacks.

1
hiro.economyPlacementFail(session!);