docs.unity3d.com
    Show / Hide Table of Contents

    Class PlayerBalances

    The PlayerBalances methods provide access to the current player's balances, and allow you to update them.

    Inheritance
    Object
    PlayerBalances
    Namespace: Unity.Services.Economy
    Syntax
    public class PlayerBalances : object

    Methods

    DecrementBalanceAsync(String, Int32, PlayerBalances.DecrementBalanceOptions)

    Decrements the balance of the specified currency for the currently logged in user.

    This method optionally takes a writeLock string. If provided, then an exception will be thrown unless the writeLock matches the writeLock received by a previous read, in order to provide optimistic concurrency. If not provided, the transaction will proceed regardless of any existing writeLock in the data. Throws a EconomyException with a reason code and explanation if the request is badly formed, unauthorized or uses a missing resource.

    Declaration
    public Task<PlayerBalance> DecrementBalanceAsync(string currencyId, int amount, PlayerBalances.DecrementBalanceOptions options = null)
    Parameters
    Type Name Description
    String currencyId

    The currency ID to update

    Int32 amount

    The amount to decrement by

    PlayerBalances.DecrementBalanceOptions options

    (Optional) Use to set a write lock for optimistic concurrency

    Returns
    Type Description
    Task<PlayerBalance>

    The updated player balance for the relevant currency.

    Exceptions
    Type Condition
    EconomyException

    Thrown if request is unsuccessful

    GetBalancesAsync(PlayerBalances.GetBalancesOptions)

    Gets the current balances for the currently signed in player. The balances are available on the returned object using the

    Balances
    property. The results are paginated - the first set of results are initially returned, and more can be requested with the
    GetNextAsync
    method. The
    HasNext
    property indicates whether there are more results to be returned. Throws a EconomyException with a reason code and explanation if the request is badly formed, unauthorized or uses a missing resource.
    Declaration
    public Task<GetBalancesResult> GetBalancesAsync(PlayerBalances.GetBalancesOptions options = null)
    Parameters
    Type Name Description
    PlayerBalances.GetBalancesOptions options

    (Optional) Use to set the number of items to fetch per call.

    Returns
    Type Description
    Task<GetBalancesResult>

    A GetBalancesResult object, with properties as specified above.

    Exceptions
    Type Condition
    EconomyException

    Thrown if request is unsuccessful

    IncrementBalanceAsync(String, Int32, PlayerBalances.IncrementBalanceOptions)

    Increments the balance of the specified currency for the currently logged in user.

    This method optionally takes a writeLock string. If provided, then an exception will be thrown unless the writeLock matches the writeLock received by a previous read, in order to provide optomistic concurrency. If not provided, the transaction will proceed regardless of any existing writeLock in the data. Throws a EconomyException with a reason code and explanation if the request is badly formed, unauthorized or uses a missing resource.

    Declaration
    public Task<PlayerBalance> IncrementBalanceAsync(string currencyId, int amount, PlayerBalances.IncrementBalanceOptions options = null)
    Parameters
    Type Name Description
    String currencyId

    The currency ID to update

    Int32 amount

    The amount to increment by

    PlayerBalances.IncrementBalanceOptions options

    (Optional) Use to set a write lock for optimistic concurrency

    Returns
    Type Description
    Task<PlayerBalance>

    The updated player balance for the relevant currency.

    Exceptions
    Type Condition
    EconomyException

    Thrown if request is unsuccessful

    SetBalanceAsync(String, Int64, PlayerBalances.SetBalanceOptions)

    Sets the balance of the specified currency for the currently logged in user. Will throw an exception if the currency doesn't exist, or if the set amount will take the balance above/below the maximum/minimum allowed for that currency.

    This method optionally takes a writeLock string. If provided, then an exception will be thrown unless the writeLock matches the writeLock received by a previous read, in order to provide optimistic concurrency. If not provided, the transaction will proceed regardless of any existing writeLock in the data. Throws a EconomyException with a reason code and explanation if the request is badly formed, unauthorized or uses a missing resource.

    Declaration
    public Task<PlayerBalance> SetBalanceAsync(string currencyId, long balance, PlayerBalances.SetBalanceOptions options = null)
    Parameters
    Type Name Description
    String currencyId

    The currency ID to update

    Int64 balance

    The amount to set the balance to

    PlayerBalances.SetBalanceOptions options

    (Optional) Used to set a write lock for optimistic concurrency

    Returns
    Type Description
    Task<PlayerBalance>

    The updated player balance for the relevant currency.

    Exceptions
    Type Condition
    EconomyException

    Thrown if request is unsuccessful

    Events

    BalanceUpdated

    Fires when the SDK updates a player's balance. The called action will be passed the currency ID that was updated.

    Note that this will NOT fire for balance changes from elsewhere not in this instance of the SDK, for example other server-side updates or updates from other devices.

    Declaration
    public event Action<string> BalanceUpdated
    Event Type
    Type Description
    Action<String>
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023