Interface IPlayerDataService
Namespace: Unity.Services.CloudSave.Internal
Assembly: Unity.Services.CloudSave.dll
Syntax
public interface IPlayerDataService
Methods
DeleteAllAsync()
Removes all keys for the player without write lock validation. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task DeleteAllAsync()
Returns
Type | Description |
---|---|
Task |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
DeleteAllAsync(DeleteAllOptions)
Removes all keys for the player without write lock validation. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task DeleteAllAsync(DeleteAllOptions options)
Parameters
Type | Name | Description |
---|---|---|
DeleteAllOptions | options | Options to modify the behavior of the method, specifying AccessClass and PlayerId |
Returns
Type | Description |
---|---|
Task |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
DeleteAsync(string, DeleteOptions)
Removes one key at a time, with optional write lock validation. If the given key doesn't exist, there is no feedback in place to inform a developer about it. If a write lock is provided and it does not match with the existing write lock, will throw a conflict exception. There is no client validation on the arguments for this method. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
[Obsolete("The interface provided by CloudSaveService.Instance.Data.Player.DeleteAsync(string key, Unity.Services.CloudSave.DeleteOptions deleteOptions) has been replaced by CloudSaveService.Instance.Data.Player.DeleteAsync(string key, Unity.Services.CloudSave.Models.Data.Player.DeleteOptions options), and should be accessed from there instead. This API will be removed in an upcoming release.", false)]
Task DeleteAsync(string key, DeleteOptions deleteOptions = null)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key to be removed from the server |
DeleteOptions | deleteOptions | The optional options object for specifying the write lock to check conflict in the server |
Returns
Type | Description |
---|---|
Task |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
CloudSaveConflictException | Thrown if the service returned write lock conflict error. |
DeleteAsync(string, DeleteOptions)
Removes one key at a time, with optional write lock validation. If the given key doesn't exist, there is no feedback in place to inform a developer about it. If a write lock is provided and it does not match with the existing write lock, will throw a conflict exception. There is no client validation on the arguments for this method. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task DeleteAsync(string key, DeleteOptions options)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key to be removed from the server |
DeleteOptions | options | The optional options object for specifying the write lock to check conflict in the server, as well as AccessClass |
Returns
Type | Description |
---|---|
Task |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
CloudSaveConflictException | Thrown if the service returned write lock conflict error. |
ListAllKeysAsync()
Returns all keys stored in Cloud Save for the logged in player. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<List<ItemKey>> ListAllKeysAsync()
Returns
Type | Description |
---|---|
Task<List<ItemKey>> | A list of keys and their metadata as stored in the server for the logged in player. |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
ListAllKeysAsync(ListAllKeysOptions)
Returns all keys stored in Cloud Save for the logged in player. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<List<ItemKey>> ListAllKeysAsync(ListAllKeysOptions options)
Parameters
Type | Name | Description |
---|---|---|
ListAllKeysOptions | options | Options to modify the behavior of the method, specifying AccessClass and PlayerId |
Returns
Type | Description |
---|---|
Task<List<ItemKey>> | A list of keys and their metadata as stored in the server for the logged in player. |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
LoadAllAsync()
Downloads data from Cloud Save for all keys. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<Dictionary<string, Item>> LoadAllAsync()
Returns
Type | Description |
---|---|
Task<Dictionary<string, Item>> | The dictionary of all key-value pairs that represents the current state of data on the server including their write locks |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
LoadAllAsync(LoadAllOptions)
Downloads data from Cloud Save for all keys. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<Dictionary<string, Item>> LoadAllAsync(LoadAllOptions options)
Parameters
Type | Name | Description |
---|---|---|
LoadAllOptions | options | Options to modify the behavior of the method, specifying AccessClass and PlayerId |
Returns
Type | Description |
---|---|
Task<Dictionary<string, Item>> | The dictionary of all key-value pairs that represents the current state of data on the server including their write locks |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
LoadAsync(ISet<string>)
Downloads data from Cloud Save for the keys provided. There is no client validation in place for the provided keys. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<Dictionary<string, Item>> LoadAsync(ISet<string> keys)
Parameters
Type | Name | Description |
---|---|---|
ISet<string> | keys | The optional set of keys to load data for |
Returns
Type | Description |
---|---|
Task<Dictionary<string, Item>> | The dictionary of all key-value pairs that represents the current state of data on the server including their write locks |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
LoadAsync(ISet<string>, LoadOptions)
Downloads data from Cloud Save for the keys provided. There is no client validation in place for the provided keys. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<Dictionary<string, Item>> LoadAsync(ISet<string> keys, LoadOptions options)
Parameters
Type | Name | Description |
---|---|---|
ISet<string> | keys | The optional set of keys to load data for |
LoadOptions | options | Options to modify the behavior of the method, specifying AccessClass and PlayerId |
Returns
Type | Description |
---|---|
Task<Dictionary<string, Item>> | The dictionary of all key-value pairs that represents the current state of data on the server including their write locks |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
QueryAsync(Query, QueryOptions)
Queries indexed player data from Cloud Save, and returns the requested keys for matching items. Throws a CloudSaveException with a reason code and explanation of what happened.
Declaration
Task<List<EntityData>> QueryAsync(Query query, QueryOptions options)
Parameters
Type | Name | Description |
---|---|---|
Query | query | |
QueryOptions | options | The query conditions to apply, including field filters and sort orders |
Returns
Type | Description |
---|---|
Task<List<EntityData>> | The dictionary of all key-value pairs that represents the current state of data on the server including their write locks |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
SaveAsync(IDictionary<string, object>)
Upload one or more key-value pairs to the Cloud Save service without write lock validation, overwriting any values that are currently stored under the given keys. Key can only contain alphanumeric characters, dashes, and underscores and be up to a length of 255 characters. Throws a CloudSaveException with a reason code and explanation of what happened.
Dictionary
as a parameter ensures the uniqueness of given keys.
There is no client validation in place, which means the API can be called regardless if data is incorrect, invalid, and/or missing.
Declaration
Task<Dictionary<string, string>> SaveAsync(IDictionary<string, object> data)
Parameters
Type | Name | Description |
---|---|---|
IDictionary<string, object> | data | The dictionary of keys and corresponding values to upload |
Returns
Type | Description |
---|---|
Task<Dictionary<string, string>> | The dictionary of saved keys and the corresponding updated write lock |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
SaveAsync(IDictionary<string, object>, SaveOptions)
Upload one or more key-value pairs to the Cloud Save service without write lock validation, overwriting any values that are currently stored under the given keys. Key can only contain alphanumeric characters, dashes, and underscores and be up to a length of 255 characters. Throws a CloudSaveException with a reason code and explanation of what happened.
Dictionary
as a parameter ensures the uniqueness of given keys.
There is no client validation in place, which means the API can be called regardless if data is incorrect, invalid, and/or missing.
Declaration
Task<Dictionary<string, string>> SaveAsync(IDictionary<string, object> data, SaveOptions options)
Parameters
Type | Name | Description |
---|---|---|
IDictionary<string, object> | data | The dictionary of keys and corresponding values to upload |
SaveOptions | options | Options to modify the behavior of the method, specifying AccessClass |
Returns
Type | Description |
---|---|
Task<Dictionary<string, string>> | The dictionary of saved keys and the corresponding updated write lock |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
SaveAsync(IDictionary<string, SaveItem>)
Upload one or more key-value pairs to the Cloud Save service, with optional write lock validation. If a write lock is provided on an item and it does not match with the existing write lock, will throw a conflict exception. If the write lock for an item is set to null, the write lock validation for that item will be skipped and any existing value currently stored for that key will be overwritten. Keys can only contain alphanumeric characters, dashes, and underscores and be up to a length of 255 characters. Throws a CloudSaveException with a reason code and explanation of what happened.
Dictionary
as a parameter ensures the uniqueness of given keys.
There is no client validation in place, which means the API can be called regardless if data or keys are incorrect, invalid, and/or missing.
Declaration
Task<Dictionary<string, string>> SaveAsync(IDictionary<string, SaveItem> data)
Parameters
Type | Name | Description |
---|---|---|
IDictionary<string, SaveItem> | data | The dictionary of keys and corresponding values to upload, together with optional write lock to check conflict |
Returns
Type | Description |
---|---|
Task<Dictionary<string, string>> | The dictionary of saved keys and the corresponding updated write lock |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
CloudSaveConflictException | Thrown if the service returned write lock conflict error. |
SaveAsync(IDictionary<string, SaveItem>, SaveOptions)
Upload one or more key-value pairs to the Cloud Save service, with optional write lock validation. If a write lock is provided on an item and it does not match with the existing write lock, will throw a conflict exception. If the write lock for an item is set to null, the write lock validation for that item will be skipped and any existing value currently stored for that key will be overwritten. Keys can only contain alphanumeric characters, dashes, and underscores and be up to a length of 255 characters. Throws a CloudSaveException with a reason code and explanation of what happened.
Dictionary
as a parameter ensures the uniqueness of given keys.
There is no client validation in place, which means the API can be called regardless if data or keys are incorrect, invalid, and/or missing.
Declaration
Task<Dictionary<string, string>> SaveAsync(IDictionary<string, SaveItem> data, SaveOptions options)
Parameters
Type | Name | Description |
---|---|---|
IDictionary<string, SaveItem> | data | The dictionary of keys and corresponding values to upload, together with optional write lock to check conflict |
SaveOptions | options | Options to modify the behavior of the method, specifying AccessClass and PlayerId |
Returns
Type | Description |
---|---|
Task<Dictionary<string, string>> | The dictionary of saved keys and the corresponding updated write lock |
Exceptions
Type | Condition |
---|---|
CloudSaveException | Thrown if request is unsuccessful. |
CloudSaveValidationException | Thrown if the service returned validation error. |
CloudSaveRateLimitedException | Thrown if the service returned rate limited error. |
CloudSaveConflictException | Thrown if the service returned write lock conflict error. |