文档

支持

Economy

Economy

购买

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

通过
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 列表。