You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2009 lines
162 KiB
C#
2009 lines
162 KiB
C#
#if !DISABLE_PLAYFABCLIENT_API
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using PlayFab.ClientModels;
|
|
using PlayFab.Internal;
|
|
using PlayFab.SharedModels;
|
|
|
|
namespace PlayFab
|
|
{
|
|
/// <summary>
|
|
/// APIs which provide the full range of PlayFab features available to the client - authentication, account and data
|
|
/// management, inventory, friends, matchmaking, reporting, and platform-specific functionality
|
|
/// </summary>
|
|
public class PlayFabClientInstanceAPI : IPlayFabInstanceApi
|
|
{
|
|
public readonly PlayFabApiSettings apiSettings = null;
|
|
public readonly PlayFabAuthenticationContext authenticationContext = null;
|
|
|
|
public PlayFabClientInstanceAPI()
|
|
{
|
|
authenticationContext = new PlayFabAuthenticationContext();
|
|
}
|
|
|
|
public PlayFabClientInstanceAPI(PlayFabApiSettings settings)
|
|
{
|
|
apiSettings = settings;
|
|
authenticationContext = new PlayFabAuthenticationContext();
|
|
}
|
|
|
|
public PlayFabClientInstanceAPI(PlayFabAuthenticationContext context)
|
|
{
|
|
authenticationContext = context ?? new PlayFabAuthenticationContext();
|
|
}
|
|
|
|
public PlayFabClientInstanceAPI(PlayFabApiSettings settings, PlayFabAuthenticationContext context)
|
|
{
|
|
apiSettings = settings;
|
|
authenticationContext = context ?? new PlayFabAuthenticationContext();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Verify client login.
|
|
/// </summary>
|
|
public bool IsClientLoggedIn()
|
|
{
|
|
return authenticationContext == null ? false : authenticationContext.IsClientLoggedIn();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Clear the Client SessionToken which allows this Client to call API calls requiring login.
|
|
/// A new/fresh login will be required after calling this.
|
|
/// </summary>
|
|
public void ForgetAllCredentials()
|
|
{
|
|
if (authenticationContext != null)
|
|
{
|
|
authenticationContext.ForgetAllCredentials();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Accepts an open trade (one that has not yet been accepted or cancelled), if the locally signed-in player is in the
|
|
/// allowed player list for the trade, or it is open to all players. If the call is successful, the offered and accepted
|
|
/// items will be swapped between the two players' inventories.
|
|
/// </summary>
|
|
public void AcceptTrade(AcceptTradeRequest request, Action<AcceptTradeResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AcceptTrade", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds the PlayFab user, based upon a match against a supplied unique identifier, to the friend list of the local user. At
|
|
/// least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized.
|
|
/// </summary>
|
|
public void AddFriend(AddFriendRequest request, Action<AddFriendResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AddFriend", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab
|
|
/// ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as
|
|
/// authentication credentials, as the intent is that it is easily accessible by other players.
|
|
/// </summary>
|
|
public void AddGenericID(AddGenericIDRequest request, Action<AddGenericIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AddGenericID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds or updates a contact email to the player's profile.
|
|
/// </summary>
|
|
public void AddOrUpdateContactEmail(AddOrUpdateContactEmailRequest request, Action<AddOrUpdateContactEmailResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AddOrUpdateContactEmail", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users
|
|
/// in the group can add new members. Shared Groups are designed for sharing data between a very small number of players,
|
|
/// please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data
|
|
/// </summary>
|
|
public void AddSharedGroupMembers(AddSharedGroupMembersRequest request, Action<AddSharedGroupMembersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AddSharedGroupMembers", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device
|
|
/// ID login.
|
|
/// </summary>
|
|
public void AddUsernamePassword(AddUsernamePasswordRequest request, Action<AddUsernamePasswordResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AddUsernamePassword", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Increments the user's balance of the specified virtual currency by the stated amount
|
|
/// </summary>
|
|
public void AddUserVirtualCurrency(AddUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AddUserVirtualCurrency", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Registers the Android device to receive push notifications
|
|
/// </summary>
|
|
public void AndroidDevicePushNotificationRegistration(AndroidDevicePushNotificationRegistrationRequest request, Action<AndroidDevicePushNotificationRegistrationResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AndroidDevicePushNotificationRegistration", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Attributes an install for advertisment.
|
|
/// </summary>
|
|
public void AttributeInstall(AttributeInstallRequest request, Action<AttributeInstallResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/AttributeInstall", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Cancels an open trade (one that has not yet been accepted or cancelled). Note that only the player who created the trade
|
|
/// can cancel it via this API call, to prevent griefing of the trade system (cancelling trades in order to prevent other
|
|
/// players from accepting them, for trades that can be claimed by more than one player).
|
|
/// </summary>
|
|
public void CancelTrade(CancelTradeRequest request, Action<CancelTradeResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/CancelTrade", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and
|
|
/// virtual currency balances as appropriate
|
|
/// </summary>
|
|
public void ConfirmPurchase(ConfirmPurchaseRequest request, Action<ConfirmPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ConfirmPurchase", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's
|
|
/// inventory.
|
|
/// </summary>
|
|
public void ConsumeItem(ConsumeItemRequest request, Action<ConsumeItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ConsumeItem", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grants the player's current entitlements from Microsoft Store's Collection API
|
|
/// </summary>
|
|
public void ConsumeMicrosoftStoreEntitlements(ConsumeMicrosoftStoreEntitlementsRequest request, Action<ConsumeMicrosoftStoreEntitlementsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ConsumeMicrosoftStoreEntitlements", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Checks for any new consumable entitlements. If any are found, they are consumed (if they're consumables) and added as
|
|
/// PlayFab items
|
|
/// </summary>
|
|
public void ConsumePS5Entitlements(ConsumePS5EntitlementsRequest request, Action<ConsumePS5EntitlementsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ConsumePS5Entitlements", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Checks for any new consumable entitlements. If any are found, they are consumed and added as PlayFab items
|
|
/// </summary>
|
|
public void ConsumePSNEntitlements(ConsumePSNEntitlementsRequest request, Action<ConsumePSNEntitlementsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ConsumePSNEntitlements", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grants the player's current entitlements from Xbox Live, consuming all availble items in Xbox and granting them to the
|
|
/// player's PlayFab inventory. This call is idempotent and will not grant previously granted items to the player.
|
|
/// </summary>
|
|
public void ConsumeXboxEntitlements(ConsumeXboxEntitlementsRequest request, Action<ConsumeXboxEntitlementsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ConsumeXboxEntitlements", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the
|
|
/// group. Upon creation, the current user will be the only member of the group. Shared Groups are designed for sharing data
|
|
/// between a very small number of players, please see our guide:
|
|
/// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data
|
|
/// </summary>
|
|
public void CreateSharedGroup(CreateSharedGroupRequest request, Action<CreateSharedGroupResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/CreateSharedGroup", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. The
|
|
/// PlayFab ID is the entity ID of the player's master_player_account entity.
|
|
/// </summary>
|
|
public void ExecuteCloudScript(ExecuteCloudScriptRequest request, Action<ExecuteCloudScriptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ExecuteCloudScript", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
public void ExecuteCloudScript<TOut>(ExecuteCloudScriptRequest request, Action<ExecuteCloudScriptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method");
|
|
Action<ExecuteCloudScriptResult> wrappedResultCallback = (wrappedResult) =>
|
|
{
|
|
var serializer = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer);
|
|
var wrappedJson = serializer.SerializeObject(wrappedResult.FunctionResult);
|
|
try {
|
|
wrappedResult.FunctionResult = serializer.DeserializeObject<TOut>(wrappedJson);
|
|
} catch (Exception) {
|
|
wrappedResult.FunctionResult = wrappedJson;
|
|
wrappedResult.Logs.Add(new LogStatement { Level = "Warning", Data = wrappedJson, Message = "Sdk Message: Could not deserialize result as: " + typeof(TOut).Name });
|
|
}
|
|
resultCallback(wrappedResult);
|
|
};
|
|
PlayFabHttp.MakeApiCall("/Client/ExecuteCloudScript", request, AuthType.LoginSession, wrappedResultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the user's PlayFab account details
|
|
/// </summary>
|
|
public void GetAccountInfo(GetAccountInfoRequest request, Action<GetAccountInfoResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetAccountInfo", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a list of ad placements and a reward for each
|
|
/// </summary>
|
|
public void GetAdPlacements(GetAdPlacementsRequest request, Action<GetAdPlacementsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetAdPlacements", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be
|
|
/// evaluated with the parent PlayFabId to guarantee uniqueness.
|
|
/// </summary>
|
|
public void GetAllUsersCharacters(ListUsersCharactersRequest request, Action<ListUsersCharactersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetAllUsersCharacters", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
|
|
/// </summary>
|
|
public void GetCatalogItems(GetCatalogItemsRequest request, Action<GetCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetCatalogItems", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the title-specific custom data for the character which is readable and writable by the client
|
|
/// </summary>
|
|
public void GetCharacterData(GetCharacterDataRequest request, Action<GetCharacterDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetCharacterData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Retrieves the specified character's current inventory of virtual goods
|
|
/// </summary>
|
|
public void GetCharacterInventory(GetCharacterInventoryRequest request, Action<GetCharacterInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetCharacterInventory", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard
|
|
/// </summary>
|
|
public void GetCharacterLeaderboard(GetCharacterLeaderboardRequest request, Action<GetCharacterLeaderboardResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetCharacterLeaderboard", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the title-specific custom data for the character which can only be read by the client
|
|
/// </summary>
|
|
public void GetCharacterReadOnlyData(GetCharacterDataRequest request, Action<GetCharacterDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetCharacterReadOnlyData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the details of all title-specific statistics for the user
|
|
/// </summary>
|
|
public void GetCharacterStatistics(GetCharacterStatisticsRequest request, Action<GetCharacterStatisticsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetCharacterStatistics", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned
|
|
/// URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the
|
|
/// content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded,
|
|
/// the query to retrieve the data will fail. See this post for more information:
|
|
/// https://community.playfab.com/hc/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also,
|
|
/// please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply.
|
|
/// </summary>
|
|
public void GetContentDownloadUrl(GetContentDownloadUrlRequest request, Action<GetContentDownloadUrlResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetContentDownloadUrl", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in
|
|
/// the leaderboard
|
|
/// </summary>
|
|
public void GetFriendLeaderboard(GetFriendLeaderboardRequest request, Action<GetLeaderboardResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetFriendLeaderboard", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of ranked friends of the current player for the given statistic, centered on the requested PlayFab
|
|
/// user. If PlayFabId is empty or null will return currently logged in user.
|
|
/// </summary>
|
|
public void GetFriendLeaderboardAroundPlayer(GetFriendLeaderboardAroundPlayerRequest request, Action<GetFriendLeaderboardAroundPlayerResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetFriendLeaderboardAroundPlayer", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the current friend list for the local user, constrained to users who have PlayFab accounts. Friends from
|
|
/// linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends.
|
|
/// </summary>
|
|
public void GetFriendsList(GetFriendsListRequest request, Action<GetFriendsListResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetFriendsList", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard
|
|
/// </summary>
|
|
public void GetLeaderboard(GetLeaderboardRequest request, Action<GetLeaderboardResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetLeaderboard", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID
|
|
/// </summary>
|
|
public void GetLeaderboardAroundCharacter(GetLeaderboardAroundCharacterRequest request, Action<GetLeaderboardAroundCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetLeaderboardAroundCharacter", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or
|
|
/// null will return currently logged in user.
|
|
/// </summary>
|
|
public void GetLeaderboardAroundPlayer(GetLeaderboardAroundPlayerRequest request, Action<GetLeaderboardAroundPlayerResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetLeaderboardAroundPlayer", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves a list of all of the user's characters for the given statistic.
|
|
/// </summary>
|
|
public void GetLeaderboardForUserCharacters(GetLeaderboardForUsersCharactersRequest request, Action<GetLeaderboardForUsersCharactersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetLeaderboardForUserCharacters", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ For payments flows where the provider requires playfab (the fulfiller) to initiate the transaction, but the
|
|
/// client completes the rest of the flow. In the Xsolla case, the token returned here will be passed to Xsolla by the
|
|
/// client to create a cart. Poll GetPurchase using the returned OrderId once you've completed the payment.
|
|
/// </summary>
|
|
public void GetPaymentToken(GetPaymentTokenRequest request, Action<GetPaymentTokenResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPaymentToken", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See
|
|
/// https://docs.microsoft.com/gaming/playfab/features/multiplayer/photon/quickstart for more details.
|
|
/// </summary>
|
|
public void GetPhotonAuthenticationToken(GetPhotonAuthenticationTokenRequest request, Action<GetPhotonAuthenticationTokenResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPhotonAuthenticationToken", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves all of the user's different kinds of info.
|
|
/// </summary>
|
|
public void GetPlayerCombinedInfo(GetPlayerCombinedInfoRequest request, Action<GetPlayerCombinedInfoResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerCombinedInfo", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the player's profile
|
|
/// </summary>
|
|
public void GetPlayerProfile(GetPlayerProfileRequest request, Action<GetPlayerProfileResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerProfile", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// List all segments that a player currently belongs to at this moment in time.
|
|
/// </summary>
|
|
public void GetPlayerSegments(GetPlayerSegmentsRequest request, Action<GetPlayerSegmentsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerSegments", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local
|
|
/// player.
|
|
/// </summary>
|
|
public void GetPlayerStatistics(GetPlayerStatisticsRequest request, Action<GetPlayerStatisticsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerStatistics", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the information on the available versions of the specified statistic.
|
|
/// </summary>
|
|
public void GetPlayerStatisticVersions(GetPlayerStatisticVersionsRequest request, Action<GetPlayerStatisticVersionsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerStatisticVersions", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get all tags with a given Namespace (optional) from a player profile.
|
|
/// </summary>
|
|
public void GetPlayerTags(GetPlayerTagsRequest request, Action<GetPlayerTagsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerTags", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets all trades the player has either opened or accepted, optionally filtered by trade status.
|
|
/// </summary>
|
|
public void GetPlayerTrades(GetPlayerTradesRequest request, Action<GetPlayerTradesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayerTrades", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromFacebookIDs(GetPlayFabIDsFromFacebookIDsRequest request, Action<GetPlayFabIDsFromFacebookIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromFacebookIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Game identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromFacebookInstantGamesIds(GetPlayFabIDsFromFacebookInstantGamesIdsRequest request, Action<GetPlayFabIDsFromFacebookInstantGamesIdsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromFacebookInstantGamesIds", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Game Center identifiers (referenced in the Game Center
|
|
/// Programming Guide as the Player Identifier).
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromGameCenterIDs(GetPlayFabIDsFromGameCenterIDsRequest request, Action<GetPlayFabIDsFromGameCenterIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromGameCenterIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the
|
|
/// service name plus the service-specific ID for the player, as specified by the title when the generic identifier was
|
|
/// added to the player account.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromGenericIDs(GetPlayFabIDsFromGenericIDsRequest request, Action<GetPlayFabIDsFromGenericIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromGenericIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Google identifiers. The Google identifiers are the IDs for
|
|
/// the user accounts, available as "id" in the Google+ People API calls.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromGoogleIDs(GetPlayFabIDsFromGoogleIDsRequest request, Action<GetPlayFabIDsFromGoogleIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromGoogleIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Google Play Games identifiers. The Google Play Games
|
|
/// identifiers are the IDs for the user accounts, available as "playerId" in the Google Play Games Services - Players API
|
|
/// calls.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromGooglePlayGamesPlayerIDs(GetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest request, Action<GetPlayFabIDsFromGooglePlayGamesPlayerIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromGooglePlayGamesPlayerIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Kongregate identifiers. The Kongregate identifiers are the
|
|
/// IDs for the user accounts, available as "user_id" from the Kongregate API methods(ex:
|
|
/// http://developers.kongregate.com/docs/client/getUserId).
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromKongregateIDs(GetPlayFabIDsFromKongregateIDsRequest request, Action<GetPlayFabIDsFromKongregateIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromKongregateIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromNintendoServiceAccountIds(GetPlayFabIDsFromNintendoServiceAccountIdsRequest request, Action<GetPlayFabIDsFromNintendoServiceAccountIdsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromNintendoServiceAccountIds", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromNintendoSwitchDeviceIds(GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest request, Action<GetPlayFabIDsFromNintendoSwitchDeviceIdsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromNintendoSwitchDeviceIds", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromPSNAccountIDs(GetPlayFabIDsFromPSNAccountIDsRequest request, Action<GetPlayFabIDsFromPSNAccountIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromPSNAccountIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromPSNOnlineIDs(GetPlayFabIDsFromPSNOnlineIDsRequest request, Action<GetPlayFabIDsFromPSNOnlineIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromPSNOnlineIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile
|
|
/// IDs for the user accounts, available as SteamId in the Steamworks Community API calls.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromSteamIDs(GetPlayFabIDsFromSteamIDsRequest request, Action<GetPlayFabIDsFromSteamIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromSteamIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for
|
|
/// the user accounts, available as "_id" from the Twitch API methods (ex:
|
|
/// https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser).
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromTwitchIDs(GetPlayFabIDsFromTwitchIDsRequest request, Action<GetPlayFabIDsFromTwitchIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromTwitchIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers.
|
|
/// </summary>
|
|
public void GetPlayFabIDsFromXboxLiveIDs(GetPlayFabIDsFromXboxLiveIDsRequest request, Action<GetPlayFabIDsFromXboxLiveIDsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromXboxLiveIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the key-value store of custom publisher settings
|
|
/// </summary>
|
|
public void GetPublisherData(GetPublisherDataRequest request, Action<GetPublisherDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPublisherData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that
|
|
/// are still active.
|
|
/// </summary>
|
|
public void GetPurchase(GetPurchaseRequest request, Action<GetPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetPurchase", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves data stored in a shared group object, as well as the list of members in the group. Non-members of the group
|
|
/// may use this to retrieve group data, including membership, but they will not receive data for keys marked as private.
|
|
/// Shared Groups are designed for sharing data between a very small number of players, please see our guide:
|
|
/// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data
|
|
/// </summary>
|
|
public void GetSharedGroupData(GetSharedGroupDataRequest request, Action<GetSharedGroupDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetSharedGroupData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Retrieves the set of items defined for the specified store, including all prices defined
|
|
/// </summary>
|
|
public void GetStoreItems(GetStoreItemsRequest request, Action<GetStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetStoreItems", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the current server time
|
|
/// </summary>
|
|
public void GetTime(GetTimeRequest request, Action<GetTimeResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetTime", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the key-value store of custom title settings
|
|
/// </summary>
|
|
public void GetTitleData(GetTitleDataRequest request, Action<GetTitleDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetTitleData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the title news feed, as configured in the developer portal
|
|
/// </summary>
|
|
public void GetTitleNews(GetTitleNewsRequest request, Action<GetTitleNewsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetTitleNews", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns the title's base 64 encoded RSA CSP blob.
|
|
/// </summary>
|
|
public void GetTitlePublicKey(GetTitlePublicKeyRequest request, Action<GetTitlePublicKeyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
PlayFabHttp.MakeApiCall("/Client/GetTitlePublicKey", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the current status of an existing trade.
|
|
/// </summary>
|
|
public void GetTradeStatus(GetTradeStatusRequest request, Action<GetTradeStatusResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetTradeStatus", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the title-specific custom data for the user which is readable and writable by the client
|
|
/// </summary>
|
|
public void GetUserData(GetUserDataRequest request, Action<GetUserDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetUserData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Retrieves the user's current inventory of virtual goods
|
|
/// </summary>
|
|
public void GetUserInventory(GetUserInventoryRequest request, Action<GetUserInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetUserInventory", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the publisher-specific custom data for the user which is readable and writable by the client
|
|
/// </summary>
|
|
public void GetUserPublisherData(GetUserDataRequest request, Action<GetUserDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetUserPublisherData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the publisher-specific custom data for the user which can only be read by the client
|
|
/// </summary>
|
|
public void GetUserPublisherReadOnlyData(GetUserDataRequest request, Action<GetUserDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetUserPublisherReadOnlyData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retrieves the title-specific custom data for the user which can only be read by the client
|
|
/// </summary>
|
|
public void GetUserReadOnlyData(GetUserDataRequest request, Action<GetUserDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GetUserReadOnlyData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated
|
|
/// with the parent PlayFabId to guarantee uniqueness.
|
|
/// </summary>
|
|
public void GrantCharacterToUser(GrantCharacterToUserRequest request, Action<GrantCharacterToUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/GrantCharacterToUser", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Android device identifier to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkAndroidDeviceID(LinkAndroidDeviceIDRequest request, Action<LinkAndroidDeviceIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkAndroidDeviceID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Apple account associated with the token to the user's PlayFab account.
|
|
/// </summary>
|
|
public void LinkApple(LinkAppleRequest request, Action<EmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkApple", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the custom identifier, generated by the title, to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkCustomID(LinkCustomIDRequest request, Action<LinkCustomIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkCustomID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkFacebookAccount(LinkFacebookAccountRequest request, Action<LinkFacebookAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkFacebookAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Facebook Instant Games Id to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkFacebookInstantGamesId(LinkFacebookInstantGamesIdRequest request, Action<LinkFacebookInstantGamesIdResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkFacebookInstantGamesId", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account. Logging in with
|
|
/// a Game Center ID is insecure if you do not include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters
|
|
/// in this request. It is recommended you require these parameters on all Game Center calls by going to the Apple Add-ons
|
|
/// page in the PlayFab Game Manager and enabling the 'Require secure authentication only for this app' option.
|
|
/// </summary>
|
|
public void LinkGameCenterAccount(LinkGameCenterAccountRequest request, Action<LinkGameCenterAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkGameCenterAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the currently signed-in user account to their Google account, using their Google account credentials
|
|
/// </summary>
|
|
public void LinkGoogleAccount(LinkGoogleAccountRequest request, Action<LinkGoogleAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkGoogleAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the currently signed-in user account to their Google Play Games account, using their Google Play Games account
|
|
/// credentials
|
|
/// </summary>
|
|
public void LinkGooglePlayGamesServicesAccount(LinkGooglePlayGamesServicesAccountRequest request, Action<LinkGooglePlayGamesServicesAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkGooglePlayGamesServicesAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the vendor-specific iOS device identifier to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkIOSDeviceID(LinkIOSDeviceIDRequest request, Action<LinkIOSDeviceIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkIOSDeviceID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Kongregate identifier to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkKongregate(LinkKongregateAccountRequest request, Action<LinkKongregateAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkKongregate", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Nintendo account associated with the token to the user's PlayFab account.
|
|
/// </summary>
|
|
public void LinkNintendoServiceAccount(LinkNintendoServiceAccountRequest request, Action<EmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkNintendoServiceAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the NintendoSwitchDeviceId to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkNintendoSwitchDeviceId(LinkNintendoSwitchDeviceIdRequest request, Action<LinkNintendoSwitchDeviceIdResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkNintendoSwitchDeviceId", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links an OpenID Connect account to a user's PlayFab account, based on an existing relationship between a title and an
|
|
/// Open ID Connect provider and the OpenId Connect JWT from that provider.
|
|
/// </summary>
|
|
public void LinkOpenIdConnect(LinkOpenIdConnectRequest request, Action<EmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkOpenIdConnect", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the PlayStation :tm: Network account associated with the provided access code to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkPSNAccount(LinkPSNAccountRequest request, Action<LinkPSNAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkPSNAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkSteamAccount(LinkSteamAccountRequest request, Action<LinkSteamAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkSteamAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Twitch account associated with the token to the user's PlayFab account.
|
|
/// </summary>
|
|
public void LinkTwitch(LinkTwitchAccountRequest request, Action<LinkTwitchAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkTwitch", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Links the Xbox Live account associated with the provided access code to the user's PlayFab account
|
|
/// </summary>
|
|
public void LinkXboxAccount(LinkXboxAccountRequest request, Action<LinkXboxAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/LinkXboxAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for
|
|
/// API calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithAndroidDeviceID(LoginWithAndroidDeviceIDRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithAndroidDeviceID", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs in the user with a Sign in with Apple identity token.
|
|
/// </summary>
|
|
public void LoginWithApple(LoginWithAppleRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithApple", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can
|
|
/// subsequently be used for API calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithCustomID(LoginWithCustomIDRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithCustomID", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls
|
|
/// which require an authenticated user. Unlike most other login API calls, LoginWithEmailAddress does not permit the
|
|
/// creation of new accounts via the CreateAccountFlag. Email addresses may be used to create accounts via
|
|
/// RegisterPlayFabUser.
|
|
/// </summary>
|
|
public void LoginWithEmailAddress(LoginWithEmailAddressRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithEmailAddress", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API
|
|
/// calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithFacebook(LoginWithFacebookRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithFacebook", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Facebook Instant Games ID, returning a session identifier that can subsequently be used for
|
|
/// API calls which require an authenticated user. Requires Facebook Instant Games to be configured.
|
|
/// </summary>
|
|
public void LoginWithFacebookInstantGamesId(LoginWithFacebookInstantGamesIdRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithFacebookInstantGamesId", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using an iOS Game Center player identifier, returning a session identifier that can subsequently be
|
|
/// used for API calls which require an authenticated user. Logging in with a Game Center ID is insecure if you do not
|
|
/// include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters in this request. It is recommended you
|
|
/// require these parameters on all Game Center calls by going to the Apple Add-ons page in the PlayFab Game Manager and
|
|
/// enabling the 'Require secure authentication only for this app' option.
|
|
/// </summary>
|
|
public void LoginWithGameCenter(LoginWithGameCenterRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithGameCenter", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using their Google account credentials
|
|
/// </summary>
|
|
public void LoginWithGoogleAccount(LoginWithGoogleAccountRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithGoogleAccount", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using their Google Play Games account credentials
|
|
/// </summary>
|
|
public void LoginWithGooglePlayGamesServices(LoginWithGooglePlayGamesServicesRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithGooglePlayGamesServices", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using the vendor-specific iOS device identifier, returning a session identifier that can subsequently
|
|
/// be used for API calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithIOSDeviceID(LoginWithIOSDeviceIDRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithIOSDeviceID", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Kongregate player account.
|
|
/// </summary>
|
|
public void LoginWithKongregate(LoginWithKongregateRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithKongregate", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs in the user with a Nintendo service account token.
|
|
/// </summary>
|
|
public void LoginWithNintendoServiceAccount(LoginWithNintendoServiceAccountRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithNintendoServiceAccount", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Nintendo Switch Device ID, returning a session identifier that can subsequently be used for
|
|
/// API calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithNintendoSwitchDeviceId(LoginWithNintendoSwitchDeviceIdRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithNintendoSwitchDeviceId", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Logs in a user with an Open ID Connect JWT created by an existing relationship between a title and an Open ID Connect
|
|
/// provider.
|
|
/// </summary>
|
|
public void LoginWithOpenIdConnect(LoginWithOpenIdConnectRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithOpenIdConnect", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls
|
|
/// which require an authenticated user. Unlike most other login API calls, LoginWithPlayFab does not permit the creation of
|
|
/// new accounts via the CreateAccountFlag. Username/Password credentials may be used to create accounts via
|
|
/// RegisterPlayFabUser, or added to existing accounts using AddUsernamePassword.
|
|
/// </summary>
|
|
public void LoginWithPlayFab(LoginWithPlayFabRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithPlayFab", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can
|
|
/// subsequently be used for API calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithPSN(LoginWithPSNRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithPSN", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently be used for
|
|
/// API calls which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithSteam(LoginWithSteamRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithSteam", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Twitch access token.
|
|
/// </summary>
|
|
public void LoginWithTwitch(LoginWithTwitchRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithTwitch", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls
|
|
/// which require an authenticated user
|
|
/// </summary>
|
|
public void LoginWithXbox(LoginWithXboxRequest request, Action<LoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/LoginWithXbox", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Opens a new outstanding trade. Note that a given item instance may only be in one open trade at a time.
|
|
/// </summary>
|
|
public void OpenTrade(OpenTradeRequest request, Action<OpenTradeResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/OpenTrade", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Selects a payment option for purchase order created via StartPurchase
|
|
/// </summary>
|
|
public void PayForPurchase(PayForPurchaseRequest request, Action<PayForPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/PayForPurchase", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Buys a single item with virtual currency. You must specify both the virtual currency to use to purchase, as
|
|
/// well as what the client believes the price to be. This lets the server fail the purchase if the price has changed.
|
|
/// </summary>
|
|
public void PurchaseItem(PurchaseItemRequest request, Action<PurchaseItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/PurchaseItem", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the
|
|
/// Economy->Catalogs tab in the PlayFab Game Manager.
|
|
/// </summary>
|
|
public void RedeemCoupon(RedeemCouponRequest request, Action<RedeemCouponResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RedeemCoupon", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Uses the supplied OAuth code to refresh the internally cached player PlayStation :tm: Network auth token
|
|
/// </summary>
|
|
public void RefreshPSNAuthToken(RefreshPSNAuthTokenRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RefreshPSNAuthToken", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Registers the iOS device to receive push notifications
|
|
/// </summary>
|
|
public void RegisterForIOSPushNotification(RegisterForIOSPushNotificationRequest request, Action<RegisterForIOSPushNotificationResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RegisterForIOSPushNotification", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which
|
|
/// require an authenticated user. You must supply a username and an email address.
|
|
/// </summary>
|
|
public void RegisterPlayFabUser(RegisterPlayFabUserRequest request, Action<RegisterPlayFabUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
request.TitleId = request.TitleId ?? callSettings.TitleId;
|
|
PlayFabHttp.MakeApiCall("/Client/RegisterPlayFabUser", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes a contact email from the player's profile.
|
|
/// </summary>
|
|
public void RemoveContactEmail(RemoveContactEmailRequest request, Action<RemoveContactEmailResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RemoveContactEmail", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes a specified user from the friend list of the local user
|
|
/// </summary>
|
|
public void RemoveFriend(RemoveFriendRequest request, Action<RemoveFriendResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RemoveFriend", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes the specified generic service identifier from the player's PlayFab account.
|
|
/// </summary>
|
|
public void RemoveGenericID(RemoveGenericIDRequest request, Action<RemoveGenericIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RemoveGenericID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the
|
|
/// group can remove members. If as a result of the call, zero users remain with access, the group and its associated data
|
|
/// will be deleted. Shared Groups are designed for sharing data between a very small number of players, please see our
|
|
/// guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data
|
|
/// </summary>
|
|
public void RemoveSharedGroupMembers(RemoveSharedGroupMembersRequest request, Action<RemoveSharedGroupMembersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RemoveSharedGroupMembers", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Report player's ad activity
|
|
/// </summary>
|
|
public void ReportAdActivity(ReportAdActivityRequest request, Action<ReportAdActivityResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ReportAdActivity", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Write a PlayStream event to describe the provided player device information. This API method is not designed to be
|
|
/// called directly by developers. Each PlayFab client SDK will eventually report this information automatically.
|
|
/// </summary>
|
|
public void ReportDeviceInfo(DeviceInfoRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ReportDeviceInfo", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Submit a report for another player (due to bad bahavior, etc.), so that customer service representatives for the title
|
|
/// can take action concerning potentially toxic players.
|
|
/// </summary>
|
|
public void ReportPlayer(ReportPlayerClientRequest request, Action<ReportPlayerClientResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ReportPlayer", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Restores all in-app purchases based on the given restore receipt
|
|
/// </summary>
|
|
public void RestoreIOSPurchases(RestoreIOSPurchasesRequest request, Action<RestoreIOSPurchasesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RestoreIOSPurchases", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Reward player's ad activity
|
|
/// </summary>
|
|
public void RewardAdActivity(RewardAdActivityRequest request, Action<RewardAdActivityResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/RewardAdActivity", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to
|
|
/// change the password.If an account recovery email template ID is provided, an email using the custom email template will
|
|
/// be used.
|
|
/// </summary>
|
|
public void SendAccountRecoveryEmail(SendAccountRecoveryEmailRequest request, Action<SendAccountRecoveryEmailResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
PlayFabHttp.MakeApiCall("/Client/SendAccountRecoveryEmail", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates the tag list for a specified user in the friend list of the local user
|
|
/// </summary>
|
|
public void SetFriendTags(SetFriendTagsRequest request, Action<SetFriendTagsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/SetFriendTags", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's
|
|
/// secret use the Admin or Server API method SetPlayerSecret.
|
|
/// </summary>
|
|
public void SetPlayerSecret(SetPlayerSecretRequest request, Action<SetPlayerSecretResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/SetPlayerSecret", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Creates an order for a list of items from the title catalog
|
|
/// </summary>
|
|
public void StartPurchase(StartPurchaseRequest request, Action<StartPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/StartPurchase", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make
|
|
/// a VC balance negative with this API.
|
|
/// </summary>
|
|
public void SubtractUserVirtualCurrency(SubtractUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/SubtractUserVirtualCurrency", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Android device identifier from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkAndroidDeviceID(UnlinkAndroidDeviceIDRequest request, Action<UnlinkAndroidDeviceIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkAndroidDeviceID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Apple account from the user's PlayFab account.
|
|
/// </summary>
|
|
public void UnlinkApple(UnlinkAppleRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkApple", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related custom identifier from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkCustomID(UnlinkCustomIDRequest request, Action<UnlinkCustomIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkCustomID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Facebook account from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkFacebookAccount(UnlinkFacebookAccountRequest request, Action<UnlinkFacebookAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkFacebookAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Facebook Instant Game Ids from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkFacebookInstantGamesId(UnlinkFacebookInstantGamesIdRequest request, Action<UnlinkFacebookInstantGamesIdResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkFacebookInstantGamesId", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Game Center account from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkGameCenterAccount(UnlinkGameCenterAccountRequest request, Action<UnlinkGameCenterAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkGameCenterAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Google account from the user's PlayFab account
|
|
/// (https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil#public-methods).
|
|
/// </summary>
|
|
public void UnlinkGoogleAccount(UnlinkGoogleAccountRequest request, Action<UnlinkGoogleAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkGoogleAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Google Play Games account from the user's PlayFab account.
|
|
/// </summary>
|
|
public void UnlinkGooglePlayGamesServicesAccount(UnlinkGooglePlayGamesServicesAccountRequest request, Action<UnlinkGooglePlayGamesServicesAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkGooglePlayGamesServicesAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related iOS device identifier from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkIOSDeviceID(UnlinkIOSDeviceIDRequest request, Action<UnlinkIOSDeviceIDResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkIOSDeviceID", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Kongregate identifier from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkKongregate(UnlinkKongregateAccountRequest request, Action<UnlinkKongregateAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkKongregate", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Nintendo account from the user's PlayFab account.
|
|
/// </summary>
|
|
public void UnlinkNintendoServiceAccount(UnlinkNintendoServiceAccountRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkNintendoServiceAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkNintendoSwitchDeviceId(UnlinkNintendoSwitchDeviceIdRequest request, Action<UnlinkNintendoSwitchDeviceIdResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkNintendoSwitchDeviceId", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks an OpenID Connect account from a user's PlayFab account, based on the connection ID of an existing relationship
|
|
/// between a title and an Open ID Connect provider.
|
|
/// </summary>
|
|
public void UnlinkOpenIdConnect(UnlinkOpenIdConnectRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkOpenIdConnect", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkPSNAccount(UnlinkPSNAccountRequest request, Action<UnlinkPSNAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkPSNAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Steam account from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkSteamAccount(UnlinkSteamAccountRequest request, Action<UnlinkSteamAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkSteamAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Twitch account from the user's PlayFab account.
|
|
/// </summary>
|
|
public void UnlinkTwitch(UnlinkTwitchAccountRequest request, Action<UnlinkTwitchAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkTwitch", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unlinks the related Xbox Live account from the user's PlayFab account
|
|
/// </summary>
|
|
public void UnlinkXboxAccount(UnlinkXboxAccountRequest request, Action<UnlinkXboxAccountResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlinkXboxAccount", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Opens the specified container, with the specified key (when required), and returns the contents of the
|
|
/// opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will
|
|
/// be decremented, consistent with the operation of ConsumeItem.
|
|
/// </summary>
|
|
public void UnlockContainerInstance(UnlockContainerInstanceRequest request, Action<UnlockContainerItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlockContainerInstance", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Searches target inventory for an ItemInstance matching the given CatalogItemId, if necessary unlocks it
|
|
/// using an appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are
|
|
/// consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem.
|
|
/// </summary>
|
|
public void UnlockContainerItem(UnlockContainerItemRequest request, Action<UnlockContainerItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UnlockContainerItem", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Update the avatar URL of the player
|
|
/// </summary>
|
|
public void UpdateAvatarUrl(UpdateAvatarUrlRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateAvatarUrl", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates and updates the title-specific custom data for the user's character which is readable and writable by the client
|
|
/// </summary>
|
|
public void UpdateCharacterData(UpdateCharacterDataRequest request, Action<UpdateCharacterDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateCharacterData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates the values of the specified title-specific statistics for the specific character. By default, clients are not
|
|
/// permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features.
|
|
/// </summary>
|
|
public void UpdateCharacterStatistics(UpdateCharacterStatisticsRequest request, Action<UpdateCharacterStatisticsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateCharacterStatistics", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates the values of the specified title-specific statistics for the user. By default, clients are not permitted to
|
|
/// update statistics. Developers may override this setting in the Game Manager > Settings > API Features.
|
|
/// </summary>
|
|
public void UpdatePlayerStatistics(UpdatePlayerStatisticsRequest request, Action<UpdatePlayerStatisticsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdatePlayerStatistics", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated
|
|
/// or added in this call will be readable by users not in the group. By default, data permissions are set to Private.
|
|
/// Regardless of the permission setting, only members of the group can update the data. Shared Groups are designed for
|
|
/// sharing data between a very small number of players, please see our guide:
|
|
/// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data
|
|
/// </summary>
|
|
public void UpdateSharedGroupData(UpdateSharedGroupDataRequest request, Action<UpdateSharedGroupDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateSharedGroupData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates and updates the title-specific custom data for the user which is readable and writable by the client
|
|
/// </summary>
|
|
public void UpdateUserData(UpdateUserDataRequest request, Action<UpdateUserDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateUserData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates and updates the publisher-specific custom data for the user which is readable and writable by the client
|
|
/// </summary>
|
|
public void UpdateUserPublisherData(UpdateUserDataRequest request, Action<UpdateUserDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateUserPublisherData", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Updates the title specific display name for the user
|
|
/// </summary>
|
|
public void UpdateUserTitleDisplayName(UpdateUserTitleDisplayNameRequest request, Action<UpdateUserTitleDisplayNameResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/UpdateUserTitleDisplayName", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches
|
|
/// the purchased catalog item
|
|
/// </summary>
|
|
public void ValidateAmazonIAPReceipt(ValidateAmazonReceiptRequest request, Action<ValidateAmazonReceiptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ValidateAmazonIAPReceipt", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Validates a Google Play purchase and gives the corresponding item to the player.
|
|
/// </summary>
|
|
public void ValidateGooglePlayPurchase(ValidateGooglePlayPurchaseRequest request, Action<ValidateGooglePlayPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ValidateGooglePlayPurchase", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the
|
|
/// purchased catalog item
|
|
/// </summary>
|
|
public void ValidateIOSReceipt(ValidateIOSReceiptRequest request, Action<ValidateIOSReceiptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ValidateIOSReceipt", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
|
|
/// version 2._ Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it
|
|
/// matches the purchased catalog item
|
|
/// </summary>
|
|
public void ValidateWindowsStoreReceipt(ValidateWindowsReceiptRequest request, Action<ValidateWindowsReceiptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/ValidateWindowsStoreReceipt", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Writes a character-based event into PlayStream.
|
|
/// </summary>
|
|
public void WriteCharacterEvent(WriteClientCharacterEventRequest request, Action<WriteEventResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/WriteCharacterEvent", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Writes a player-based event into PlayStream.
|
|
/// </summary>
|
|
public void WritePlayerEvent(WriteClientPlayerEventRequest request, Action<WriteEventResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/WritePlayerEvent", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Writes a title-based event into PlayStream.
|
|
/// </summary>
|
|
public void WriteTitleEvent(WriteTitleEventRequest request, Action<WriteEventResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
|
|
{
|
|
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
|
|
var callSettings = apiSettings ?? PlayFabSettings.staticSettings;
|
|
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
|
|
PlayFabHttp.MakeApiCall("/Client/WriteTitleEvent", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|