文档

支持

Economy

Economy

购买

Use the SDK to make virtual purchases and redeem real money purchases.
阅读时间5 分钟最后更新于 1 个月前

通过
Purchases
命名空间中的方法,您可以作为当前登录的用户进行购买。

MakeVirtualPurchaseAsync

进行 ID 指定的虚拟购买。 此方法可采用
MakeVirtualPurchaseOptions
对象。可用于指定玩家背包中应用作购买成本的物品的
PlayersInventoryItems
ID。如果这些未提供,系统将自动选择用作购买成本的物品。
返回
MakeVirtualPurchaseResult
示例:
string purchaseID = "BUY_A_SWORD";MakeVirtualPurchaseResult purchaseResult = await EconomyService.Instance.Purchases.MakeVirtualPurchaseAsync(purchaseID);
使用
PlayersInventoryItem
ID 的另一示例:
string purchaseID = "BUY_A_SWORD";MakeVirtualPurchaseOptions options = new MakeVirtualPurchaseOptions{ PlayersInventoryItemIds = new List<string> { "playersInventoryItemId1", "playersInventoryItemId2" }};MakeVirtualPurchaseResult purchaseResult = await EconomyService.Instance.Purchases.MakeVirtualPurchaseAsync(purchaseID, options);

MakeVirtualPurchaseOptions

MakeVirtualPurchaseAsync
调用的选项对象。它有以下字段:
  • PlayersInventoryItemIds
    : 字符串列表。默认为
    null
    。玩家背包中要用作购买成本的物品的
    PlayersInventoryItem
    ID。

MakeVirtualPurchaseResult

MakeVirtualPurchaseAsync
调用返回该对象。它包含以下字段:
  • Costs
    Costs
    对象代表此次购买花费的成本。这又包含两个字段:
  • Rewards
    Rewards
    对象代表此次购买所得的内容。和以上对象一样,也包含两个字段:

RedeemAppleAppStorePurchaseAsync

通过提交来自 Apple App Store 的收据来兑换进行真实货币购买的所得内容。如果购买经验证有效,将根据配置中定义的所得内容,将所得内容应用于玩家的背包和货币余额。 必须采用
RedeemAppleAppStorePurchaseArgs
对象。它用于提供购买细节。
RedeemAppleAppStorePurchaseArgs args = new RedeemAppleAppStorePurchaseArgs("PURCHASE_ID", "RECEIPT_FROM_APP_STORE", 0, "USD");RedeemAppleAppStorePurchaseResult purchaseResult = await EconomyService.Instance.RedeemAppleAppStorePurchaseAsync(args);

RedeemAppleAppStorePurchaseArgs

用于
RedeemAppleAppStorePurchaseAsync
调用的参数对象。它包含以下字段:
  • RealMoneyPurchaseId
    :字符串。要进行的购买的配置 ID。
  • Receipt
    :字符串。从 Apple App Store 中返回的收据数据。
  • LocalCost
    :整数。以整数表示货币中含小数的购买费用,例如,1.99 美元就是 199。
  • LocalCurrency
    :字符串。购买中使用的货币的 ISO-4217 代码。

RedeemAppleAppStorePurchaseResult

RedeemAppleAppStorePurchaseAsync
调用返回该对象。它包含以下字段:
  • Verification
    :从验证服务返回的收据验证细节。
    • Status
      :收据验证的状态。为以下某一种:
      • VALID
        :购买有效。
      • VALID_NOT_REDEEMED
        :购买有效,之前可见,但尚未兑换。
      • INVALID_ALREADY_REDEEMED
        :购买已兑换。
      • INVALID_VERIFICATION_FAILED
        :收据验证服务返回的结果是收据数据无效。
      • INVALID_ANOTHER_PLAYER
        :该收据之前已被另一玩家使用并验证过。
      • INVALID_CONFIGURATION
        :服务配置无效,更多信息请参见响应的细节部分。
      • INVALID_PRODUCT_ID_MISMATCH
        :购买配置商店商品标识符与收据中的信息不符。
    • Store
      :来自收据验证服务的细节。这包含三个字段:
      • Code
        :从 Apple App Store 验证服务返回的状态代码。
      • Message
        :返回的状态代码的文本描述。
      • Receipt
        :购买的收据数据。
  • Rewards
    Rewards
    对象代表此次购买所得的内容。它包含以下字段:

EconomyAppleAppStorePurchaseFailedException

RedeemAppleAppStorePurchaseAsync
可能抛出
EconomyAppleAppStorePurchaseFailedException
类型的异常。它继承自
EconomyException
,并包含一个额外的字段
Data
Data
字段的类型是
RedeemAppleAppStorePurchaseResult
(参见上文)。

RedeemGooglePlayPurchaseAsync

通过提交来自 Google Play 应用商店的收据来兑换进行真实货币购买的所得内容。如果购买经验证有效,将根据配置中定义的所得内容,将所得内容应用于玩家的背包和货币余额。 必须采用
RedeemGooglePlayStorePurchaseArgs
对象。它用于提供购买细节。
RedeemGooglePlayStorePurchaseArgs args = new RedeemGooglePlayStorePurchaseArgs("PURCHASE_ID", "PURCHASE_DATA", "PURCHASE_DATA_SIGNATURE", 0, "USD");RedeemGooglePlayPurchaseResult purchaseResult = await EconomyService.Instance.RedeemGooglePlayPurchaseAsync(args);

RedeemGooglePlayStorePurchaseArgs

用于
RedeemGooglePlayPurchaseAsync
调用的参数对象。它包含以下字段:
  • RealMoneyPurchaseId
    :字符串。要进行的购买的配置 ID。
  • PurchaseData
    :字符串。成功进行应用内结算购买后所返回的 JSON 编码字符串。
  • PurchaseDataSignature
    :字符串。成功进行应用内结算购买后所返回的
    PurchaseData
    的签名。
  • LocalCost
    :整数。以整数表示货币中含小数的购买费用,例如,1.99 美元就是 199。
  • LocalCurrency
    :字符串。购买中使用的货币的 ISO-4217 代码。

RedeemGooglePlayPurchaseResult

RedeemGooglePlayPurchaseAsync
调用返回该对象。它包含以下字段:
  • Verification
    :从验证服务返回的收据验证细节。
    • Status
      :收据验证的状态。为以下某一种:
      • VALID
        :购买有效。
      • VALID_NOT_REDEEMED
        :购买有效,之前可见,但尚未兑换。
      • INVALID_ALREADY_REDEEMED
        :购买已兑换。
      • INVALID_VERIFICATION_FAILED
        :收据验证服务返回的结果是收据数据无效。
      • INVALID_ANOTHER_PLAYER
        :该收据之前已被另一玩家使用并验证过。
      • INVALID_CONFIGURATION
        :服务配置无效,更多信息请参见响应的细节部分。
      • INVALID_PRODUCT_ID_MISMATCH
        :购买配置商店商品标识符与收据中的信息不符。
    • Store
      :来自收据验证服务的细节。它包含一个字段:
      • Receipt
        :购买的收据数据。
  • Rewards
    Rewards
    对象代表此次购买所得的内容。它包含以下字段:

EconomyGooglePlayStorePurchaseFailedException

RedeemGooglePlayPurchaseAsync
可能抛出
EconomyGooglePlayStorePurchaseFailedException
类型的异常。它继承自
EconomyException
,并包含一个额外的字段
Data
Data
字段的类型是
RedeemGooglePlayPurchaseResult
(参见上文)。

CurrencyExchangeItem

该对象代表购买中涉及的某种货币。它包含以下字段:
  • Id
    :货币的 ID。
  • Amount
    :购买时使用的该货币的数量。

InventoryExchangeItem

该对象表示购买中涉及的背包物品。它包含以下字段:
  • Id
    :货币的 ID。
  • Amount
    :购买中使用/所得的该背包物品的数量。
  • InstanceIds
    :购买中使用/所得的实例的 ID 列表。