ドキュメント

サポート

Economy

Economy

設定

Retrieve your Economy configuration using the Configuration namespace.
読み終わるまでの所要時間 3 分最終更新 21日前

Configuration
名前空間のメソッドを使用すると、グローバル Economy 設定からアイテムを取得できます。
SyncConfigurationAsync()
は、Economy 設定の最新バージョンをキャッシュします。この後で、
GetCurrencies()
のようなメソッドを呼び出すと、キャッシュから設定を読み取ることができます。新しい設定を公開する場合は、
SyncConfigurationAsync()
を再び呼び出してキャッシュを更新する必要があります。

SyncConfigurationAsync

現在公開されている Economy 設定を取得し、SDK にキャッシュします。他の設定メソッド (例えば
GetCurrencies()
) を呼び出す前にこのメソッドを呼び出す必要があります。そうしないと、例外がスローされます。
await EconomyService.Instance.Configuration.SyncConfigurationAsync();

通貨

GetCurrencies

キャッシュした設定からすべての通貨を取得します。
CurrencyDefinition
オブジェクトのリストを返します。
List<CurrencyDefinition> definitions = EconomyService.Instance.Configuration.GetCurrencies();

GetCurrency

キャッシュした設定から、通貨 ID を使用して特定の
CurrencyDefinition
を取得します。通貨が存在しない場合は、
null
を返します。
string currencyID = "GOLD_BARS";CurrencyDefinition goldCurrencyDefinition = EconomyService.Instance.Configuration.GetCurrency(currencyID);

CurrencyDefinition

CurrencyDefinition
オブジェクトは 1 つの通貨設定を表し、以下のデータを含みます。
  • Id
    : 通貨 ID。
  • Name
    : 人間が判読できる通貨名。
  • Type
    : Economy ダッシュボードで定義されているアイテムの種類 (すべての
    CurrencyDefinition
    オブジェクトでこれは
    CURRENCY
    です)。
  • Initial
    : プレイヤーに最初に与えられる通貨の金額。
  • Max
    : (任意。値 0 は最大値なし) プレイヤーが所有できる通貨の最大金額。
  • CustomData
    :
    Dictionary<string, object>
    として、この通貨定義に関連付けられているカスタムデータ (CustomDataDeserializable の使用 を参照してください)。
  • Created
    : この通貨が作成された日付。これは EconomyDate オブジェクトです。
  • Modified
    : この通貨が変更された日付。これは EconomyDate オブジェクトです。
また、以下の便利なメソッドもあります。

GetPlayerBalance

このメソッドは、
CurrencyDefinition
に指定されている通貨について、現在サインインしているプレイヤーの残高を取得します。これは、プレイヤーの残高 に指定されている
PlayerBalance
を返します。
string currencyID = "GOLD_BARS";CurrencyDefinition goldCurrencyDefinition = EconomyService.Instance.Configuration.GetCurrency(currencyID);PlayerBalance playersGoldBarBalance = await goldCurrencyDefinition.GetPlayerBalanceAsync();

インベントリ

GetInventoryItems

キャッシュした設定からすべてのインベントリアイテムを取得します。
InventoryItemDefinition
オブジェクトのリストを返します。
List<InventoryItemDefinition> definitions = EconomyService.Instance.Configuration.GetInventoryItems();

GetInventoryItem

キャッシュした設定から、アイテム ID を使用して特定の
InventoryItemDefinition
を取得します。アイテムが存在しない場合は、
null
を返します。
string itemID = "SWORD";InventoryItemDefinition definition = EconomyService.Instance.Configuration.GetInventoryItem(itemID);

InventoryItemDefinition

InventoryItemDefinition
オブジェクトは 1 つのインベントリアイテム設定を表し、以下のデータを含みます。
  • Id
    : インベントリアイテム ID。
  • Name
    : 人間が判読できる名前。
  • Type
    : Economy ダッシュボードで定義されているアイテムの種類 (すべての
    InventoryItemDefinition
    オブジェクトでこれは
    INVENTORY_ITEM
    です)。
  • CustomData
    :
    Dictionary<string, object>
    として、このアイテム定義に関連付けられているカスタムデータ (CustomDataDeserializable の使用 を参照してください)。
  • Created
    : このアイテムが作成された日付。これは EconomyDate オブジェクトです。
  • Modified
    : このアイテムが変更された日付。これは EconomyDate オブジェクトです。
また、以下のヘルパーメソッドがあります。

GetAllPlayersInventoryItems

現在サインインしているプレイヤーについて、プレイヤーのインベントリアイテムすべてを取得します。プレイヤーのインベントリ に定義されている
GetInventoryResult
を返します。
string itemID = "SWORD";InventoryItemDefinition definition = EconomyService.Instance.Configuration.GetInventoryItem(itemID);GetInventoryResult allThePlayersSwords = await definition.GetAllPlayersInventoryItemsAsync();

購入

仮想購入

GetVirtualPurchases

キャッシュした設定からすべての仮想購入を取得します。
VirtualPurchaseDefinition
オブジェクトのリストを返します。
List<VirtualPurchaseDefinition> definitions = EconomyService.Instance.Configuration.GetVirtualPurchases();

GetVirtualPurchase

キャッシュした設定から 1 つの仮想購入を取得します。1 つの
VirtualPurchaseDefinition
オブジェクトを返します。
string purchaseId = "VIRTUAL_PURCHASE_ID"VirtualPurchaseDefinition definition = EconomyService.Instance.Configuration.GetVirtualPurchase(purchaseId);

VirtualPurchaseDefinition

VirtualPurchaseDefinition
オブジェクトは、設定における仮想購入の定義を表します。これは、以下に示すいくつかのコンポーネントオブジェクトで構成されています。
VirtualPurchaseDefinition
には以下のフィールドがあります。
  • Id
    : 購入定義 ID。
  • Name
    : 人間が判読できる名前。
  • Type
    : Economy ダッシュボードで定義されているアイテムの種類 (すべての
    VirtualPurchaseDefinition
    オブジェクトでこれは
    VIRTUAL_PURCHASE
    です)。
  • CustomData
    :
    Dictionary<string, object>
    として、この購入定義に関連付けられているカスタムデータ (CustomDataDeserializable の使用 を参照してください)。
  • CustomDataDeserializable
    :
    IDeserializable
    として、この購入定義に関連付けられているカスタムデータ (CustomDataDeserializable の使用 を参照してください)。
  • Created
    : この購入定義が作成された日付。これは EconomyDate オブジェクトです。
  • Modified
    : この購入定義が変更された日付。これは EconomyDate オブジェクトです。
  • Costs
    :
    PurchaseItemQuantity
    として、この購入に関連付けられているコストのリスト。
  • Rewards
    :
    PurchaseItemQuantity
    として、この購入に関連付けられているゲーム内報酬のリスト。

リアルマネーでの購入

GetRealMoneyPurchases

キャッシュした設定からリアルマネーでの購入をすべて取得します。
RealMoneyPurchaseDefinition
オブジェクトのリストを返します。
List<RealMoneyPurchaseDefinition> definitions = EconomyService.Instance.Configuration.GetRealMoneyPurchases();

GetRealMoneyPurchase

キャッシュした設定から 1 つのリアルマネーでの購入を取得します。1 つの
RealMoneyPurchaseDefinition
オブジェクトを返します。
string purchaseId = "REAL_MONEY_PURCHASE_ID"RealMoneyPurchaseDefinition definition = EconomyService.Instance.Configuration.GetRealMoneyPurchase(purchaseId);

RealMoneyPurchaseDefinition

RealMoneyPurchaseDefinition
オブジェクトは、設定におけるリアルマネーでの購入の定義を表します。これは、以下に示すいくつかのコンポーネントオブジェクトで構成されています。
RealMoneyPurchaseDefinition
には以下のフィールドがあります。
  • Id
    : 購入定義 ID。
  • Name
    : 人間が判読できる名前。
  • Type
    : Economy ダッシュボードで定義されているアイテムの種類 (すべての
    RealMoneyPurchaseDefinition
    オブジェクトでこれは
    MONEY_PURCHASE
    です)。
  • CustomData
    :
    Dictionary<string, object>
    として、この購入定義に関連付けられているカスタムデータ (CustomDataDeserializable の使用 を参照してください)。
  • Created
    : この購入定義が作成された日付。これは EconomyDate オブジェクトです。
  • Modified
    : この購入定義が変更された日付。これは EconomyDate オブジェクトです。
  • StoreIdentifiers
    : この購入のストア識別子。これは StoreIdentifiers オブジェクトです。
  • Rewards
    :
    PurchaseItemQuantity
    として、この購入に関連付けられているゲーム内報酬のリスト。

StoreIdentifiers

StoreIdentifers
オブジェクトには、Google と Apple 両方のストア識別子が含まれます。Unity Dashboard の Store connection (ストア接続) のステップで購入を作成するときにこれらが設定されます。Unity Dashboard で購入をクリックして Store connection (ストア接続) にスクロールダウンすると、これらを編集できます。

PurchaseItemQuantity

PurchaseItemQuantity
は、購入に関連付けられている通貨の金額/インベントリアイテム数を表します。それぞれが 1 つの通貨/インベントリアイテムタイプ (例えば、4 本の剣、10 ゴールド) に関連します。これには以下のフィールドがあります。
  • Item
    : この数量によって表されるアイテム定義を示す
    EconomyReference
  • Amount
    : 表されるアイテムの数量 (整数)。

EconomyReference

EconomyReference
は、購入内からもう 1 つの定義へのリファレンスです。これには 1 つのメソッドがあります。
  • GetReferencedConfigurationItem()
    は、関連付けられているアイテムをフェッチします。
この方法でのリファレンスアイテムの取得は、さらにネットワークリクエストをする必要ないため、同期して行われます。購入が取得された時点でのリファレンスアイテムが取得されます (購入をフェッチしてから、このリファレンスにアクセスするまでに定義に対して変更が行われたとしても、リファレンスアイテムに反映されません)。

CustomDataDeserializable の使用

カスタムデータは Unity Dashboard で設定されます。通貨、インベントリアイテム、または購入を選択し、Custom data (カスタムデータ) に移動して、データを JSON 形式で追加します。 カスタムデータは、フェッチされた設定アイテムの
CustomDataDeserializable
に格納されます。タイプは
IDeserializable
です。これを使用すると、アイテムのカスタムデータを独自のカスタムクラスにデシリアライズできます。
例えば、色で希少性を表すシステムがゲームにある場合、アイテムの JSON コードはダッシュボードで以下のようになります。
{ "rarity": "purple"}
以下を使用してインスタンスデータをデシリアライズできます。
class MyCustomData{ public string Rarity}MyCustomData fetchedCustomData = fetchedConfigItem.CustomDataDeserializable.GetAs<MyCustomData>();string rarity = fetchedCustomData.Rarity;