docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IEconomyPlayerBalancesApiClient

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

    Namespace: Unity.Services.Economy
    Assembly: Unity.Services.Economy.dll
    Syntax
    public interface IEconomyPlayerBalancesApiClient

    Methods

    DecrementBalanceAsync(string, int, 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
    Task<PlayerBalance> DecrementBalanceAsync(string currencyId, int amount, DecrementBalanceOptions options = null)
    Parameters
    Type Name Description
    string currencyId

    The currency ID to update

    int amount

    The amount to decrement by

    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

    EconomyValidationException

    Thrown if the service returned validation error.

    EconomyRateLimitedException

    Thrown if the service returned rate limited error.

    GetBalancesAsync(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
    Task<GetBalancesResult> GetBalancesAsync(GetBalancesOptions options = null)
    Parameters
    Type Name Description
    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

    EconomyRateLimitedException

    Thrown if the service returned rate limited error.

    IncrementBalanceAsync(string, int, 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
    Task<PlayerBalance> IncrementBalanceAsync(string currencyId, int amount, IncrementBalanceOptions options = null)
    Parameters
    Type Name Description
    string currencyId

    The currency ID to update

    int amount

    The amount to increment by

    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

    EconomyValidationException

    Thrown if the service returned validation error.

    EconomyRateLimitedException

    Thrown if the service returned rate limited error.

    SetBalanceAsync(string, long, 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
    Task<PlayerBalance> SetBalanceAsync(string currencyId, long balance, SetBalanceOptions options = null)
    Parameters
    Type Name Description
    string currencyId

    The currency ID to update

    long balance

    The amount to set the balance to

    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

    EconomyValidationException

    Thrown if the service returned validation error.

    EconomyRateLimitedException

    Thrown if the service returned rate limited error.

    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
    event Action<string> BalanceUpdated
    Event Type
    Type Description
    Action<string>
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)