플레이팹 최신버전

This commit is contained in:
Ino 2025-01-25 06:36:28 +09:00
parent 20569ecaa3
commit 4430f92236
69 changed files with 7322 additions and 1688 deletions

View File

@ -12,12 +12,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5d0199c11aa6f514784c5c69cd8378d8, type: 3}
m_Name: PlayFabEditorPrefsSO
m_EditorClassIdentifier:
DevAccountEmail:
DevAccountToken:
SelectedStudio:
SdkPath:
DevAccountEmail: kimsy198402@gmail.com
DevAccountToken: 4469kxx5qoc1x7seij1o41mj8omsnt3wp384uuwzxng4yhfitsop89pwoh8bgr3mzykmezqakrj6zec6s6op4nracsij8h8f153c5uc3f1caw5h6rdcmjzbtwodm5ufeuzf9qpgr4jyn9shux7bgjtisme4hraosfmy4cyh9w6og7fmfxceq7f81edmg9yqu1rmohoq9
SelectedStudio: "\uD544\uAD7F\uBC34\uB514\uCE20(3rd)"
SdkPath: Assets/ThirdParty/PlayFabSDK
EdExPath:
LocalCloudScriptPath:
LocalCloudScriptPath: C:/Git/nn_himminji/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js
PanelIsShown: 0
curMainMenuIdx: 0
curMainMenuIdx: 1
curSubMenuIdx: 0

View File

@ -20,6 +20,8 @@ MonoBehaviour:
DisableFocusTimeCollection: 0
RequestTimeout: 2000
RequestKeepAlive: 1
CompressResponses: 0
DecompressWithDownloadHandler: 1
LogLevel: 12
LoggerHost:
LoggerPort: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4592bb1110a6b1e4dacb06b424cd2759
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,390 @@
#if !DISABLE_PLAYFABENTITY_API && !DISABLE_PLAYFAB_STATIC_API
using System;
using System.Collections.Generic;
using PlayFab.AddonModels;
using PlayFab.Internal;
namespace PlayFab
{
/// <summary>
/// APIs for managing addons.
/// </summary>
public static class PlayFabAddonAPI
{
static PlayFabAddonAPI() {}
/// <summary>
/// Verify entity login.
/// </summary>
public static bool IsEntityLoggedIn()
{
return PlayFabSettings.staticPlayer.IsEntityLoggedIn();
}
/// <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 static void ForgetAllCredentials()
{
PlayFabSettings.staticPlayer.ForgetAllCredentials();
}
/// <summary>
/// Creates the Apple addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateApple(CreateOrUpdateAppleRequest request, Action<CreateOrUpdateAppleResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateApple", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Facebook addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateFacebook(CreateOrUpdateFacebookRequest request, Action<CreateOrUpdateFacebookResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateFacebook", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Facebook Instant Games addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateFacebookInstantGames(CreateOrUpdateFacebookInstantGamesRequest request, Action<CreateOrUpdateFacebookInstantGamesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateFacebookInstantGames", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Google addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateGoogle(CreateOrUpdateGoogleRequest request, Action<CreateOrUpdateGoogleResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateGoogle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Kongregate addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateKongregate(CreateOrUpdateKongregateRequest request, Action<CreateOrUpdateKongregateResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateKongregate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Nintendo addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateNintendo(CreateOrUpdateNintendoRequest request, Action<CreateOrUpdateNintendoResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateNintendo", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the PSN addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdatePSN(CreateOrUpdatePSNRequest request, Action<CreateOrUpdatePSNResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdatePSN", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Steam addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateSteam(CreateOrUpdateSteamRequest request, Action<CreateOrUpdateSteamResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateSteam", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Creates the Twitch addon on a title, or updates it if it already exists.
/// </summary>
public static void CreateOrUpdateTwitch(CreateOrUpdateTwitchRequest request, Action<CreateOrUpdateTwitchResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateTwitch", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Apple addon on a title.
/// </summary>
public static void DeleteApple(DeleteAppleRequest request, Action<DeleteAppleResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteApple", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Facebook addon on a title.
/// </summary>
public static void DeleteFacebook(DeleteFacebookRequest request, Action<DeleteFacebookResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteFacebook", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Facebook addon on a title.
/// </summary>
public static void DeleteFacebookInstantGames(DeleteFacebookInstantGamesRequest request, Action<DeleteFacebookInstantGamesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteFacebookInstantGames", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Google addon on a title.
/// </summary>
public static void DeleteGoogle(DeleteGoogleRequest request, Action<DeleteGoogleResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteGoogle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Kongregate addon on a title.
/// </summary>
public static void DeleteKongregate(DeleteKongregateRequest request, Action<DeleteKongregateResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteKongregate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Nintendo addon on a title.
/// </summary>
public static void DeleteNintendo(DeleteNintendoRequest request, Action<DeleteNintendoResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteNintendo", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the PSN addon on a title.
/// </summary>
public static void DeletePSN(DeletePSNRequest request, Action<DeletePSNResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeletePSN", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Steam addon on a title.
/// </summary>
public static void DeleteSteam(DeleteSteamRequest request, Action<DeleteSteamResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteSteam", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the Twitch addon on a title.
/// </summary>
public static void DeleteTwitch(DeleteTwitchRequest request, Action<DeleteTwitchResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteTwitch", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Apple addon on a title, omits secrets.
/// </summary>
public static void GetApple(GetAppleRequest request, Action<GetAppleResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetApple", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Facebook addon on a title, omits secrets.
/// </summary>
public static void GetFacebook(GetFacebookRequest request, Action<GetFacebookResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetFacebook", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Facebook Instant Games addon on a title, omits secrets.
/// </summary>
public static void GetFacebookInstantGames(GetFacebookInstantGamesRequest request, Action<GetFacebookInstantGamesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetFacebookInstantGames", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Google addon on a title, omits secrets.
/// </summary>
public static void GetGoogle(GetGoogleRequest request, Action<GetGoogleResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetGoogle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Kongregate addon on a title, omits secrets.
/// </summary>
public static void GetKongregate(GetKongregateRequest request, Action<GetKongregateResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetKongregate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Nintendo addon on a title, omits secrets.
/// </summary>
public static void GetNintendo(GetNintendoRequest request, Action<GetNintendoResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetNintendo", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the PSN addon on a title, omits secrets.
/// </summary>
public static void GetPSN(GetPSNRequest request, Action<GetPSNResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetPSN", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Steam addon on a title, omits secrets.
/// </summary>
public static void GetSteam(GetSteamRequest request, Action<GetSteamResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetSteam", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information of the Twitch addon on a title, omits secrets.
/// </summary>
public static void GetTwitch(GetTwitchRequest request, Action<GetTwitchResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetTwitch", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 16e6981cbc311934bab9111885dbfc1a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,354 @@
#if !DISABLE_PLAYFABENTITY_API
using System;
using System.Collections.Generic;
using PlayFab.AddonModels;
using PlayFab.Internal;
using PlayFab.SharedModels;
namespace PlayFab
{
/// <summary>
/// APIs for managing addons.
/// </summary>
public class PlayFabAddonInstanceAPI : IPlayFabInstanceApi
{
public readonly PlayFabApiSettings apiSettings = null;
public readonly PlayFabAuthenticationContext authenticationContext = null;
public PlayFabAddonInstanceAPI(PlayFabAuthenticationContext context)
{
if (context == null)
throw new PlayFabException(PlayFabExceptionCode.AuthContextRequired, "Context cannot be null, create a PlayFabAuthenticationContext for each player in advance, or call <PlayFabClientInstanceAPI>.GetAuthenticationContext()");
authenticationContext = context;
}
public PlayFabAddonInstanceAPI(PlayFabApiSettings settings, PlayFabAuthenticationContext context)
{
if (context == null)
throw new PlayFabException(PlayFabExceptionCode.AuthContextRequired, "Context cannot be null, create a PlayFabAuthenticationContext for each player in advance, or call <PlayFabClientInstanceAPI>.GetAuthenticationContext()");
apiSettings = settings;
authenticationContext = context;
}
/// <summary>
/// Verify entity login.
/// </summary>
public bool IsEntityLoggedIn()
{
return authenticationContext == null ? false : authenticationContext.IsEntityLoggedIn();
}
/// <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>
/// Creates the Apple addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateApple(CreateOrUpdateAppleRequest request, Action<CreateOrUpdateAppleResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateApple", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Facebook addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateFacebook(CreateOrUpdateFacebookRequest request, Action<CreateOrUpdateFacebookResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateFacebook", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Facebook Instant Games addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateFacebookInstantGames(CreateOrUpdateFacebookInstantGamesRequest request, Action<CreateOrUpdateFacebookInstantGamesResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateFacebookInstantGames", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Google addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateGoogle(CreateOrUpdateGoogleRequest request, Action<CreateOrUpdateGoogleResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateGoogle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Kongregate addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateKongregate(CreateOrUpdateKongregateRequest request, Action<CreateOrUpdateKongregateResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateKongregate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Nintendo addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateNintendo(CreateOrUpdateNintendoRequest request, Action<CreateOrUpdateNintendoResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateNintendo", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the PSN addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdatePSN(CreateOrUpdatePSNRequest request, Action<CreateOrUpdatePSNResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdatePSN", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Steam addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateSteam(CreateOrUpdateSteamRequest request, Action<CreateOrUpdateSteamResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateSteam", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Creates the Twitch addon on a title, or updates it if it already exists.
/// </summary>
public void CreateOrUpdateTwitch(CreateOrUpdateTwitchRequest request, Action<CreateOrUpdateTwitchResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/CreateOrUpdateTwitch", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Apple addon on a title.
/// </summary>
public void DeleteApple(DeleteAppleRequest request, Action<DeleteAppleResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteApple", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Facebook addon on a title.
/// </summary>
public void DeleteFacebook(DeleteFacebookRequest request, Action<DeleteFacebookResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteFacebook", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Facebook addon on a title.
/// </summary>
public void DeleteFacebookInstantGames(DeleteFacebookInstantGamesRequest request, Action<DeleteFacebookInstantGamesResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteFacebookInstantGames", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Google addon on a title.
/// </summary>
public void DeleteGoogle(DeleteGoogleRequest request, Action<DeleteGoogleResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteGoogle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Kongregate addon on a title.
/// </summary>
public void DeleteKongregate(DeleteKongregateRequest request, Action<DeleteKongregateResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteKongregate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Nintendo addon on a title.
/// </summary>
public void DeleteNintendo(DeleteNintendoRequest request, Action<DeleteNintendoResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteNintendo", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the PSN addon on a title.
/// </summary>
public void DeletePSN(DeletePSNRequest request, Action<DeletePSNResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeletePSN", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Steam addon on a title.
/// </summary>
public void DeleteSteam(DeleteSteamRequest request, Action<DeleteSteamResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteSteam", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the Twitch addon on a title.
/// </summary>
public void DeleteTwitch(DeleteTwitchRequest request, Action<DeleteTwitchResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/DeleteTwitch", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Apple addon on a title, omits secrets.
/// </summary>
public void GetApple(GetAppleRequest request, Action<GetAppleResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetApple", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Facebook addon on a title, omits secrets.
/// </summary>
public void GetFacebook(GetFacebookRequest request, Action<GetFacebookResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetFacebook", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Facebook Instant Games addon on a title, omits secrets.
/// </summary>
public void GetFacebookInstantGames(GetFacebookInstantGamesRequest request, Action<GetFacebookInstantGamesResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetFacebookInstantGames", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Google addon on a title, omits secrets.
/// </summary>
public void GetGoogle(GetGoogleRequest request, Action<GetGoogleResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetGoogle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Kongregate addon on a title, omits secrets.
/// </summary>
public void GetKongregate(GetKongregateRequest request, Action<GetKongregateResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetKongregate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Nintendo addon on a title, omits secrets.
/// </summary>
public void GetNintendo(GetNintendoRequest request, Action<GetNintendoResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetNintendo", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the PSN addon on a title, omits secrets.
/// </summary>
public void GetPSN(GetPSNRequest request, Action<GetPSNResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetPSN", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Steam addon on a title, omits secrets.
/// </summary>
public void GetSteam(GetSteamRequest request, Action<GetSteamResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetSteam", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information of the Twitch addon on a title, omits secrets.
/// </summary>
public void GetTwitch(GetTwitchRequest request, Action<GetTwitchResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Addon/GetTwitch", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cb16ee30d77a0bd4095b94a53a375676
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,793 @@
#if !DISABLE_PLAYFABENTITY_API
using System;
using System.Collections.Generic;
using PlayFab.SharedModels;
namespace PlayFab.AddonModels
{
[Serializable]
public class CreateOrUpdateAppleRequest : PlayFabRequestCommon
{
/// <summary>
/// iOS App Bundle ID obtained after setting up your app in the App Store.
/// </summary>
public string AppBundleId;
/// <summary>
/// iOS App Shared Secret obtained after setting up your app in the App Store.
/// </summary>
public string AppSharedSecret;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
/// <summary>
/// Ignore expiration date for identity tokens. Be aware that when set to true this can invalidate expired tokens in the
/// case where Apple rotates their signing keys.
/// </summary>
public bool? IgnoreExpirationDate;
/// <summary>
/// Require secure authentication only for this app.
/// </summary>
public bool? RequireSecureAuthentication;
}
[Serializable]
public class CreateOrUpdateAppleResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateFacebookInstantGamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Facebook App ID obtained after setting up your app in Facebook Instant Games.
/// </summary>
public string AppID;
/// <summary>
/// Facebook App Secret obtained after setting up your app in Facebook Instant Games.
/// </summary>
public string AppSecret;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
}
[Serializable]
public class CreateOrUpdateFacebookInstantGamesResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateFacebookRequest : PlayFabRequestCommon
{
/// <summary>
/// Facebook App ID obtained after setting up your app in Facebook.
/// </summary>
public string AppID;
/// <summary>
/// Facebook App Secret obtained after setting up your app in Facebook.
/// </summary>
public string AppSecret;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
/// <summary>
/// Email address for purchase dispute notifications.
/// </summary>
public string NotificationEmail;
}
[Serializable]
public class CreateOrUpdateFacebookResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateGoogleRequest : PlayFabRequestCommon
{
/// <summary>
/// Google App License Key obtained after setting up your app in the Google Play developer portal. Required if using Google
/// receipt validation.
/// </summary>
public string AppLicenseKey;
/// <summary>
/// Google App Package ID obtained after setting up your app in the Google Play developer portal. Required if using Google
/// receipt validation.
/// </summary>
public string AppPackageID;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
/// <summary>
/// Google OAuth Client ID obtained through the Google Developer Console by creating a new set of "OAuth Client ID".
/// Required if using Google Authentication.
/// </summary>
public string OAuthClientID;
/// <summary>
/// Google OAuth Client Secret obtained through the Google Developer Console by creating a new set of "OAuth Client ID".
/// Required if using Google Authentication.
/// </summary>
public string OAuthClientSecret;
/// <summary>
/// Authorized Redirect Uri obtained through the Google Developer Console. This currently defaults to
/// https://oauth.playfab.com/oauth2/google. If you are authenticating players via browser, please update this to your own
/// domain.
/// </summary>
public string OAuthCustomRedirectUri;
/// <summary>
/// Needed to enable pending purchase handling and subscription processing.
/// </summary>
public string ServiceAccountKey;
}
[Serializable]
public class CreateOrUpdateGoogleResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateKongregateRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
/// <summary>
/// Kongregate Secret API Key obtained after setting up your game in your Kongregate developer account.
/// </summary>
public string SecretAPIKey;
}
[Serializable]
public class CreateOrUpdateKongregateResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateNintendoRequest : PlayFabRequestCommon
{
/// <summary>
/// Nintendo Switch Application ID, without the "0x" prefix.
/// </summary>
public string ApplicationID;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// List of Nintendo Environments, currently supporting up to 4. Needs Catalog enabled.
/// </summary>
public List<NintendoEnvironment> Environments;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
}
[Serializable]
public class CreateOrUpdateNintendoResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdatePSNRequest : PlayFabRequestCommon
{
/// <summary>
/// Client ID obtained after setting up your game with Sony. This one is associated with the existing PS4 marketplace.
/// </summary>
public string ClientID;
/// <summary>
/// Client secret obtained after setting up your game with Sony. This one is associated with the existing PS4 marketplace.
/// </summary>
public string ClientSecret;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
/// <summary>
/// Client ID obtained after setting up your game with Sony. This one is associated with the modern marketplace, which
/// includes PS5, cross-generation for PS4, and unified entitlements.
/// </summary>
public string NextGenClientID;
/// <summary>
/// Client secret obtained after setting up your game with Sony. This one is associated with the modern marketplace, which
/// includes PS5, cross-generation for PS4, and unified entitlements.
/// </summary>
public string NextGenClientSecret;
}
[Serializable]
public class CreateOrUpdatePSNResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateSteamRequest : PlayFabRequestCommon
{
/// <summary>
/// Application ID obtained after setting up your app in Valve's developer portal.
/// </summary>
public string ApplicationId;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Enforce usage of AzurePlayFab identity in user authentication tickets.
/// </summary>
public bool? EnforceServiceSpecificTickets;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
/// <summary>
/// Sercet Key obtained after setting up your app in Valve's developer portal.
/// </summary>
public string SecretKey;
/// <summary>
/// Use Steam Payments sandbox endpoint for test transactions.
/// </summary>
public bool? UseSandbox;
}
[Serializable]
public class CreateOrUpdateSteamResponse : PlayFabResultCommon
{
}
[Serializable]
public class CreateOrUpdateTwitchRequest : PlayFabRequestCommon
{
/// <summary>
/// Client ID obtained after creating your Twitch developer account.
/// </summary>
public string ClientID;
/// <summary>
/// Client Secret obtained after creating your Twitch developer account.
/// </summary>
public string ClientSecret;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// If an error should be returned if the addon already exists.
/// </summary>
public bool? ErrorIfExists;
}
[Serializable]
public class CreateOrUpdateTwitchResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteAppleRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteAppleResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteFacebookInstantGamesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteFacebookInstantGamesResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteFacebookRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteFacebookResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteGoogleRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteGoogleResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteKongregateRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteKongregateResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteNintendoRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteNintendoResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeletePSNRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeletePSNResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteSteamRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteSteamResponse : PlayFabResultCommon
{
}
[Serializable]
public class DeleteTwitchRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class DeleteTwitchResponse : PlayFabResultCommon
{
}
/// <summary>
/// Combined entity type and ID structure which uniquely identifies a single entity.
/// </summary>
[Serializable]
public class EntityKey : PlayFabBaseModel
{
/// <summary>
/// Unique ID of the entity.
/// </summary>
public string Id;
/// <summary>
/// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
/// </summary>
public string Type;
}
[Serializable]
public class GetAppleRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetAppleResponse : PlayFabResultCommon
{
/// <summary>
/// iOS App Bundle ID obtained after setting up your app in the App Store.
/// </summary>
public string AppBundleId;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
/// <summary>
/// Ignore expiration date for identity tokens.
/// </summary>
public bool? IgnoreExpirationDate;
/// <summary>
/// Require secure authentication only for this app.
/// </summary>
public bool? RequireSecureAuthentication;
}
[Serializable]
public class GetFacebookInstantGamesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetFacebookInstantGamesResponse : PlayFabResultCommon
{
/// <summary>
/// Facebook App ID obtained after setting up your app in Facebook Instant Games.
/// </summary>
public string AppID;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
}
[Serializable]
public class GetFacebookRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetFacebookResponse : PlayFabResultCommon
{
/// <summary>
/// Facebook App ID obtained after setting up your app in Facebook.
/// </summary>
public string AppID;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
/// <summary>
/// Email address for purchase dispute notifications.
/// </summary>
public string NotificationEmail;
}
[Serializable]
public class GetGoogleRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetGoogleResponse : PlayFabResultCommon
{
/// <summary>
/// Google App Package ID obtained after setting up your app in the Google Play developer portal. Required if using Google
/// receipt validation.
/// </summary>
public string AppPackageID;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
/// <summary>
/// Google OAuth Client ID obtained through the Google Developer Console by creating a new set of "OAuth Client ID".
/// Required if using Google Authentication.
/// </summary>
public string OAuthClientID;
/// <summary>
/// Authorized Redirect Uri obtained through the Google Developer Console. This currently defaults to
/// https://oauth.playfab.com/oauth2/google. If you are authenticating players via browser, please update this to your own
/// domain.
/// </summary>
public string OauthCustomRedirectUri;
}
[Serializable]
public class GetKongregateRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetKongregateResponse : PlayFabResultCommon
{
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
}
[Serializable]
public class GetNintendoRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetNintendoResponse : PlayFabResultCommon
{
/// <summary>
/// Nintendo Switch Application ID, without the "0x" prefix.
/// </summary>
public string ApplicationID;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
/// <summary>
/// List of Nintendo Environments, currently supporting up to 4.
/// </summary>
public List<NintendoEnvironment> Environments;
}
[Serializable]
public class GetPSNRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetPSNResponse : PlayFabResultCommon
{
/// <summary>
/// Client ID obtained after setting up your game with Sony. This one is associated with the existing PS4 marketplace.
/// </summary>
public string ClientID;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
/// <summary>
/// Client ID obtained after setting up your game with Sony. This one is associated with the modern marketplace, which
/// includes PS5, cross-generation for PS4, and unified entitlements.
/// </summary>
public string NextGenClientID;
}
[Serializable]
public class GetSteamRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetSteamResponse : PlayFabResultCommon
{
/// <summary>
/// Application ID obtained after setting up your game in Valve's developer portal.
/// </summary>
public string ApplicationId;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
/// <summary>
/// Enforce usage of AzurePlayFab identity in user authentication tickets.
/// </summary>
public bool? EnforceServiceSpecificTickets;
/// <summary>
/// Use Steam Payments sandbox endpoint for test transactions.
/// </summary>
public bool? UseSandbox;
}
[Serializable]
public class GetTwitchRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetTwitchResponse : PlayFabResultCommon
{
/// <summary>
/// Client ID obtained after creating your Twitch developer account.
/// </summary>
public string ClientID;
/// <summary>
/// Addon status.
/// </summary>
public bool Created;
}
[Serializable]
public class NintendoEnvironment : PlayFabBaseModel
{
/// <summary>
/// Client ID for the Nintendo Environment.
/// </summary>
public string ClientID;
/// <summary>
/// Client Secret for the Nintendo Environment.
/// </summary>
public string ClientSecret;
/// <summary>
/// ID for the Nintendo Environment.
/// </summary>
public string ID;
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 87ffcc7751ee8d54a9effc1467d73c87
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,64 @@
#if !DISABLE_PLAYFABENTITY_API
using PlayFab.AddonModels;
namespace PlayFab.Events
{
public partial class PlayFabEvents
{
public event PlayFabRequestEvent<CreateOrUpdateAppleRequest> OnAddonCreateOrUpdateAppleRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateAppleResponse> OnAddonCreateOrUpdateAppleResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateFacebookRequest> OnAddonCreateOrUpdateFacebookRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateFacebookResponse> OnAddonCreateOrUpdateFacebookResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateFacebookInstantGamesRequest> OnAddonCreateOrUpdateFacebookInstantGamesRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateFacebookInstantGamesResponse> OnAddonCreateOrUpdateFacebookInstantGamesResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateGoogleRequest> OnAddonCreateOrUpdateGoogleRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateGoogleResponse> OnAddonCreateOrUpdateGoogleResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateKongregateRequest> OnAddonCreateOrUpdateKongregateRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateKongregateResponse> OnAddonCreateOrUpdateKongregateResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateNintendoRequest> OnAddonCreateOrUpdateNintendoRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateNintendoResponse> OnAddonCreateOrUpdateNintendoResultEvent;
public event PlayFabRequestEvent<CreateOrUpdatePSNRequest> OnAddonCreateOrUpdatePSNRequestEvent;
public event PlayFabResultEvent<CreateOrUpdatePSNResponse> OnAddonCreateOrUpdatePSNResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateSteamRequest> OnAddonCreateOrUpdateSteamRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateSteamResponse> OnAddonCreateOrUpdateSteamResultEvent;
public event PlayFabRequestEvent<CreateOrUpdateTwitchRequest> OnAddonCreateOrUpdateTwitchRequestEvent;
public event PlayFabResultEvent<CreateOrUpdateTwitchResponse> OnAddonCreateOrUpdateTwitchResultEvent;
public event PlayFabRequestEvent<DeleteAppleRequest> OnAddonDeleteAppleRequestEvent;
public event PlayFabResultEvent<DeleteAppleResponse> OnAddonDeleteAppleResultEvent;
public event PlayFabRequestEvent<DeleteFacebookRequest> OnAddonDeleteFacebookRequestEvent;
public event PlayFabResultEvent<DeleteFacebookResponse> OnAddonDeleteFacebookResultEvent;
public event PlayFabRequestEvent<DeleteFacebookInstantGamesRequest> OnAddonDeleteFacebookInstantGamesRequestEvent;
public event PlayFabResultEvent<DeleteFacebookInstantGamesResponse> OnAddonDeleteFacebookInstantGamesResultEvent;
public event PlayFabRequestEvent<DeleteGoogleRequest> OnAddonDeleteGoogleRequestEvent;
public event PlayFabResultEvent<DeleteGoogleResponse> OnAddonDeleteGoogleResultEvent;
public event PlayFabRequestEvent<DeleteKongregateRequest> OnAddonDeleteKongregateRequestEvent;
public event PlayFabResultEvent<DeleteKongregateResponse> OnAddonDeleteKongregateResultEvent;
public event PlayFabRequestEvent<DeleteNintendoRequest> OnAddonDeleteNintendoRequestEvent;
public event PlayFabResultEvent<DeleteNintendoResponse> OnAddonDeleteNintendoResultEvent;
public event PlayFabRequestEvent<DeletePSNRequest> OnAddonDeletePSNRequestEvent;
public event PlayFabResultEvent<DeletePSNResponse> OnAddonDeletePSNResultEvent;
public event PlayFabRequestEvent<DeleteSteamRequest> OnAddonDeleteSteamRequestEvent;
public event PlayFabResultEvent<DeleteSteamResponse> OnAddonDeleteSteamResultEvent;
public event PlayFabRequestEvent<DeleteTwitchRequest> OnAddonDeleteTwitchRequestEvent;
public event PlayFabResultEvent<DeleteTwitchResponse> OnAddonDeleteTwitchResultEvent;
public event PlayFabRequestEvent<GetAppleRequest> OnAddonGetAppleRequestEvent;
public event PlayFabResultEvent<GetAppleResponse> OnAddonGetAppleResultEvent;
public event PlayFabRequestEvent<GetFacebookRequest> OnAddonGetFacebookRequestEvent;
public event PlayFabResultEvent<GetFacebookResponse> OnAddonGetFacebookResultEvent;
public event PlayFabRequestEvent<GetFacebookInstantGamesRequest> OnAddonGetFacebookInstantGamesRequestEvent;
public event PlayFabResultEvent<GetFacebookInstantGamesResponse> OnAddonGetFacebookInstantGamesResultEvent;
public event PlayFabRequestEvent<GetGoogleRequest> OnAddonGetGoogleRequestEvent;
public event PlayFabResultEvent<GetGoogleResponse> OnAddonGetGoogleResultEvent;
public event PlayFabRequestEvent<GetKongregateRequest> OnAddonGetKongregateRequestEvent;
public event PlayFabResultEvent<GetKongregateResponse> OnAddonGetKongregateResultEvent;
public event PlayFabRequestEvent<GetNintendoRequest> OnAddonGetNintendoRequestEvent;
public event PlayFabResultEvent<GetNintendoResponse> OnAddonGetNintendoResultEvent;
public event PlayFabRequestEvent<GetPSNRequest> OnAddonGetPSNRequestEvent;
public event PlayFabResultEvent<GetPSNResponse> OnAddonGetPSNResultEvent;
public event PlayFabRequestEvent<GetSteamRequest> OnAddonGetSteamRequestEvent;
public event PlayFabResultEvent<GetSteamResponse> OnAddonGetSteamResultEvent;
public event PlayFabRequestEvent<GetTwitchRequest> OnAddonGetTwitchRequestEvent;
public event PlayFabResultEvent<GetTwitchResponse> OnAddonGetTwitchResultEvent;
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d196246361876214999b16fe616a0f32
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -77,7 +77,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the specified virtual currency by the stated amount
/// _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 specified virtual currency by the stated amount
/// </summary>
public static void AddUserVirtualCurrency(AddUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -90,8 +91,9 @@ namespace PlayFab
}
/// <summary>
/// Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum value of
/// 2,147,483,647 when granted to a player. Any value over that will be discarded.
/// _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 one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum
/// value of 2,147,483,647 when granted to a player. Any value over that will be discarded.
/// </summary>
public static void AddVirtualCurrencyTypes(AddVirtualCurrencyTypesRequest request, Action<BlankResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -117,7 +119,8 @@ namespace PlayFab
}
/// <summary>
/// Checks the global count for the limited edition item.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Checks the global count for the limited edition item.
/// </summary>
public static void CheckLimitedEditionItemAvailability(CheckLimitedEditionItemAvailabilityRequest request, Action<CheckLimitedEditionItemAvailabilityResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -249,6 +252,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Admin/DeleteMasterPlayerAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage
/// </summary>
public static void DeleteMasterPlayerEventData(DeleteMasterPlayerEventDataRequest request, Action<DeleteMasterPlayerEventDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/DeleteMasterPlayerEventData", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes a player's subscription
/// </summary>
@ -316,7 +332,8 @@ namespace PlayFab
}
/// <summary>
/// Deletes an existing virtual item store
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Deletes an existing virtual item store
/// </summary>
public static void DeleteStore(DeleteStoreRequest request, Action<DeleteStoreResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -423,7 +440,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
/// _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 static void GetCatalogItems(GetCatalogItemsRequest request, Action<GetCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -516,34 +534,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Admin/GetDataReport", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the details for a specific completed session, including links to standard out and standard error logs
/// </summary>
[Obsolete("Use 'MultiplayerServer/GetMultiplayerSessionLogsBySessionId' instead", false)]
public static void GetMatchmakerGameInfo(GetMatchmakerGameInfoRequest request, Action<GetMatchmakerGameInfoResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/GetMatchmakerGameInfo", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the details of defined game modes for the specified game server executable
/// </summary>
[Obsolete("No longer available", false)]
public static void GetMatchmakerGameModes(GetMatchmakerGameModesRequest request, Action<GetMatchmakerGameModesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/GetMatchmakerGameModes", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get the list of titles that the player has played
/// </summary>
@ -693,7 +683,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the random drop table configuration for the title
/// _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 random drop table configuration for the title
/// </summary>
public static void GetRandomResultTables(GetRandomResultTablesRequest request, Action<GetRandomResultTablesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -735,7 +726,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the set of items defined for the specified store, including all prices defined
/// _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 static void GetStoreItems(GetStoreItemsRequest request, Action<GetStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -852,7 +844,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified user's current inventory of virtual goods
/// _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 user's current inventory of virtual goods
/// </summary>
public static void GetUserInventory(GetUserInventoryRequest request, Action<GetUserInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -917,7 +910,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified user inventories
/// _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 specified items to the specified user inventories
/// </summary>
public static void GrantItemsToUsers(GrantItemsToUsersRequest request, Action<GrantItemsToUsersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -930,7 +924,8 @@ namespace PlayFab
}
/// <summary>
/// Increases the global count for the given scarce resource.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Increases the global count for the given scarce resource.
/// </summary>
public static void IncrementLimitedEditionItemAvailability(IncrementLimitedEditionItemAvailabilityRequest request, Action<IncrementLimitedEditionItemAvailabilityResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -969,7 +964,8 @@ namespace PlayFab
}
/// <summary>
/// Retuns the list of all defined virtual currencies for the title
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Retuns the list of all defined virtual currencies for the title
/// </summary>
public static void ListVirtualCurrencyTypes(ListVirtualCurrencyTypesRequest request, Action<ListVirtualCurrencyTypesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -982,21 +978,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the build details for the specified game server executable
/// </summary>
[Obsolete("No longer available", false)]
public static void ModifyServerBuild(ModifyServerBuildRequest request, Action<ModifyServerBuildResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/ModifyServerBuild", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Attempts to process an order refund through the original real money payment provider.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Attempts to process an order refund through the original real money payment provider.
/// </summary>
public static void RefundPurchase(RefundPurchaseRequest request, Action<RefundPurchaseResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1022,7 +1005,8 @@ namespace PlayFab
}
/// <summary>
/// Removes one or more virtual currencies from the set defined for the title.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Removes one or more virtual currencies from the set defined for the title.
/// </summary>
public static void RemoveVirtualCurrencyTypes(RemoveVirtualCurrencyTypesRequest request, Action<BlankResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1074,7 +1058,8 @@ namespace PlayFab
}
/// <summary>
/// Attempts to resolve a dispute with the original order's payment provider.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Attempts to resolve a dispute with the original order's payment provider.
/// </summary>
public static void ResolvePurchaseDispute(ResolvePurchaseDisputeRequest request, Action<ResolvePurchaseDisputeResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1113,7 +1098,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access to an item in a user's inventory
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access to an item in a user's inventory
/// </summary>
public static void RevokeInventoryItem(RevokeInventoryItemRequest request, Action<RevokeInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1126,7 +1112,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access for up to 25 items across multiple users and characters.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access for up to 25 items across multiple users and characters.
/// </summary>
public static void RevokeInventoryItems(RevokeInventoryItemsRequest request, Action<RevokeInventoryItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1167,7 +1154,8 @@ namespace PlayFab
}
/// <summary>
/// Creates the catalog configuration of all virtual goods for the specified catalog version
/// _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 the catalog configuration of all virtual goods for the specified catalog version
/// </summary>
public static void SetCatalogItems(UpdateCatalogItemsRequest request, Action<UpdateCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1232,7 +1220,8 @@ namespace PlayFab
}
/// <summary>
/// Sets all the items in one virtual store
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Sets all the items in one virtual store
/// </summary>
public static void SetStoreItems(UpdateStoreItemsRequest request, Action<UpdateStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1303,7 +1292,8 @@ namespace PlayFab
}
/// <summary>
/// Decrements the specified virtual currency by the stated amount
/// _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 specified virtual currency by the stated amount
/// </summary>
public static void SubtractUserVirtualCurrency(SubtractUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1329,7 +1319,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the catalog configuration for virtual goods in the specified catalog version
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates the catalog configuration for virtual goods in the specified catalog version
/// </summary>
public static void UpdateCatalogItems(UpdateCatalogItemsRequest request, Action<UpdateCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1409,7 +1400,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the random drop table configuration for the title
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates the random drop table configuration for the title
/// </summary>
public static void UpdateRandomResultTables(UpdateRandomResultTablesRequest request, Action<UpdateRandomResultTablesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1435,7 +1427,8 @@ namespace PlayFab
}
/// <summary>
/// Updates an existing virtual item store with new or modified items
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates an existing virtual item store with new or modified items
/// </summary>
public static void UpdateStoreItems(UpdateStoreItemsRequest request, Action<UpdateStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{

View File

@ -91,7 +91,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the specified virtual currency by the stated amount
/// _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 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)
{
@ -102,8 +103,9 @@ namespace PlayFab
}
/// <summary>
/// Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum value of
/// 2,147,483,647 when granted to a player. Any value over that will be discarded.
/// _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 one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum
/// value of 2,147,483,647 when granted to a player. Any value over that will be discarded.
/// </summary>
public void AddVirtualCurrencyTypes(AddVirtualCurrencyTypesRequest request, Action<BlankResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -125,7 +127,8 @@ namespace PlayFab
}
/// <summary>
/// Checks the global count for the limited edition item.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Checks the global count for the limited edition item.
/// </summary>
public void CheckLimitedEditionItemAvailability(CheckLimitedEditionItemAvailabilityRequest request, Action<CheckLimitedEditionItemAvailabilityResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -237,6 +240,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Admin/DeleteMasterPlayerAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage
/// </summary>
public void DeleteMasterPlayerEventData(DeleteMasterPlayerEventDataRequest request, Action<DeleteMasterPlayerEventDataResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/DeleteMasterPlayerEventData", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes a player's subscription
/// </summary>
@ -294,7 +308,8 @@ namespace PlayFab
}
/// <summary>
/// Deletes an existing virtual item store
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Deletes an existing virtual item store
/// </summary>
public void DeleteStore(DeleteStoreRequest request, Action<DeleteStoreResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -385,7 +400,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
/// _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)
{
@ -464,30 +480,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Admin/GetDataReport", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Retrieves the details for a specific completed session, including links to standard out and standard error logs
/// </summary>
[Obsolete("Use 'MultiplayerServer/GetMultiplayerSessionLogsBySessionId' instead", false)]
public void GetMatchmakerGameInfo(GetMatchmakerGameInfoRequest request, Action<GetMatchmakerGameInfoResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/GetMatchmakerGameInfo", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Retrieves the details of defined game modes for the specified game server executable
/// </summary>
[Obsolete("No longer available", false)]
public void GetMatchmakerGameModes(GetMatchmakerGameModesRequest request, Action<GetMatchmakerGameModesResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/GetMatchmakerGameModes", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get the list of titles that the player has played
/// </summary>
@ -615,7 +607,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the random drop table configuration for the title
/// _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 random drop table configuration for the title
/// </summary>
public void GetRandomResultTables(GetRandomResultTablesRequest request, Action<GetRandomResultTablesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -651,7 +644,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the set of items defined for the specified store, including all prices defined
/// _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)
{
@ -750,7 +744,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified user's current inventory of virtual goods
/// _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 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)
{
@ -805,7 +800,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified user inventories
/// _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 specified items to the specified user inventories
/// </summary>
public void GrantItemsToUsers(GrantItemsToUsersRequest request, Action<GrantItemsToUsersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -816,7 +812,8 @@ namespace PlayFab
}
/// <summary>
/// Increases the global count for the given scarce resource.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Increases the global count for the given scarce resource.
/// </summary>
public void IncrementLimitedEditionItemAvailability(IncrementLimitedEditionItemAvailabilityRequest request, Action<IncrementLimitedEditionItemAvailabilityResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -849,7 +846,8 @@ namespace PlayFab
}
/// <summary>
/// Retuns the list of all defined virtual currencies for the title
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Retuns the list of all defined virtual currencies for the title
/// </summary>
public void ListVirtualCurrencyTypes(ListVirtualCurrencyTypesRequest request, Action<ListVirtualCurrencyTypesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -860,19 +858,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the build details for the specified game server executable
/// </summary>
[Obsolete("No longer available", false)]
public void ModifyServerBuild(ModifyServerBuildRequest request, Action<ModifyServerBuildResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Admin/ModifyServerBuild", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Attempts to process an order refund through the original real money payment provider.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Attempts to process an order refund through the original real money payment provider.
/// </summary>
public void RefundPurchase(RefundPurchaseRequest request, Action<RefundPurchaseResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -894,7 +881,8 @@ namespace PlayFab
}
/// <summary>
/// Removes one or more virtual currencies from the set defined for the title.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Removes one or more virtual currencies from the set defined for the title.
/// </summary>
public void RemoveVirtualCurrencyTypes(RemoveVirtualCurrencyTypesRequest request, Action<BlankResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -938,7 +926,8 @@ namespace PlayFab
}
/// <summary>
/// Attempts to resolve a dispute with the original order's payment provider.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Attempts to resolve a dispute with the original order's payment provider.
/// </summary>
public void ResolvePurchaseDispute(ResolvePurchaseDisputeRequest request, Action<ResolvePurchaseDisputeResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -971,7 +960,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access to an item in a user's inventory
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access to an item in a user's inventory
/// </summary>
public void RevokeInventoryItem(RevokeInventoryItemRequest request, Action<RevokeInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -982,7 +972,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access for up to 25 items across multiple users and characters.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access for up to 25 items across multiple users and characters.
/// </summary>
public void RevokeInventoryItems(RevokeInventoryItemsRequest request, Action<RevokeInventoryItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1017,7 +1008,8 @@ namespace PlayFab
}
/// <summary>
/// Creates the catalog configuration of all virtual goods for the specified catalog version
/// _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 the catalog configuration of all virtual goods for the specified catalog version
/// </summary>
public void SetCatalogItems(UpdateCatalogItemsRequest request, Action<UpdateCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1072,7 +1064,8 @@ namespace PlayFab
}
/// <summary>
/// Sets all the items in one virtual store
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Sets all the items in one virtual store
/// </summary>
public void SetStoreItems(UpdateStoreItemsRequest request, Action<UpdateStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1133,7 +1126,8 @@ namespace PlayFab
}
/// <summary>
/// Decrements the specified virtual currency by the stated amount
/// _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 specified virtual currency by the stated amount
/// </summary>
public void SubtractUserVirtualCurrency(SubtractUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1155,7 +1149,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the catalog configuration for virtual goods in the specified catalog version
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates the catalog configuration for virtual goods in the specified catalog version
/// </summary>
public void UpdateCatalogItems(UpdateCatalogItemsRequest request, Action<UpdateCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1223,7 +1218,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the random drop table configuration for the title
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates the random drop table configuration for the title
/// </summary>
public void UpdateRandomResultTables(UpdateRandomResultTablesRequest request, Action<UpdateRandomResultTablesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1245,7 +1241,8 @@ namespace PlayFab
}
/// <summary>
/// Updates an existing virtual item store with new or modified items
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates an existing virtual item store with new or modified items
/// </summary>
public void UpdateStoreItems(UpdateStoreItemsRequest request, Action<UpdateStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{

File diff suppressed because it is too large Load Diff

View File

@ -39,6 +39,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<BlankResult> OnAdminDeleteContentResultEvent;
public event PlayFabRequestEvent<DeleteMasterPlayerAccountRequest> OnAdminDeleteMasterPlayerAccountRequestEvent;
public event PlayFabResultEvent<DeleteMasterPlayerAccountResult> OnAdminDeleteMasterPlayerAccountResultEvent;
public event PlayFabRequestEvent<DeleteMasterPlayerEventDataRequest> OnAdminDeleteMasterPlayerEventDataRequestEvent;
public event PlayFabResultEvent<DeleteMasterPlayerEventDataResult> OnAdminDeleteMasterPlayerEventDataResultEvent;
public event PlayFabRequestEvent<DeleteMembershipSubscriptionRequest> OnAdminDeleteMembershipSubscriptionRequestEvent;
public event PlayFabResultEvent<DeleteMembershipSubscriptionResult> OnAdminDeleteMembershipSubscriptionResultEvent;
public event PlayFabRequestEvent<DeleteOpenIdConnectionRequest> OnAdminDeleteOpenIdConnectionRequestEvent;
@ -79,10 +81,6 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GetContentUploadUrlResult> OnAdminGetContentUploadUrlResultEvent;
public event PlayFabRequestEvent<GetDataReportRequest> OnAdminGetDataReportRequestEvent;
public event PlayFabResultEvent<GetDataReportResult> OnAdminGetDataReportResultEvent;
public event PlayFabRequestEvent<GetMatchmakerGameInfoRequest> OnAdminGetMatchmakerGameInfoRequestEvent;
public event PlayFabResultEvent<GetMatchmakerGameInfoResult> OnAdminGetMatchmakerGameInfoResultEvent;
public event PlayFabRequestEvent<GetMatchmakerGameModesRequest> OnAdminGetMatchmakerGameModesRequestEvent;
public event PlayFabResultEvent<GetMatchmakerGameModesResult> OnAdminGetMatchmakerGameModesResultEvent;
public event PlayFabRequestEvent<GetPlayedTitleListRequest> OnAdminGetPlayedTitleListRequestEvent;
public event PlayFabResultEvent<GetPlayedTitleListResult> OnAdminGetPlayedTitleListResultEvent;
public event PlayFabRequestEvent<GetPlayerIdFromAuthTokenRequest> OnAdminGetPlayerIdFromAuthTokenRequestEvent;
@ -149,8 +147,6 @@ namespace PlayFab.Events
public event PlayFabResultEvent<ListOpenIdConnectionResponse> OnAdminListOpenIdConnectionResultEvent;
public event PlayFabRequestEvent<ListVirtualCurrencyTypesRequest> OnAdminListVirtualCurrencyTypesRequestEvent;
public event PlayFabResultEvent<ListVirtualCurrencyTypesResult> OnAdminListVirtualCurrencyTypesResultEvent;
public event PlayFabRequestEvent<ModifyServerBuildRequest> OnAdminModifyServerBuildRequestEvent;
public event PlayFabResultEvent<ModifyServerBuildResult> OnAdminModifyServerBuildResultEvent;
public event PlayFabRequestEvent<RefundPurchaseRequest> OnAdminRefundPurchaseRequestEvent;
public event PlayFabResultEvent<RefundPurchaseResponse> OnAdminRefundPurchaseResultEvent;
public event PlayFabRequestEvent<RemovePlayerTagRequest> OnAdminRemovePlayerTagRequestEvent;

View File

@ -9,9 +9,9 @@ namespace PlayFab
{
/// <summary>
/// The Authentication APIs provide a convenient way to convert classic authentication responses into entity authentication
/// models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. Manage
/// API keys for authenticating any entity. The game_server API is designed to create uniquely identifiable game_server
/// entities. The game_server Entity token can be used to call Matchmaking Lobby and Pubsub for server scenarios.
/// models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. The
/// game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be
/// used to call Matchmaking Lobby and Pubsub for server scenarios.
/// </summary>
public static class PlayFabAuthenticationAPI
{

View File

@ -10,9 +10,9 @@ namespace PlayFab
{
/// <summary>
/// The Authentication APIs provide a convenient way to convert classic authentication responses into entity authentication
/// models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. Manage
/// API keys for authenticating any entity. The game_server API is designed to create uniquely identifiable game_server
/// entities. The game_server Entity token can be used to call Matchmaking Lobby and Pubsub for server scenarios.
/// models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. The
/// game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be
/// used to call Matchmaking Lobby and Pubsub for server scenarios.
/// </summary>
public class PlayFabAuthenticationInstanceAPI : IPlayFabInstanceApi
{

View File

@ -160,7 +160,14 @@ namespace PlayFab.AuthenticationModels
{
Unknown,
XboxOne,
Scarlett
Scarlett,
WindowsOneCore,
WindowsOneCoreMobile,
Win32,
android,
iOS,
PlayStation,
Nintendo
}
public enum LoginIdentityProvider
@ -186,7 +193,9 @@ namespace PlayFab.AuthenticationModels
OpenIdConnect,
Apple,
NintendoSwitchAccount,
GooglePlayGames
GooglePlayGames,
XboxMobileStore,
King
}
/// <summary>

View File

@ -120,7 +120,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the user's balance of the specified virtual currency by the stated amount
/// _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 static void AddUserVirtualCurrency(AddUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -174,8 +175,9 @@ namespace PlayFab
}
/// <summary>
/// Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and virtual
/// currency balances as appropriate
/// _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 static void ConfirmPurchase(ConfirmPurchaseRequest request, Action<ConfirmPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -188,7 +190,9 @@ namespace PlayFab
}
/// <summary>
/// Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory.
/// _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 static void ConsumeItem(ConsumeItemRequest request, Action<ConsumeItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -345,7 +349,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
/// _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 static void GetCatalogItems(GetCatalogItemsRequest request, Action<GetCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -371,7 +376,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified character's current inventory of virtual goods
/// _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 static void GetCharacterInventory(GetCharacterInventoryRequest request, Action<GetCharacterInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -440,20 +446,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/GetContentDownloadUrl", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get details about all current running game servers matching the given parameters.
/// </summary>
[Obsolete("Use 'MultiplayerServer/ListMultiplayerServers' instead", false)]
public static void GetCurrentGames(CurrentGamesRequest request, Action<CurrentGamesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Client/GetCurrentGames", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in
/// the leaderboard
@ -496,20 +488,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/GetFriendsList", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get details about the regions hosting game servers matching the given parameters.
/// </summary>
[Obsolete("Use 'MultiplayerServer/ListMultiplayerServers' instead", false)]
public static void GetGameServerRegions(GameServerRegionsRequest request, Action<GameServerRegionsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Client/GetGameServerRegions", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard
/// </summary>
@ -564,9 +542,10 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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 static void GetPaymentToken(GetPaymentTokenRequest request, Action<GetPaymentTokenResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -822,6 +801,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromPSNAccountIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers.
/// </summary>
public static 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) ?? PlayFabSettings.staticPlayer;
var callSettings = 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);
}
/// <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.
@ -836,6 +828,20 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromSteamIDs", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public static void GetPlayFabIDsFromSteamNames(GetPlayFabIDsFromSteamNamesRequest request, Action<GetPlayFabIDsFromSteamNamesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Client/GetPlayFabIDsFromSteamNames", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <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:
@ -878,8 +884,9 @@ namespace PlayFab
}
/// <summary>
/// Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that are still
/// active.
/// _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 static void GetPurchase(GetPurchaseRequest request, Action<GetPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -908,7 +915,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the set of items defined for the specified store, including all prices defined
/// _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 static void GetStoreItems(GetStoreItemsRequest request, Action<GetStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -998,7 +1006,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the user's current inventory of virtual goods
/// _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 static void GetUserInventory(GetUserInventoryRequest request, Action<GetUserInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1556,25 +1565,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/LoginWithXbox", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Attempts to locate a game session matching the given parameters. If the goal is to match the player into a specific
/// active session, only the LobbyId is required. Otherwise, the BuildVersion, GameMode, and Region are all required
/// parameters. Note that parameters specified in the search are required (they are not weighting factors). If a slot is
/// found in a server instance matching the parameters, the slot will be assigned to that player, removing it from the
/// availabe set. In that case, the information on the game session will be returned, otherwise the Status returned will be
/// GameNotFound.
/// </summary>
[Obsolete("Use 'Match/CreateMatchmakingTicket' instead", false)]
public static void Matchmake(MatchmakeRequest request, Action<MatchmakeResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsClientLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Client/Matchmake", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Opens a new outstanding trade. Note that a given item instance may only be in one open trade at a time.
/// </summary>
@ -1589,7 +1579,8 @@ namespace PlayFab
}
/// <summary>
/// Selects a payment option for purchase order created via StartPurchase
/// _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 static void PayForPurchase(PayForPurchaseRequest request, Action<PayForPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1602,8 +1593,9 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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 static void PurchaseItem(PurchaseItemRequest request, Action<PurchaseItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1616,7 +1608,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the
/// _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 static void RedeemCoupon(RedeemCouponRequest request, Action<RedeemCouponResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
@ -1657,7 +1650,7 @@ namespace PlayFab
/// <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 either a username or an email address.
/// require an authenticated user. You must supply a username and an email address.
/// </summary>
public static void RegisterPlayFabUser(RegisterPlayFabUserRequest request, Action<RegisterPlayFabUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1766,7 +1759,8 @@ namespace PlayFab
}
/// <summary>
/// Restores all in-app purchases based on the given restore receipt
/// _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 static void RestoreIOSPurchases(RestoreIOSPurchasesRequest request, Action<RestoreIOSPurchasesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1833,7 +1827,8 @@ namespace PlayFab
}
/// <summary>
/// Creates an order for a list of items from the title catalog
/// _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 static void StartPurchase(StartPurchaseRequest request, Action<StartPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1846,8 +1841,9 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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 static void SubtractUserVirtualCurrency(SubtractUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -2083,9 +2079,10 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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 static void UnlockContainerInstance(UnlockContainerInstanceRequest request, Action<UnlockContainerItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -2098,8 +2095,9 @@ namespace PlayFab
}
/// <summary>
/// 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
/// _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 static void UnlockContainerItem(UnlockContainerItemRequest request, Action<UnlockContainerItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
@ -2223,8 +2221,9 @@ namespace PlayFab
}
/// <summary>
/// Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches the
/// purchased catalog item
/// _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 static void ValidateAmazonIAPReceipt(ValidateAmazonReceiptRequest request, Action<ValidateAmazonReceiptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -2237,7 +2236,8 @@ namespace PlayFab
}
/// <summary>
/// Validates a Google Play purchase and gives the corresponding item to the player.
/// _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 static void ValidateGooglePlayPurchase(ValidateGooglePlayPurchaseRequest request, Action<ValidateGooglePlayPurchaseResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -2250,8 +2250,9 @@ namespace PlayFab
}
/// <summary>
/// Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the purchased
/// catalog item
/// _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 static void ValidateIOSReceipt(ValidateIOSReceiptRequest request, Action<ValidateIOSReceiptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -2264,8 +2265,9 @@ namespace PlayFab
}
/// <summary>
/// Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it matches the
/// purchased catalog item
/// _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 static void ValidateWindowsStoreReceipt(ValidateWindowsReceiptRequest request, Action<ValidateWindowsReceiptResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{

View File

@ -134,7 +134,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the user's balance of the specified virtual currency by the stated amount
/// _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)
{
@ -180,8 +181,9 @@ namespace PlayFab
}
/// <summary>
/// Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and virtual
/// currency balances as appropriate
/// _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)
{
@ -192,7 +194,9 @@ namespace PlayFab
}
/// <summary>
/// Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory.
/// _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)
{
@ -329,7 +333,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
/// _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)
{
@ -351,7 +356,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified character's current inventory of virtual goods
/// _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)
{
@ -410,18 +416,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/GetContentDownloadUrl", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get details about all current running game servers matching the given parameters.
/// </summary>
[Obsolete("Use 'MultiplayerServer/ListMultiplayerServers' instead", false)]
public void GetCurrentGames(CurrentGamesRequest request, Action<CurrentGamesResult> 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/GetCurrentGames", 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
@ -458,18 +452,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/GetFriendsList", request, AuthType.LoginSession, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get details about the regions hosting game servers matching the given parameters.
/// </summary>
[Obsolete("Use 'MultiplayerServer/ListMultiplayerServers' instead", false)]
public void GetGameServerRegions(GameServerRegionsRequest request, Action<GameServerRegionsResult> 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/GetGameServerRegions", 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>
@ -516,9 +498,10 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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)
{
@ -736,6 +719,17 @@ namespace PlayFab
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.
@ -748,6 +742,18 @@ namespace PlayFab
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 Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public void GetPlayFabIDsFromSteamNames(GetPlayFabIDsFromSteamNamesRequest request, Action<GetPlayFabIDsFromSteamNamesResult> 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/GetPlayFabIDsFromSteamNames", 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:
@ -784,8 +790,9 @@ namespace PlayFab
}
/// <summary>
/// Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that are still
/// active.
/// _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)
{
@ -810,7 +817,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the set of items defined for the specified store, including all prices defined
/// _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)
{
@ -886,7 +894,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the user's current inventory of virtual goods
/// _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)
{
@ -1362,23 +1371,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Client/LoginWithXbox", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Attempts to locate a game session matching the given parameters. If the goal is to match the player into a specific
/// active session, only the LobbyId is required. Otherwise, the BuildVersion, GameMode, and Region are all required
/// parameters. Note that parameters specified in the search are required (they are not weighting factors). If a slot is
/// found in a server instance matching the parameters, the slot will be assigned to that player, removing it from the
/// availabe set. In that case, the information on the game session will be returned, otherwise the Status returned will be
/// GameNotFound.
/// </summary>
[Obsolete("Use 'Match/CreateMatchmakingTicket' instead", false)]
public void Matchmake(MatchmakeRequest request, Action<MatchmakeResult> 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/Matchmake", request, AuthType.LoginSession, 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>
@ -1391,7 +1383,8 @@ namespace PlayFab
}
/// <summary>
/// Selects a payment option for purchase order created via StartPurchase
/// _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)
{
@ -1402,8 +1395,9 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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)
{
@ -1414,7 +1408,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the
/// _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)
@ -1449,7 +1444,7 @@ namespace PlayFab
/// <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 either a username or an email address.
/// 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)
{
@ -1542,7 +1537,8 @@ namespace PlayFab
}
/// <summary>
/// Restores all in-app purchases based on the given restore receipt
/// _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)
{
@ -1599,7 +1595,8 @@ namespace PlayFab
}
/// <summary>
/// Creates an order for a list of items from the title catalog
/// _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)
{
@ -1610,8 +1607,9 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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)
{
@ -1811,9 +1809,10 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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)
{
@ -1824,8 +1823,9 @@ namespace PlayFab
}
/// <summary>
/// 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
/// _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)
@ -1931,8 +1931,9 @@ namespace PlayFab
}
/// <summary>
/// Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches the
/// purchased catalog item
/// _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)
{
@ -1943,7 +1944,8 @@ namespace PlayFab
}
/// <summary>
/// Validates a Google Play purchase and gives the corresponding item to the player.
/// _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)
{
@ -1954,8 +1956,9 @@ namespace PlayFab
}
/// <summary>
/// Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the purchased
/// catalog item
/// _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)
{
@ -1966,8 +1969,9 @@ namespace PlayFab
}
/// <summary>
/// Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it matches the
/// purchased catalog item
/// _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)
{

View File

@ -613,25 +613,6 @@ namespace PlayFab.ClientModels
Specific
}
/// <summary>
/// Collection filter to include and/or exclude collections with certain key-value pairs. The filter generates a collection
/// set defined by Includes rules and then remove collections that matches the Excludes rules. A collection is considered
/// matching a rule if the rule describes a subset of the collection.
/// </summary>
[Serializable]
public class CollectionFilter : PlayFabBaseModel
{
/// <summary>
/// List of Exclude rules, with any of which if a collection matches, it is excluded by the filter.
/// </summary>
public List<Container_Dictionary_String_String> Excludes;
/// <summary>
/// List of Include rules, with any of which if a collection matches, it is included by the filter, unless it is excluded by
/// one of the Exclude rule
/// </summary>
public List<Container_Dictionary_String_String> Includes;
}
/// <summary>
/// The final step in the purchasing process, this API finalizes the purchase with the payment provider, where applicable,
/// adding virtual goods to the player inventory (including random drop table resolution and recursive addition of bundled
@ -830,18 +811,6 @@ namespace PlayFab.ClientModels
public EmailVerificationStatus? VerificationStatus;
}
/// <summary>
/// A data container
/// </summary>
[Serializable]
public class Container_Dictionary_String_String : PlayFabBaseModel
{
/// <summary>
/// Content of data
/// </summary>
public Dictionary<string,string> Data;
}
public enum ContinentCode
{
AF,
@ -850,7 +819,8 @@ namespace PlayFab.ClientModels
EU,
NA,
OC,
SA
SA,
Unknown
}
public enum CountryCode
@ -1103,7 +1073,8 @@ namespace PlayFab.ClientModels
EH,
YE,
ZM,
ZW
ZW,
Unknown
}
/// <summary>
@ -1294,48 +1265,6 @@ namespace PlayFab.ClientModels
ZWD
}
[Serializable]
public class CurrentGamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Build to match against.
/// </summary>
public string BuildVersion;
/// <summary>
/// Game mode to look for.
/// </summary>
public string GameMode;
/// <summary>
/// Region to check for Game Server Instances.
/// </summary>
public Region? Region;
/// <summary>
/// Statistic name to find statistic-based matches.
/// </summary>
public string StatisticName;
/// <summary>
/// Filter to include and/or exclude Game Server Instances associated with certain tags.
/// </summary>
public CollectionFilter TagFilter;
}
[Serializable]
public class CurrentGamesResult : PlayFabResultCommon
{
/// <summary>
/// number of games running
/// </summary>
public int GameCount;
/// <summary>
/// array of games found
/// </summary>
public List<GameInfo> Games;
/// <summary>
/// total number of players across all servers
/// </summary>
public int PlayerCount;
}
/// <summary>
/// Any arbitrary information collected by the device
/// </summary>
@ -1521,7 +1450,7 @@ namespace PlayFab.ClientModels
public class FriendInfo : PlayFabBaseModel
{
/// <summary>
/// Available Facebook information (if the user and PlayFab friend are also connected in Facebook).
/// Available Facebook information (if the user and connected Facebook friend both have PlayFab Accounts in the same title).
/// </summary>
public UserFacebookInfo FacebookInfo;
/// <summary>
@ -1529,7 +1458,8 @@ namespace PlayFab.ClientModels
/// </summary>
public string FriendPlayFabId;
/// <summary>
/// Available Game Center information (if the user and PlayFab friend are also connected in Game Center).
/// Available Game Center information (if the user and connected Game Center friend both have PlayFab Accounts in the same
/// title).
/// </summary>
public UserGameCenterInfo GameCenterInfo;
/// <summary>
@ -1537,12 +1467,12 @@ namespace PlayFab.ClientModels
/// </summary>
public PlayerProfileModel Profile;
/// <summary>
/// Available PlayStation :tm: Network information, if the user and PlayFab friend are both connected to PlayStation :tm:
/// Network.
/// Available PlayStation :tm: Network information, if the user connected PlayStation :tm Network friend both have PlayFab
/// Accounts in the same title.
/// </summary>
public UserPsnInfo PSNInfo;
/// <summary>
/// Available Steam information (if the user and PlayFab friend are also connected in Steam).
/// Available Steam information (if the user and connected Steam friend both have PlayFab Accounts in the same title).
/// </summary>
public UserSteamInfo SteamInfo;
/// <summary>
@ -1558,7 +1488,7 @@ namespace PlayFab.ClientModels
/// </summary>
public string Username;
/// <summary>
/// Available Xbox information, if the user and PlayFab friend are both connected to Xbox Live.
/// Available Xbox information, (if the user and connected Xbox Live friend both have PlayFab Accounts in the same title).
/// </summary>
public UserXboxInfo XboxInfo;
}
@ -1576,104 +1506,6 @@ namespace PlayFab.ClientModels
public string PlayFabId;
}
[Serializable]
public class GameInfo : PlayFabBaseModel
{
/// <summary>
/// build version this server is running
/// </summary>
public string BuildVersion;
/// <summary>
/// game mode this server is running
/// </summary>
public string GameMode;
/// <summary>
/// game session custom data
/// </summary>
public string GameServerData;
/// <summary>
/// game specific string denoting server configuration
/// </summary>
public GameInstanceState? GameServerStateEnum;
/// <summary>
/// last heartbeat of the game server instance, used in external game server provider mode
/// </summary>
public DateTime? LastHeartbeat;
/// <summary>
/// unique lobby identifier for this game server
/// </summary>
public string LobbyID;
/// <summary>
/// maximum players this server can support
/// </summary>
public int? MaxPlayers;
/// <summary>
/// array of current player IDs on this server
/// </summary>
public List<string> PlayerUserIds;
/// <summary>
/// region to which this server is associated
/// </summary>
public Region? Region;
/// <summary>
/// duration in seconds this server has been running
/// </summary>
public uint RunTime;
/// <summary>
/// IPV4 address of the server
/// </summary>
public string ServerIPV4Address;
/// <summary>
/// IPV6 address of the server
/// </summary>
public string ServerIPV6Address;
/// <summary>
/// port number to use for non-http communications with the server
/// </summary>
public int? ServerPort;
/// <summary>
/// Public DNS name (if any) of the server
/// </summary>
public string ServerPublicDNSName;
/// <summary>
/// stastic used to match this game in player statistic matchmaking
/// </summary>
public string StatisticName;
/// <summary>
/// game session tags
/// </summary>
public Dictionary<string,string> Tags;
}
public enum GameInstanceState
{
Open,
Closed
}
[Serializable]
public class GameServerRegionsRequest : PlayFabRequestCommon
{
/// <summary>
/// version of game server for which stats are being requested
/// </summary>
public string BuildVersion;
/// <summary>
/// Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a
/// title has been selected.
/// </summary>
public string TitleId;
}
[Serializable]
public class GameServerRegionsResult : PlayFabResultCommon
{
/// <summary>
/// array of regions found matching the request parameters
/// </summary>
public List<RegionInfo> Regions;
}
[Serializable]
public class GenericPlayFabIdPair : PlayFabBaseModel
{
@ -1966,16 +1798,6 @@ namespace PlayFab.ClientModels
/// </summary>
public ExternalFriendSources? ExternalPlatformFriends;
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeSteamFriends;
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
@ -2039,16 +1861,6 @@ namespace PlayFab.ClientModels
/// </summary>
public ExternalFriendSources? ExternalPlatformFriends;
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeSteamFriends;
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
@ -2089,16 +1901,6 @@ namespace PlayFab.ClientModels
/// </summary>
public ExternalFriendSources? ExternalPlatformFriends;
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeSteamFriends;
/// <summary>
/// If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client,
/// only the allowed client profile properties for the title may be requested. These allowed properties are configured in
/// the Game Manager "Client Profile Options" tab in the "Settings" section.
@ -2113,8 +1915,9 @@ namespace PlayFab.ClientModels
/// <summary>
/// If any additional services are queried for the user's friends, those friends who also have a PlayFab account registered
/// for the title will be returned in the results. For Facebook, user has to have logged into the title's Facebook app
/// recently, and only friends who also plays this game will be included. For Xbox Live, user has to have logged into the
/// Xbox Live recently, and only friends who also play this game will be included.
/// recently, and only friends who also plays this game will be included. Note: If the user authenticated with
/// AuthenticationToken when calling LoginWithFacebook, instead of AcessToken, an empty list will be returned. For Xbox
/// Live, user has to have logged into the Xbox Live recently, and only friends who also play this game will be included.
/// </summary>
[Serializable]
public class GetFriendsListResult : PlayFabResultCommon
@ -2862,6 +2665,32 @@ namespace PlayFab.ClientModels
public List<PSNAccountPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromPSNOnlineIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId;
/// <summary>
/// Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array
/// cannot exceed 2,000 in length.
/// </summary>
public List<string> PSNOnlineIDs;
}
/// <summary>
/// For PlayStation :tm: Network identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromPSNOnlineIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of PlayStation :tm: Network identifiers to PlayFab identifiers.
/// </summary>
public List<PSNOnlinePlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromSteamIDsRequest : PlayFabRequestCommon
{
@ -2884,6 +2713,29 @@ namespace PlayFab.ClientModels
public List<SteamPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromSteamNamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Steam identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 in
/// length.
/// </summary>
public List<string> SteamNames;
}
/// <summary>
/// For Steam identifiers which have not been linked to PlayFab accounts, or if the user has not logged in recently, null
/// will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromSteamNamesResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Steam identifiers to PlayFab identifiers.
/// </summary>
public List<SteamNamePlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromTwitchIDsRequest : PlayFabRequestCommon
{
@ -3870,6 +3722,11 @@ namespace PlayFab.ClientModels
/// 0x08 should become "08").
/// </summary>
public string SteamTicket;
/// <summary>
/// True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
/// False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
/// </summary>
public bool? TicketIsServiceSpecific;
}
[Serializable]
@ -3990,7 +3847,9 @@ namespace PlayFab.ClientModels
OpenIdConnect,
Apple,
NintendoSwitchAccount,
GooglePlayGames
GooglePlayGames,
XboxMobileStore,
King
}
[Serializable]
@ -4238,7 +4097,8 @@ namespace PlayFab.ClientModels
/// same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so
/// can result in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an
/// application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in
/// the first Title ID.
/// the first Title ID. Note: If the user is authenticated with AuthenticationToken, instead of AccessToken, the
/// GetFriendsList API will return an empty list.
/// </summary>
[Serializable]
public class LoginWithFacebookRequest : PlayFabRequestCommon
@ -4248,6 +4108,10 @@ namespace PlayFab.ClientModels
/// </summary>
public string AccessToken;
/// <summary>
/// Token used for limited login authentication.
/// </summary>
public string AuthenticationToken;
/// <summary>
/// Automatically create a PlayFab account if one is not currently linked to this ID.
/// </summary>
public bool? CreateAccount;
@ -4729,14 +4593,13 @@ namespace PlayFab.ClientModels
/// <summary>
/// Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the
/// Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam
/// authentication to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game
/// Manager (under Steam in the Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group
/// associated with your App ID in the Steamworks site. If this is the first time a user has signed in with the Steam
/// account and CreateAccount is set to true, a new PlayFab account will be created and linked to the provided account's
/// Steam ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab
/// account is linked to the Steam account, an error indicating this will be returned, so that the title can guide the user
/// through creation of a PlayFab account.
/// Steamworks SDK, here: https://partner.steamgames.com/documentation/auth. NOTE: For Steam authentication to work, the
/// title must be configured with the Steam Application ID and Web API Key in the PlayFab Game Manager (under Steam in the
/// Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group associated with your App ID in
/// the Steamworks site. If this is the first time a user has signed in with the Steam account and CreateAccount is set to
/// true, a new PlayFab account will be created and linked to the provided account's Steam ID. In this case, no email or
/// username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Steam account,
/// an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account.
/// </summary>
[Serializable]
public class LoginWithSteamRequest : PlayFabRequestCommon
@ -4767,6 +4630,11 @@ namespace PlayFab.ClientModels
/// </summary>
public string SteamTicket;
/// <summary>
/// True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
/// False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
/// </summary>
public bool? TicketIsServiceSpecific;
/// <summary>
/// Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a
/// title has been selected.
/// </summary>
@ -4870,97 +4738,6 @@ namespace PlayFab.ClientModels
public string Message;
}
[Serializable]
public class MatchmakeRequest : PlayFabRequestCommon
{
/// <summary>
/// Build version to match against. [Note: Required if LobbyId is not specified]
/// </summary>
public string BuildVersion;
/// <summary>
/// Character to use for stats based matching. Leave null to use account stats.
/// </summary>
public string CharacterId;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Game mode to match make against. [Note: Required if LobbyId is not specified]
/// </summary>
public string GameMode;
/// <summary>
/// Lobby identifier to match make against. This is used to select a specific Game Server Instance.
/// </summary>
public string LobbyId;
/// <summary>
/// Region to match make against. [Note: Required if LobbyId is not specified]
/// </summary>
public Region? Region;
/// <summary>
/// Start a game session if one with an open slot is not found. Defaults to true.
/// </summary>
public bool? StartNewIfNoneFound;
/// <summary>
/// Player statistic to use in finding a match. May be null for no stat-based matching.
/// </summary>
public string StatisticName;
/// <summary>
/// Filter to include and/or exclude Game Server Instances associated with certain Tags
/// </summary>
public CollectionFilter TagFilter;
}
[Serializable]
public class MatchmakeResult : PlayFabResultCommon
{
/// <summary>
/// timestamp for when the server will expire, if applicable
/// </summary>
public string Expires;
/// <summary>
/// unique lobby identifier of the server matched
/// </summary>
public string LobbyID;
/// <summary>
/// time in milliseconds the application is configured to wait on matchmaking results
/// </summary>
public int? PollWaitTimeMS;
/// <summary>
/// IPV4 address of the server
/// </summary>
public string ServerIPV4Address;
/// <summary>
/// IPV6 address of the server
/// </summary>
public string ServerIPV6Address;
/// <summary>
/// port number to use for non-http communications with the server
/// </summary>
public int? ServerPort;
/// <summary>
/// Public DNS name (if any) of the server
/// </summary>
public string ServerPublicDNSName;
/// <summary>
/// result of match making process
/// </summary>
public MatchmakeStatus? Status;
/// <summary>
/// server authorization ticket (used by RedeemMatchmakerTicket to validate user insertion into the game)
/// </summary>
public string Ticket;
}
public enum MatchmakeStatus
{
Complete,
Waiting,
GameNotFound,
NoAvailableSlots,
SessionClosed
}
[Serializable]
public class MembershipModel : PlayFabBaseModel
{
@ -5441,6 +5218,20 @@ namespace PlayFab.ClientModels
public string PSNAccountId;
}
[Serializable]
public class PSNOnlinePlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the PlayStation :tm: Network
/// identifier.
/// </summary>
public string PlayFabId;
/// <summary>
/// Unique PlayStation :tm: Network identifier for a user.
/// </summary>
public string PSNOnlineId;
}
/// <summary>
/// Please note that the processing time for inventory grants and purchases increases fractionally the more items are in the
/// inventory, and the more items are in the grant/purchase operation (with each item in a bundle being a distinct add).
@ -5582,38 +5373,6 @@ namespace PlayFab.ClientModels
public string RedirectUri;
}
public enum Region
{
USCentral,
USEast,
EUWest,
Singapore,
Japan,
Brazil,
Australia
}
[Serializable]
public class RegionInfo : PlayFabBaseModel
{
/// <summary>
/// indicates whether the server specified is available in this region
/// </summary>
public bool Available;
/// <summary>
/// name of the region
/// </summary>
public string Name;
/// <summary>
/// url to ping to get roundtrip time
/// </summary>
public string PingUrl;
/// <summary>
/// unique identifier for the region
/// </summary>
public Region? Region;
}
/// <summary>
/// The steps to configure and send Push Notifications is described in the PlayFab tutorials, here:
/// https://docs.microsoft.com/gaming/playfab/features/engagement/push-notifications/quickstart
@ -6179,6 +5938,19 @@ namespace PlayFab.ClientModels
public uint Version;
}
[Serializable]
public class SteamNamePlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier.
/// </summary>
public string PlayFabId;
/// <summary>
/// Unique Steam identifier for a user, also known as Steam persona name.
/// </summary>
public string SteamName;
}
[Serializable]
public class SteamPlayFabIdPair : PlayFabBaseModel
{
@ -7081,6 +6853,10 @@ namespace PlayFab.ClientModels
/// </summary>
public UserPsnInfo PsnInfo;
/// <summary>
/// Server Custom ID information, if a server custom ID has been assigned
/// </summary>
public UserServerCustomIdInfo ServerCustomIdInfo;
/// <summary>
/// User Steam information, if a Steam account has been linked
/// </summary>
public UserSteamInfo SteamInfo;
@ -7312,7 +7088,9 @@ namespace PlayFab.ClientModels
OpenIdConnect,
Apple,
NintendoSwitchAccount,
GooglePlayGames
GooglePlayGames,
XboxMobileStore,
King
}
[Serializable]
@ -7337,6 +7115,15 @@ namespace PlayFab.ClientModels
public string PsnOnlineId;
}
[Serializable]
public class UserServerCustomIdInfo : PlayFabBaseModel
{
/// <summary>
/// Custom ID
/// </summary>
public string CustomId;
}
[Serializable]
public class UserSettings : PlayFabBaseModel
{

View File

@ -63,16 +63,12 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GetCharacterStatisticsResult> OnGetCharacterStatisticsResultEvent;
public event PlayFabRequestEvent<GetContentDownloadUrlRequest> OnGetContentDownloadUrlRequestEvent;
public event PlayFabResultEvent<GetContentDownloadUrlResult> OnGetContentDownloadUrlResultEvent;
public event PlayFabRequestEvent<CurrentGamesRequest> OnGetCurrentGamesRequestEvent;
public event PlayFabResultEvent<CurrentGamesResult> OnGetCurrentGamesResultEvent;
public event PlayFabRequestEvent<GetFriendLeaderboardRequest> OnGetFriendLeaderboardRequestEvent;
public event PlayFabResultEvent<GetLeaderboardResult> OnGetFriendLeaderboardResultEvent;
public event PlayFabRequestEvent<GetFriendLeaderboardAroundPlayerRequest> OnGetFriendLeaderboardAroundPlayerRequestEvent;
public event PlayFabResultEvent<GetFriendLeaderboardAroundPlayerResult> OnGetFriendLeaderboardAroundPlayerResultEvent;
public event PlayFabRequestEvent<GetFriendsListRequest> OnGetFriendsListRequestEvent;
public event PlayFabResultEvent<GetFriendsListResult> OnGetFriendsListResultEvent;
public event PlayFabRequestEvent<GameServerRegionsRequest> OnGetGameServerRegionsRequestEvent;
public event PlayFabResultEvent<GameServerRegionsResult> OnGetGameServerRegionsResultEvent;
public event PlayFabRequestEvent<GetLeaderboardRequest> OnGetLeaderboardRequestEvent;
public event PlayFabResultEvent<GetLeaderboardResult> OnGetLeaderboardResultEvent;
public event PlayFabRequestEvent<GetLeaderboardAroundCharacterRequest> OnGetLeaderboardAroundCharacterRequestEvent;
@ -119,8 +115,12 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GetPlayFabIDsFromNintendoSwitchDeviceIdsResult> OnGetPlayFabIDsFromNintendoSwitchDeviceIdsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromPSNAccountIDsRequest> OnGetPlayFabIDsFromPSNAccountIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromPSNAccountIDsResult> OnGetPlayFabIDsFromPSNAccountIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromPSNOnlineIDsRequest> OnGetPlayFabIDsFromPSNOnlineIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromPSNOnlineIDsResult> OnGetPlayFabIDsFromPSNOnlineIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromSteamIDsRequest> OnGetPlayFabIDsFromSteamIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromSteamIDsResult> OnGetPlayFabIDsFromSteamIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromSteamNamesRequest> OnGetPlayFabIDsFromSteamNamesRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromSteamNamesResult> OnGetPlayFabIDsFromSteamNamesResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromTwitchIDsRequest> OnGetPlayFabIDsFromTwitchIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromTwitchIDsResult> OnGetPlayFabIDsFromTwitchIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromXboxLiveIDsRequest> OnGetPlayFabIDsFromXboxLiveIDsRequestEvent;
@ -208,8 +208,6 @@ namespace PlayFab.Events
public event PlayFabRequestEvent<LoginWithSteamRequest> OnLoginWithSteamRequestEvent;
public event PlayFabRequestEvent<LoginWithTwitchRequest> OnLoginWithTwitchRequestEvent;
public event PlayFabRequestEvent<LoginWithXboxRequest> OnLoginWithXboxRequestEvent;
public event PlayFabRequestEvent<MatchmakeRequest> OnMatchmakeRequestEvent;
public event PlayFabResultEvent<MatchmakeResult> OnMatchmakeResultEvent;
public event PlayFabRequestEvent<OpenTradeRequest> OnOpenTradeRequestEvent;
public event PlayFabResultEvent<OpenTradeResponse> OnOpenTradeResultEvent;
public event PlayFabRequestEvent<PayForPurchaseRequest> OnPayForPurchaseRequestEvent;

View File

@ -81,6 +81,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/CloudScript/GetFunction", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Lists all currently registered Event Hub triggered Azure Functions for a given title.
/// </summary>
public static void ListEventHubFunctions(ListFunctionsRequest request, Action<ListEventHubFunctionsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/CloudScript/ListEventHubFunctions", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Lists all currently registered Azure Functions for a given title.
/// </summary>
@ -172,6 +185,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/CloudScript/PostFunctionResultForScheduledTask", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Registers an event hub triggered Azure Function with a title.
/// </summary>
public static void RegisterEventHubFunction(RegisterEventHubFunctionRequest request, Action<EmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/CloudScript/RegisterEventHubFunction", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Registers an HTTP triggered Azure function with a title.
/// </summary>

View File

@ -86,6 +86,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/CloudScript/GetFunction", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Lists all currently registered Event Hub triggered Azure Functions for a given title.
/// </summary>
public void ListEventHubFunctions(ListFunctionsRequest request, Action<ListEventHubFunctionsResult> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/CloudScript/ListEventHubFunctions", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Lists all currently registered Azure Functions for a given title.
/// </summary>
@ -163,6 +174,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/CloudScript/PostFunctionResultForScheduledTask", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Registers an event hub triggered Azure Function with a title.
/// </summary>
public void RegisterEventHubFunction(RegisterEventHubFunctionRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/CloudScript/RegisterEventHubFunction", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Registers an HTTP triggered Azure function with a title.
/// </summary>

View File

@ -54,7 +54,8 @@ namespace PlayFab.CloudScriptModels
EU,
NA,
OC,
SA
SA,
Unknown
}
public enum CountryCode
@ -307,7 +308,8 @@ namespace PlayFab.CloudScriptModels
EH,
YE,
ZM,
ZW
ZW,
Unknown
}
public enum EmailVerificationStatus
@ -338,6 +340,23 @@ namespace PlayFab.CloudScriptModels
public string Type;
}
[Serializable]
public class EventHubFunctionModel : PlayFabBaseModel
{
/// <summary>
/// The connection string for the event hub.
/// </summary>
public string ConnectionString;
/// <summary>
/// The name of the event hub that triggers the Azure Function.
/// </summary>
public string EventHubName;
/// <summary>
/// The name the function was registered under.
/// </summary>
public string FunctionName;
}
[Serializable]
public class ExecuteCloudScriptResult : PlayFabResultCommon
{
@ -585,6 +604,15 @@ namespace PlayFab.CloudScriptModels
public string Username;
}
[Serializable]
public class ListEventHubFunctionsResult : PlayFabResultCommon
{
/// <summary>
/// The list of EventHub triggered functions that are currently registered for the title.
/// </summary>
public List<EventHubFunctionModel> Functions;
}
/// <summary>
/// A title can have many functions, ListHttpFunctions will return a list of all the currently registered HTTP triggered
/// functions for a given title.
@ -673,7 +701,9 @@ namespace PlayFab.CloudScriptModels
OpenIdConnect,
Apple,
NintendoSwitchAccount,
GooglePlayGames
GooglePlayGames,
XboxMobileStore,
King
}
[Serializable]
@ -958,6 +988,31 @@ namespace PlayFab.CloudScriptModels
public string QueueName;
}
/// <summary>
/// A title can have many functions, RegisterEventHubFunction associates a function name with an event hub name and
/// connection string.
/// </summary>
[Serializable]
public class RegisterEventHubFunctionRequest : PlayFabRequestCommon
{
/// <summary>
/// A connection string for the namespace of the event hub for the Azure Function.
/// </summary>
public string ConnectionString;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The name of the event hub for the Azure Function.
/// </summary>
public string EventHubName;
/// <summary>
/// The name of the function to register
/// </summary>
public string FunctionName;
}
[Serializable]
public class RegisterHttpFunctionRequest : PlayFabRequestCommon
{
@ -1092,7 +1147,8 @@ namespace PlayFab.CloudScriptModels
public enum TriggerType
{
HTTP,
Queue
Queue,
EventHub
}
[Serializable]

View File

@ -11,6 +11,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<ExecuteFunctionResult> OnCloudScriptExecuteFunctionResultEvent;
public event PlayFabRequestEvent<GetFunctionRequest> OnCloudScriptGetFunctionRequestEvent;
public event PlayFabResultEvent<GetFunctionResult> OnCloudScriptGetFunctionResultEvent;
public event PlayFabRequestEvent<ListFunctionsRequest> OnCloudScriptListEventHubFunctionsRequestEvent;
public event PlayFabResultEvent<ListEventHubFunctionsResult> OnCloudScriptListEventHubFunctionsResultEvent;
public event PlayFabRequestEvent<ListFunctionsRequest> OnCloudScriptListFunctionsRequestEvent;
public event PlayFabResultEvent<ListFunctionsResult> OnCloudScriptListFunctionsResultEvent;
public event PlayFabRequestEvent<ListFunctionsRequest> OnCloudScriptListHttpFunctionsRequestEvent;
@ -25,6 +27,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<EmptyResult> OnCloudScriptPostFunctionResultForPlayerTriggeredActionResultEvent;
public event PlayFabRequestEvent<PostFunctionResultForScheduledTaskRequest> OnCloudScriptPostFunctionResultForScheduledTaskRequestEvent;
public event PlayFabResultEvent<EmptyResult> OnCloudScriptPostFunctionResultForScheduledTaskResultEvent;
public event PlayFabRequestEvent<RegisterEventHubFunctionRequest> OnCloudScriptRegisterEventHubFunctionRequestEvent;
public event PlayFabResultEvent<EmptyResult> OnCloudScriptRegisterEventHubFunctionResultEvent;
public event PlayFabRequestEvent<RegisterHttpFunctionRequest> OnCloudScriptRegisterHttpFunctionRequestEvent;
public event PlayFabResultEvent<EmptyResult> OnCloudScriptRegisterHttpFunctionResultEvent;
public event PlayFabRequestEvent<RegisterQueuedFunctionRequest> OnCloudScriptRegisterQueuedFunctionRequestEvent;

View File

@ -33,7 +33,7 @@ namespace PlayFab
}
/// <summary>
/// Add inventory items. Up to 3500 stacks of items can be added to a single inventory collection. Stack size is uncapped.
/// Add inventory items. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped.
/// </summary>
public static void AddInventoryItems(AddInventoryItemsRequest request, Action<AddInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -128,11 +128,10 @@ namespace PlayFab
}
/// <summary>
/// Execute a list of Inventory Operations. A maximum list of 10 operations can be performed by a single request. There is
/// also a limit to 250 items that can be modified/added in a single request. For example, adding a bundle with 50 items
/// Execute a list of Inventory Operations. A maximum list of 50 operations can be performed by a single request. There is
/// also a limit to 300 items that can be modified/added in a single request. For example, adding a bundle with 50 items
/// counts as 50 items modified. All operations must be done within a single inventory collection. This API has a reduced
/// RPS compared to an individual inventory operation with Player Entities limited to 15 requests in 90 seconds and Title
/// Entities limited to 500 requests in 10 seconds.
/// RPS compared to an individual inventory operation with Player Entities limited to 60 requests in 90 seconds.
/// </summary>
public static void ExecuteInventoryOperations(ExecuteInventoryOperationsRequest request, Action<ExecuteInventoryOperationsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -144,6 +143,22 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Inventory/ExecuteInventoryOperations", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Transfer a list of inventory items. A maximum list of 50 operations can be performed by a single request. When the
/// response code is 202, one or more operations did not complete within the timeframe of the request. You can identify the
/// pending operations by looking for OperationStatus = 'InProgress'. You can check on the operation status at anytime
/// within 1 day of the request by passing the TransactionToken to the GetInventoryOperationStatus API.
/// </summary>
public static void ExecuteTransferOperations(ExecuteTransferOperationsRequest request, Action<ExecuteTransferOperationsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Inventory/ExecuteTransferOperations", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets the configuration for the catalog. Only Title Entities can call this API. There is a limit of 100 requests in 10
/// seconds for this API. More information about the Catalog Config can be found here:
@ -218,8 +233,9 @@ namespace PlayFab
}
/// <summary>
/// Get Inventory Collection Ids. Up to 50 Ids can be returned at once. You can use continuation tokens to paginate through
/// results that return greater than the limit. It can take a few seconds for new collection Ids to show up.
/// Get Inventory Collection Ids. Up to 50 Ids can be returned at once (or 250 with response compression enabled). You can
/// use continuation tokens to paginate through results that return greater than the limit. It can take a few seconds for
/// new collection Ids to show up.
/// </summary>
public static void GetInventoryCollectionIds(GetInventoryCollectionIdsRequest request, Action<GetInventoryCollectionIdsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -244,6 +260,20 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Inventory/GetInventoryItems", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get the status of an inventory operation using an OperationToken. You can check on the operation status at anytime
/// within 1 day of the request by passing the TransactionToken to the this API.
/// </summary>
public static void GetInventoryOperationStatus(GetInventoryOperationStatusRequest request, Action<GetInventoryOperationStatusResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Inventory/GetInventoryOperationStatus", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves an item from the public catalog. GetItem does not work off a cache of the Catalog and should be used when
/// trying to get recent item updates. However, please note that item references data is cached and may take a few moments
@ -359,10 +389,9 @@ namespace PlayFab
}
/// <summary>
/// Get transaction history for a player. Up to 50 Events can be returned at once. You can use continuation tokens to
/// Get transaction history for a player. Up to 250 Events can be returned at once. You can use continuation tokens to
/// paginate through results that return greater than the limit. Getting transaction history has a lower RPS limit than
/// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds and Title Entities having
/// a limit of 100 requests in 10 seconds.
/// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds.
/// </summary>
public static void GetTransactionHistory(GetTransactionHistoryRequest request, Action<GetTransactionHistoryResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -389,7 +418,7 @@ namespace PlayFab
}
/// <summary>
/// Purchase an item or bundle. Up to 3500 stacks of items can be added to a single inventory collection. Stack size is
/// Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is
/// uncapped.
/// </summary>
public static void PurchaseInventoryItems(PurchaseInventoryItemsRequest request, Action<PurchaseInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
@ -591,8 +620,11 @@ namespace PlayFab
}
/// <summary>
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer is in
/// progress and will complete soon. More information about item transfer scenarios can be found here:
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
/// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
/// 'InProgress'. You can check on the operation status at anytime within 1 day of the request by passing the
/// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
/// here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
/// </summary>
public static void TransferInventoryItems(TransferInventoryItemsRequest request, Action<TransferInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)

View File

@ -52,7 +52,7 @@ namespace PlayFab
}
/// <summary>
/// Add inventory items. Up to 3500 stacks of items can be added to a single inventory collection. Stack size is uncapped.
/// Add inventory items. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped.
/// </summary>
public void AddInventoryItems(AddInventoryItemsRequest request, Action<AddInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -133,11 +133,10 @@ namespace PlayFab
}
/// <summary>
/// Execute a list of Inventory Operations. A maximum list of 10 operations can be performed by a single request. There is
/// also a limit to 250 items that can be modified/added in a single request. For example, adding a bundle with 50 items
/// Execute a list of Inventory Operations. A maximum list of 50 operations can be performed by a single request. There is
/// also a limit to 300 items that can be modified/added in a single request. For example, adding a bundle with 50 items
/// counts as 50 items modified. All operations must be done within a single inventory collection. This API has a reduced
/// RPS compared to an individual inventory operation with Player Entities limited to 15 requests in 90 seconds and Title
/// Entities limited to 500 requests in 10 seconds.
/// RPS compared to an individual inventory operation with Player Entities limited to 60 requests in 90 seconds.
/// </summary>
public void ExecuteInventoryOperations(ExecuteInventoryOperationsRequest request, Action<ExecuteInventoryOperationsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -147,6 +146,20 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Inventory/ExecuteInventoryOperations", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Transfer a list of inventory items. A maximum list of 50 operations can be performed by a single request. When the
/// response code is 202, one or more operations did not complete within the timeframe of the request. You can identify the
/// pending operations by looking for OperationStatus = 'InProgress'. You can check on the operation status at anytime
/// within 1 day of the request by passing the TransactionToken to the GetInventoryOperationStatus API.
/// </summary>
public void ExecuteTransferOperations(ExecuteTransferOperationsRequest request, Action<ExecuteTransferOperationsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Inventory/ExecuteTransferOperations", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets the configuration for the catalog. Only Title Entities can call this API. There is a limit of 100 requests in 10
/// seconds for this API. More information about the Catalog Config can be found here:
@ -211,8 +224,9 @@ namespace PlayFab
}
/// <summary>
/// Get Inventory Collection Ids. Up to 50 Ids can be returned at once. You can use continuation tokens to paginate through
/// results that return greater than the limit. It can take a few seconds for new collection Ids to show up.
/// Get Inventory Collection Ids. Up to 50 Ids can be returned at once (or 250 with response compression enabled). You can
/// use continuation tokens to paginate through results that return greater than the limit. It can take a few seconds for
/// new collection Ids to show up.
/// </summary>
public void GetInventoryCollectionIds(GetInventoryCollectionIdsRequest request, Action<GetInventoryCollectionIdsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -233,6 +247,18 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Inventory/GetInventoryItems", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get the status of an inventory operation using an OperationToken. You can check on the operation status at anytime
/// within 1 day of the request by passing the TransactionToken to the this API.
/// </summary>
public void GetInventoryOperationStatus(GetInventoryOperationStatusRequest request, Action<GetInventoryOperationStatusResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Inventory/GetInventoryOperationStatus", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Retrieves an item from the public catalog. GetItem does not work off a cache of the Catalog and should be used when
/// trying to get recent item updates. However, please note that item references data is cached and may take a few moments
@ -332,10 +358,9 @@ namespace PlayFab
}
/// <summary>
/// Get transaction history for a player. Up to 50 Events can be returned at once. You can use continuation tokens to
/// Get transaction history for a player. Up to 250 Events can be returned at once. You can use continuation tokens to
/// paginate through results that return greater than the limit. Getting transaction history has a lower RPS limit than
/// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds and Title Entities having
/// a limit of 100 requests in 10 seconds.
/// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds.
/// </summary>
public void GetTransactionHistory(GetTransactionHistoryRequest request, Action<GetTransactionHistoryResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -358,7 +383,7 @@ namespace PlayFab
}
/// <summary>
/// Purchase an item or bundle. Up to 3500 stacks of items can be added to a single inventory collection. Stack size is
/// Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is
/// uncapped.
/// </summary>
public void PurchaseInventoryItems(PurchaseInventoryItemsRequest request, Action<PurchaseInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
@ -530,8 +555,11 @@ namespace PlayFab
}
/// <summary>
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer is in
/// progress and will complete soon. More information about item transfer scenarios can be found here:
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
/// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
/// 'InProgress'. You can check on the operation status at anytime within 1 day of the request by passing the
/// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
/// here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
/// </summary>
public void TransferInventoryItems(TransferInventoryItemsRequest request, Action<TransferInventoryItemsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)

View File

@ -13,6 +13,10 @@ namespace PlayFab.EconomyModels
/// </summary>
public int? Amount;
/// <summary>
/// The duration to add to the current item expiration date.
/// </summary>
public double? DurationInSeconds;
/// <summary>
/// The inventory item the operation applies to.
/// </summary>
public InventoryItemReference Item;
@ -152,7 +156,11 @@ namespace PlayFab.EconomyModels
/// </summary>
public List<string> Platforms;
/// <summary>
/// A set of player entity keys that are allowed to review content. There is a maximum of 64 entities that can be added.
/// The set of configuration that only applies to Ratings and Reviews.
/// </summary>
public ReviewConfig Review;
/// <summary>
/// A set of player entity keys that are allowed to review content. There is a maximum of 128 entities that can be added.
/// </summary>
public List<EntityKey> ReviewerEntities;
/// <summary>
@ -278,7 +286,8 @@ namespace PlayFab.EconomyModels
/// </summary>
public Dictionary<string,string> Title;
/// <summary>
/// The high-level type of the item. The following item types are supported: bundle, catalogItem, currency, store, ugc.
/// The high-level type of the item. The following item types are supported: bundle, catalogItem, currency, store, ugc,
/// subscription.
/// </summary>
public string Type;
}
@ -308,6 +317,10 @@ namespace PlayFab.EconomyModels
/// </summary>
public List<CatalogPriceAmount> Amounts;
/// <summary>
/// The per-unit amount this price can be used to purchase.
/// </summary>
public int? UnitAmount;
/// <summary>
/// The per-unit duration this price can be used to purchase. The maximum duration is 100 years.
/// </summary>
public double? UnitDurationInSeconds;
@ -386,6 +399,15 @@ namespace PlayFab.EconomyModels
public List<string> Tags;
}
[Serializable]
public class CategoryRatingConfig : PlayFabBaseModel
{
/// <summary>
/// Name of the category.
/// </summary>
public string Name;
}
public enum ConcernCategory
{
None,
@ -687,7 +709,8 @@ namespace PlayFab.EconomyModels
EH,
YE,
ZM,
ZW
ZW,
Unknown
}
/// <summary>
@ -976,7 +999,7 @@ namespace PlayFab.EconomyModels
public string IdempotencyId;
/// <summary>
/// The operations to run transactionally. The operations will be executed in-order sequentially and will succeed or fail as
/// a batch. Up to 10 operations can be added.
/// a batch. Up to 50 operations can be added.
/// </summary>
public List<InventoryOperation> Operations;
}
@ -999,6 +1022,86 @@ namespace PlayFab.EconomyModels
public List<string> TransactionIds;
}
/// <summary>
/// Transfer the specified list of inventory items of an entity's container Id to another entity's container Id.
/// </summary>
[Serializable]
public class ExecuteTransferOperationsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The inventory collection id the request is transferring from. (Default="default")
/// </summary>
public string GivingCollectionId;
/// <summary>
/// The entity the request is transferring from. Set to the caller by default.
/// </summary>
public EntityKey GivingEntity;
/// <summary>
/// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
/// </summary>
public string GivingETag;
/// <summary>
/// The idempotency id for the request.
/// </summary>
public string IdempotencyId;
/// <summary>
/// The transfer operations to run transactionally. The operations will be executed in-order sequentially and will succeed
/// or fail as a batch. Up to 50 operations can be added.
/// </summary>
public List<TransferInventoryItemsOperation> Operations;
/// <summary>
/// The inventory collection id the request is transferring to. (Default="default")
/// </summary>
public string ReceivingCollectionId;
/// <summary>
/// The entity the request is transferring to. Set to the caller by default.
/// </summary>
public EntityKey ReceivingEntity;
}
[Serializable]
public class ExecuteTransferOperationsResponse : PlayFabResultCommon
{
/// <summary>
/// ETags are used for concurrency checking when updating resources (before transferring from). This value will be empty if
/// the operation has not completed yet. More information about using ETags can be found here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
/// </summary>
public string GivingETag;
/// <summary>
/// The ids of transactions that occurred as a result of the request's giving action.
/// </summary>
public List<string> GivingTransactionIds;
/// <summary>
/// The Idempotency ID for this request.
/// </summary>
public string IdempotencyId;
/// <summary>
/// The transfer operation status. Possible values are 'InProgress' or 'Completed'. If the operation has completed, the
/// response code will be 200. Otherwise, it will be 202.
/// </summary>
public string OperationStatus;
/// <summary>
/// The token that can be used to get the status of the transfer operation. This will only have a value if OperationStatus
/// is 'InProgress'.
/// </summary>
public string OperationToken;
/// <summary>
/// ETags are used for concurrency checking when updating resources (before transferring to). This value will be empty if
/// the operation has not completed yet.
/// </summary>
public string ReceivingETag;
/// <summary>
/// The ids of transactions that occurred as a result of the request's receiving action.
/// </summary>
public List<string> ReceivingTransactionIds;
}
[Serializable]
public class FileConfig : PlayFabBaseModel
{
@ -1269,6 +1372,35 @@ namespace PlayFab.EconomyModels
public List<InventoryItem> Items;
}
/// <summary>
/// Get the status of an Inventory Operation using an OperationToken.
/// </summary>
[Serializable]
public class GetInventoryOperationStatusRequest : PlayFabRequestCommon
{
/// <summary>
/// The id of the entity's collection to perform this action on. (Default="default")
/// </summary>
public string CollectionId;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The entity to perform this action on.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetInventoryOperationStatusResponse : PlayFabResultCommon
{
/// <summary>
/// The inventory operation status.
/// </summary>
public string OperationStatus;
}
/// <summary>
/// Given an item, return a set of bundles and stores containing the item.
/// </summary>
@ -1572,10 +1704,18 @@ namespace PlayFab.EconomyModels
/// </summary>
public EntityKey Entity;
/// <summary>
/// An OData filter used to refine the TransactionHistory. Transaction property 'timestamp' can be used in the filter. For
/// example: "timestamp ge 'timestamp ge'" By default, a 6 month timespan from the current date is used.
/// An OData filter used to refine the TransactionHistory. Transaction properties 'timestamp', 'transactionid', 'apiname'
/// and 'operationtype' can be used in the filter. Properties 'transactionid', 'apiname', and 'operationtype' cannot be used
/// together in a single request. The 'timestamp' property can be combined with 'apiname' or 'operationtype' in a single
/// request. For example: "timestamp ge 2023-06-20T23:30Z" or "transactionid eq '10'" or "(timestamp ge 2023-06-20T23:30Z)
/// and (apiname eq 'AddInventoryItems')". By default, a 6 month timespan from the current date is used.
/// </summary>
public string Filter;
/// <summary>
/// An OData orderby to order TransactionHistory results. The only supported values are 'timestamp asc' or 'timestamp desc'.
/// Default orderby is 'timestamp asc'
/// </summary>
public string OrderBy;
}
[Serializable]
@ -1767,6 +1907,16 @@ namespace PlayFab.EconomyModels
{
}
[Serializable]
public class Permissions : PlayFabBaseModel
{
/// <summary>
/// The list of ids of Segments that the a player can be in to purchase from the store. When a value is provided, the player
/// must be in at least one of the segments listed for the purchase to be allowed.
/// </summary>
public List<string> SegmentIds;
}
/// <summary>
/// The call kicks off a workflow to publish the item to the public catalog. The Publish Status API should be used to
/// monitor the publish job.
@ -1931,6 +2081,11 @@ namespace PlayFab.EconomyModels
{
}
[Serializable]
public class PurchaseOverridesInfo : PlayFabBaseModel
{
}
[Serializable]
public class PurchasePriceAmount : PlayFabBaseModel
{
@ -1981,6 +2136,11 @@ namespace PlayFab.EconomyModels
public int? TotalCount;
}
[Serializable]
public class RealMoneyPriceDetails : PlayFabBaseModel
{
}
/// <summary>
/// Redeem items from the Apple App Store.
/// </summary>
@ -2086,7 +2246,8 @@ namespace PlayFab.EconomyModels
/// </summary>
public EntityKey Entity;
/// <summary>
/// Xbox Token used for delegated business partner authentication.
/// Xbox Token used for delegated business partner authentication. Token provided by the Xbox Live SDK method
/// GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", "").
/// </summary>
public string XboxToken;
}
@ -2156,7 +2317,7 @@ namespace PlayFab.EconomyModels
public class RedeemPlayStationStoreInventoryItemsRequest : PlayFabRequestCommon
{
/// <summary>
/// Authorization code provided by the PlayStation OAuth provider.
/// Auth code returned by PlayStation :tm: Network OAuth system.
/// </summary>
public string AuthorizationCode;
/// <summary>
@ -2172,6 +2333,10 @@ namespace PlayFab.EconomyModels
/// </summary>
public EntityKey Entity;
/// <summary>
/// Redirect URI supplied to PlayStation :tm: Network when requesting an auth code.
/// </summary>
public string RedirectUri;
/// <summary>
/// Optional Service Label to pass into the request.
/// </summary>
public string ServiceLabel;
@ -2243,27 +2408,27 @@ namespace PlayFab.EconomyModels
/// </summary>
public string FailureDetails;
/// <summary>
/// The Marketplace Alternate ID being redeemed.
/// </summary>
public string MarketplaceAlternateId;
/// <summary>
/// The transaction id in the external marketplace.
/// </summary>
public string MarketplaceTransactionId;
/// <summary>
/// The ID of the offer being redeemed.
/// </summary>
public string OfferId;
}
[Serializable]
public class RedemptionSuccess : PlayFabBaseModel
{
/// <summary>
/// The Marketplace Alternate ID being redeemed.
/// </summary>
public string MarketplaceAlternateId;
/// <summary>
/// The transaction id in the external marketplace.
/// </summary>
public string MarketplaceTransactionId;
/// <summary>
/// The ID of the offer being redeemed.
/// </summary>
public string OfferId;
/// <summary>
/// The timestamp for when the redeem was completed.
/// </summary>
public DateTime SuccessTimestamp;
@ -2347,6 +2512,10 @@ namespace PlayFab.EconomyModels
[Serializable]
public class Review : PlayFabBaseModel
{
/// <summary>
/// The star rating associated with each selected category in this review.
/// </summary>
public Dictionary<string,int> CategoryRatings;
/// <summary>
/// The number of negative helpfulness votes for this review.
/// </summary>
@ -2401,6 +2570,15 @@ namespace PlayFab.EconomyModels
public string Title;
}
[Serializable]
public class ReviewConfig : PlayFabBaseModel
{
/// <summary>
/// A set of categories that can be applied toward ratings and reviews.
/// </summary>
public List<CategoryRatingConfig> CategoryRatings;
}
[Serializable]
public class ReviewItemRequest : PlayFabRequestCommon
{
@ -2482,6 +2660,10 @@ namespace PlayFab.EconomyModels
/// </summary>
public string Filter;
/// <summary>
/// The locale to be returned in the result.
/// </summary>
public string Language;
/// <summary>
/// An OData orderBy used to order the results of the search query. For example: "rating/average asc"
/// </summary>
public string OrderBy;
@ -2551,6 +2733,10 @@ namespace PlayFab.EconomyModels
/// </summary>
public FilterOptions FilterOptions;
/// <summary>
/// The permissions that control which players can purchase from the store.
/// </summary>
public Permissions Permissions;
/// <summary>
/// The global prices utilized in the store. These options are mutually exclusive with price options in item references.
/// </summary>
public CatalogPriceOptionsOverride PriceOptionsOverride;
@ -2775,6 +2961,10 @@ namespace PlayFab.EconomyModels
/// </summary>
public double? DurationInSeconds;
/// <summary>
/// The friendly id of the items in this transaction.
/// </summary>
public string ItemFriendlyId;
/// <summary>
/// The item id of the items in this transaction.
/// </summary>
public string ItemId;
@ -2795,6 +2985,10 @@ namespace PlayFab.EconomyModels
[Serializable]
public class TransactionPurchaseDetails : PlayFabBaseModel
{
/// <summary>
/// The friendly id of the Store the item was purchased from or null.
/// </summary>
public string StoreFriendlyId;
/// <summary>
/// The id of the Store the item was purchased from or null.
/// </summary>
@ -2944,6 +3138,16 @@ namespace PlayFab.EconomyModels
/// </summary>
public string IdempotencyId;
/// <summary>
/// The transfer operation status. Possible values are 'InProgress' or 'Completed'. If the operation has completed, the
/// response code will be 200. Otherwise, it will be 202.
/// </summary>
public string OperationStatus;
/// <summary>
/// The token that can be used to get the status of the transfer operation. This will only have a value if OperationStatus
/// is 'InProgress'.
/// </summary>
public string OperationToken;
/// <summary>
/// The ids of transactions that occurred as a result of the request's receiving action.
/// </summary>
public List<string> ReceivingTransactionIds;

View File

@ -21,6 +21,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<DeleteItemResponse> OnEconomyDeleteItemResultEvent;
public event PlayFabRequestEvent<ExecuteInventoryOperationsRequest> OnEconomyExecuteInventoryOperationsRequestEvent;
public event PlayFabResultEvent<ExecuteInventoryOperationsResponse> OnEconomyExecuteInventoryOperationsResultEvent;
public event PlayFabRequestEvent<ExecuteTransferOperationsRequest> OnEconomyExecuteTransferOperationsRequestEvent;
public event PlayFabResultEvent<ExecuteTransferOperationsResponse> OnEconomyExecuteTransferOperationsResultEvent;
public event PlayFabRequestEvent<GetCatalogConfigRequest> OnEconomyGetCatalogConfigRequestEvent;
public event PlayFabResultEvent<GetCatalogConfigResponse> OnEconomyGetCatalogConfigResultEvent;
public event PlayFabRequestEvent<GetDraftItemRequest> OnEconomyGetDraftItemRequestEvent;
@ -35,6 +37,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GetInventoryCollectionIdsResponse> OnEconomyGetInventoryCollectionIdsResultEvent;
public event PlayFabRequestEvent<GetInventoryItemsRequest> OnEconomyGetInventoryItemsRequestEvent;
public event PlayFabResultEvent<GetInventoryItemsResponse> OnEconomyGetInventoryItemsResultEvent;
public event PlayFabRequestEvent<GetInventoryOperationStatusRequest> OnEconomyGetInventoryOperationStatusRequestEvent;
public event PlayFabResultEvent<GetInventoryOperationStatusResponse> OnEconomyGetInventoryOperationStatusResultEvent;
public event PlayFabRequestEvent<GetItemRequest> OnEconomyGetItemRequestEvent;
public event PlayFabResultEvent<GetItemResponse> OnEconomyGetItemResultEvent;
public event PlayFabRequestEvent<GetItemContainersRequest> OnEconomyGetItemContainersRequestEvent;

View File

@ -5,6 +5,16 @@ namespace PlayFab.Events
{
public partial class PlayFabEvents
{
public event PlayFabRequestEvent<CreateTelemetryKeyRequest> OnEventsCreateTelemetryKeyRequestEvent;
public event PlayFabResultEvent<CreateTelemetryKeyResponse> OnEventsCreateTelemetryKeyResultEvent;
public event PlayFabRequestEvent<DeleteTelemetryKeyRequest> OnEventsDeleteTelemetryKeyRequestEvent;
public event PlayFabResultEvent<DeleteTelemetryKeyResponse> OnEventsDeleteTelemetryKeyResultEvent;
public event PlayFabRequestEvent<GetTelemetryKeyRequest> OnEventsGetTelemetryKeyRequestEvent;
public event PlayFabResultEvent<GetTelemetryKeyResponse> OnEventsGetTelemetryKeyResultEvent;
public event PlayFabRequestEvent<ListTelemetryKeysRequest> OnEventsListTelemetryKeysRequestEvent;
public event PlayFabResultEvent<ListTelemetryKeysResponse> OnEventsListTelemetryKeysResultEvent;
public event PlayFabRequestEvent<SetTelemetryKeyActiveRequest> OnEventsSetTelemetryKeyActiveRequestEvent;
public event PlayFabResultEvent<SetTelemetryKeyActiveResponse> OnEventsSetTelemetryKeyActiveResultEvent;
public event PlayFabRequestEvent<WriteEventsRequest> OnEventsWriteEventsRequestEvent;
public event PlayFabResultEvent<WriteEventsResponse> OnEventsWriteEventsResultEvent;
public event PlayFabRequestEvent<WriteEventsRequest> OnEventsWriteTelemetryEventsRequestEvent;

View File

@ -33,6 +33,71 @@ namespace PlayFab
PlayFabSettings.staticPlayer.ForgetAllCredentials();
}
/// <summary>
/// Creates a new telemetry key for the title.
/// </summary>
public static void CreateTelemetryKey(CreateTelemetryKeyRequest request, Action<CreateTelemetryKeyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/CreateTelemetryKey", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes a telemetry key configured for the title.
/// </summary>
public static void DeleteTelemetryKey(DeleteTelemetryKeyRequest request, Action<DeleteTelemetryKeyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/DeleteTelemetryKey", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets information about a telemetry key configured for the title.
/// </summary>
public static void GetTelemetryKey(GetTelemetryKeyRequest request, Action<GetTelemetryKeyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/GetTelemetryKey", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Lists all telemetry keys configured for the title.
/// </summary>
public static void ListTelemetryKeys(ListTelemetryKeysRequest request, Action<ListTelemetryKeysResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/ListTelemetryKeys", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Sets a telemetry key to the active or deactivated state.
/// </summary>
public static void SetTelemetryKeyActive(SetTelemetryKeyActiveRequest request, Action<SetTelemetryKeyActiveResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/SetTelemetryKeyActive", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Write batches of entity based events to PlayStream. The namespace of the Event must be 'custom' or start with 'custom.'.
/// </summary>
@ -60,7 +125,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Event/WriteTelemetryEvents", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Write batches of entity based events to as Telemetry events (bypass PlayStream) using a Telemetry Key. The namespace must be 'custom' or start
/// with 'custom.'
/// </summary>
public static void WriteTelemetryEventsWithTelemetryKey(WriteEventsRequest request, Action<WriteEventsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsTelemetryKeyProvided()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must provide a telemetry key to call this method");
PlayFabHttp.MakeApiCall("/Event/WriteTelemetryEvents", request, AuthType.TelemetryKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
}
}

View File

@ -52,6 +52,61 @@ namespace PlayFab
}
}
/// <summary>
/// Creates a new telemetry key for the title.
/// </summary>
public void CreateTelemetryKey(CreateTelemetryKeyRequest request, Action<CreateTelemetryKeyResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/CreateTelemetryKey", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes a telemetry key configured for the title.
/// </summary>
public void DeleteTelemetryKey(DeleteTelemetryKeyRequest request, Action<DeleteTelemetryKeyResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/DeleteTelemetryKey", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets information about a telemetry key configured for the title.
/// </summary>
public void GetTelemetryKey(GetTelemetryKeyRequest request, Action<GetTelemetryKeyResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/GetTelemetryKey", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Lists all telemetry keys configured for the title.
/// </summary>
public void ListTelemetryKeys(ListTelemetryKeysRequest request, Action<ListTelemetryKeysResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/ListTelemetryKeys", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Sets a telemetry key to the active or deactivated state.
/// </summary>
public void SetTelemetryKeyActive(SetTelemetryKeyActiveRequest request, Action<SetTelemetryKeyActiveResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/SetTelemetryKeyActive", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Write batches of entity based events to PlayStream. The namespace of the Event must be 'custom' or start with 'custom.'.
/// </summary>
@ -74,7 +129,19 @@ namespace PlayFab
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Event/WriteTelemetryEvents", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Write batches of entity based events to as Telemetry events (bypass PlayStream) using a Telemetry Key. The namespace must be 'custom' or start
/// with 'custom.'
/// </summary>
public void WriteTelemetryEventsWithTelemetryKey(WriteEventsRequest request, Action<WriteEventsResponse> 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.IsTelemetryKeyProvided()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must provide a telemetry key to call this method");
PlayFabHttp.MakeApiCall("/Event/WriteTelemetryEvents", request, AuthType.TelemetryKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
}
}

View File

@ -5,6 +5,58 @@ using PlayFab.SharedModels;
namespace PlayFab.EventsModels
{
[Serializable]
public class CreateTelemetryKeyRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The name of the new key. Telemetry key names must be unique within the scope of the title.
/// </summary>
public string KeyName;
}
[Serializable]
public class CreateTelemetryKeyResponse : PlayFabResultCommon
{
/// <summary>
/// Details about the newly created telemetry key.
/// </summary>
public TelemetryKeyDetails NewKeyDetails;
}
[Serializable]
public class DeleteTelemetryKeyRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The name of the key to delete.
/// </summary>
public string KeyName;
}
[Serializable]
public class DeleteTelemetryKeyResponse : PlayFabResultCommon
{
/// <summary>
/// Indicates whether or not the key was deleted. If false, no key with that name existed.
/// </summary>
public bool WasKeyDeleted;
}
/// <summary>
/// Combined entity type and ID structure which uniquely identifies a single entity.
/// </summary>
@ -63,6 +115,113 @@ namespace PlayFab.EventsModels
public string PayloadJSON;
}
[Serializable]
public class GetTelemetryKeyRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The name of the key to retrieve.
/// </summary>
public string KeyName;
}
[Serializable]
public class GetTelemetryKeyResponse : PlayFabResultCommon
{
/// <summary>
/// Details about the requested telemetry key.
/// </summary>
public TelemetryKeyDetails KeyDetails;
}
[Serializable]
public class ListTelemetryKeysRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class ListTelemetryKeysResponse : PlayFabResultCommon
{
/// <summary>
/// The telemetry keys configured for the title.
/// </summary>
public List<TelemetryKeyDetails> KeyDetails;
}
[Serializable]
public class SetTelemetryKeyActiveRequest : PlayFabRequestCommon
{
/// <summary>
/// Whether to set the key to active (true) or deactivated (false).
/// </summary>
public bool Active;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The name of the key to update.
/// </summary>
public string KeyName;
}
[Serializable]
public class SetTelemetryKeyActiveResponse : PlayFabResultCommon
{
/// <summary>
/// The most current details about the telemetry key that was to be updated.
/// </summary>
public TelemetryKeyDetails KeyDetails;
/// <summary>
/// Indicates whether or not the key was updated. If false, the key was already in the desired state.
/// </summary>
public bool WasKeyUpdated;
}
[Serializable]
public class TelemetryKeyDetails : PlayFabBaseModel
{
/// <summary>
/// When the key was created.
/// </summary>
public DateTime CreateTime;
/// <summary>
/// Whether or not the key is currently active. Deactivated keys cannot be used for telemetry ingestion.
/// </summary>
public bool IsActive;
/// <summary>
/// The key that can be distributed to clients for use during telemetry ingestion.
/// </summary>
public string KeyValue;
/// <summary>
/// When the key was last updated.
/// </summary>
public DateTime LastUpdateTime;
/// <summary>
/// The name of the key. Telemetry key names are unique within the scope of the title.
/// </summary>
public string Name;
}
[Serializable]
public class WriteEventsRequest : PlayFabRequestCommon
{
@ -71,7 +230,7 @@ namespace PlayFab.EventsModels
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Collection of events to write to PlayStream.
/// The collection of events to write. Up to 200 events can be written per request.
/// </summary>
public List<EventContents> Events;
}

View File

@ -27,7 +27,7 @@ namespace PlayFab
/// <summary>
/// Validates a user with the PlayFab service
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public static void AuthUser(AuthUserRequest request, Action<AuthUserResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
@ -41,7 +41,7 @@ namespace PlayFab
/// <summary>
/// Informs the PlayFab game server hosting service that the indicated user has joined the Game Server Instance specified
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public static void PlayerJoined(PlayerJoinedRequest request, Action<PlayerJoinedResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
@ -55,7 +55,7 @@ namespace PlayFab
/// <summary>
/// Informs the PlayFab game server hosting service that the indicated user has left the Game Server Instance specified
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public static void PlayerLeft(PlayerLeftRequest request, Action<PlayerLeftResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
@ -70,7 +70,7 @@ namespace PlayFab
/// Retrieves the relevant details for a specified user, which the external match-making service can then use to compute
/// effective matches
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public static void UserInfo(UserInfoRequest request, Action<UserInfoResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;

View File

@ -46,7 +46,7 @@ namespace PlayFab
/// <summary>
/// Validates a user with the PlayFab service
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public void AuthUser(AuthUserRequest request, Action<AuthUserResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
@ -58,7 +58,7 @@ namespace PlayFab
/// <summary>
/// Informs the PlayFab game server hosting service that the indicated user has joined the Game Server Instance specified
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public void PlayerJoined(PlayerJoinedRequest request, Action<PlayerJoinedResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
@ -70,7 +70,7 @@ namespace PlayFab
/// <summary>
/// Informs the PlayFab game server hosting service that the indicated user has left the Game Server Instance specified
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public void PlayerLeft(PlayerLeftRequest request, Action<PlayerLeftResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;
@ -83,7 +83,7 @@ namespace PlayFab
/// Retrieves the relevant details for a specified user, which the external match-making service can then use to compute
/// effective matches
/// </summary>
[Obsolete("No longer available", false)]
[Obsolete("No longer available", true)]
public void UserInfo(UserInfoRequest request, Action<UserInfoResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext;

View File

@ -49,6 +49,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<LobbyEmptyResult> OnMultiplayerDeleteLobbyResultEvent;
public event PlayFabRequestEvent<DeleteRemoteUserRequest> OnMultiplayerDeleteRemoteUserRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnMultiplayerDeleteRemoteUserResultEvent;
public event PlayFabRequestEvent<DeleteSecretRequest> OnMultiplayerDeleteSecretRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnMultiplayerDeleteSecretResultEvent;
public event PlayFabRequestEvent<EnableMultiplayerServersForTitleRequest> OnMultiplayerEnableMultiplayerServersForTitleRequestEvent;
public event PlayFabResultEvent<EnableMultiplayerServersForTitleResponse> OnMultiplayerEnableMultiplayerServersForTitleResultEvent;
public event PlayFabRequestEvent<FindFriendLobbiesRequest> OnMultiplayerFindFriendLobbiesRequestEvent;
@ -97,10 +99,14 @@ namespace PlayFab.Events
public event PlayFabResultEvent<JoinLobbyResult> OnMultiplayerJoinArrangedLobbyResultEvent;
public event PlayFabRequestEvent<JoinLobbyRequest> OnMultiplayerJoinLobbyRequestEvent;
public event PlayFabResultEvent<JoinLobbyResult> OnMultiplayerJoinLobbyResultEvent;
public event PlayFabRequestEvent<JoinLobbyAsServerRequest> OnMultiplayerJoinLobbyAsServerRequestEvent;
public event PlayFabResultEvent<JoinLobbyAsServerResult> OnMultiplayerJoinLobbyAsServerResultEvent;
public event PlayFabRequestEvent<JoinMatchmakingTicketRequest> OnMultiplayerJoinMatchmakingTicketRequestEvent;
public event PlayFabResultEvent<JoinMatchmakingTicketResult> OnMultiplayerJoinMatchmakingTicketResultEvent;
public event PlayFabRequestEvent<LeaveLobbyRequest> OnMultiplayerLeaveLobbyRequestEvent;
public event PlayFabResultEvent<LobbyEmptyResult> OnMultiplayerLeaveLobbyResultEvent;
public event PlayFabRequestEvent<LeaveLobbyAsServerRequest> OnMultiplayerLeaveLobbyAsServerRequestEvent;
public event PlayFabResultEvent<LobbyEmptyResult> OnMultiplayerLeaveLobbyAsServerResultEvent;
public event PlayFabRequestEvent<ListMultiplayerServersRequest> OnMultiplayerListArchivedMultiplayerServersRequestEvent;
public event PlayFabResultEvent<ListMultiplayerServersResponse> OnMultiplayerListArchivedMultiplayerServersResultEvent;
public event PlayFabRequestEvent<ListAssetSummariesRequest> OnMultiplayerListAssetSummariesRequestEvent;
@ -125,6 +131,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<ListPartyQosServersResponse> OnMultiplayerListPartyQosServersResultEvent;
public event PlayFabRequestEvent<ListQosServersForTitleRequest> OnMultiplayerListQosServersForTitleRequestEvent;
public event PlayFabResultEvent<ListQosServersForTitleResponse> OnMultiplayerListQosServersForTitleResultEvent;
public event PlayFabRequestEvent<ListSecretSummariesRequest> OnMultiplayerListSecretSummariesRequestEvent;
public event PlayFabResultEvent<ListSecretSummariesResponse> OnMultiplayerListSecretSummariesResultEvent;
public event PlayFabRequestEvent<ListServerBackfillTicketsForPlayerRequest> OnMultiplayerListServerBackfillTicketsForPlayerRequestEvent;
public event PlayFabResultEvent<ListServerBackfillTicketsForPlayerResult> OnMultiplayerListServerBackfillTicketsForPlayerResultEvent;
public event PlayFabRequestEvent<ListTitleMultiplayerServersQuotaChangesRequest> OnMultiplayerListTitleMultiplayerServersQuotaChangesRequestEvent;
@ -137,6 +145,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<LobbyEmptyResult> OnMultiplayerRemoveMemberResultEvent;
public event PlayFabRequestEvent<RequestMultiplayerServerRequest> OnMultiplayerRequestMultiplayerServerRequestEvent;
public event PlayFabResultEvent<RequestMultiplayerServerResponse> OnMultiplayerRequestMultiplayerServerResultEvent;
public event PlayFabRequestEvent<RequestPartyServiceRequest> OnMultiplayerRequestPartyServiceRequestEvent;
public event PlayFabResultEvent<RequestPartyServiceResponse> OnMultiplayerRequestPartyServiceResultEvent;
public event PlayFabRequestEvent<RolloverContainerRegistryCredentialsRequest> OnMultiplayerRolloverContainerRegistryCredentialsRequestEvent;
public event PlayFabResultEvent<RolloverContainerRegistryCredentialsResponse> OnMultiplayerRolloverContainerRegistryCredentialsResultEvent;
public event PlayFabRequestEvent<SetMatchmakingQueueRequest> OnMultiplayerSetMatchmakingQueueRequestEvent;
@ -163,8 +173,12 @@ namespace PlayFab.Events
public event PlayFabResultEvent<EmptyResponse> OnMultiplayerUpdateBuildRegionsResultEvent;
public event PlayFabRequestEvent<UpdateLobbyRequest> OnMultiplayerUpdateLobbyRequestEvent;
public event PlayFabResultEvent<LobbyEmptyResult> OnMultiplayerUpdateLobbyResultEvent;
public event PlayFabRequestEvent<UpdateLobbyAsServerRequest> OnMultiplayerUpdateLobbyAsServerRequestEvent;
public event PlayFabResultEvent<LobbyEmptyResult> OnMultiplayerUpdateLobbyAsServerResultEvent;
public event PlayFabRequestEvent<UploadCertificateRequest> OnMultiplayerUploadCertificateRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnMultiplayerUploadCertificateResultEvent;
public event PlayFabRequestEvent<UploadSecretRequest> OnMultiplayerUploadSecretRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnMultiplayerUploadSecretResultEvent;
}
}
#endif

View File

@ -10,6 +10,8 @@ namespace PlayFab
/// <summary>
/// API methods for managing multiplayer servers. API methods for managing parties. The lobby service helps players group
/// together to play multiplayer games. It is often used as a rendezvous point for players to share connection information.
/// The TrueSkill service helps titles to estimate a player's skill based on their match results. The player skill values
/// from this service are commonly used by a matchmaking service to provide players with balanced matches.
/// </summary>
public static partial class PlayFabMultiplayerAPI
{
@ -322,6 +324,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/DeleteRemoteUser", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes a multiplayer server game secret.
/// </summary>
public static void DeleteSecret(DeleteSecretRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/MultiplayerServer/DeleteSecret", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Enables the multiplayer server feature for a title.
/// </summary>
@ -636,6 +651,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Lobby/JoinLobby", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Preview: Join a lobby as a server entity. This is restricted to client lobbies which are using connections.
/// </summary>
public static void JoinLobbyAsServer(JoinLobbyAsServerRequest request, Action<JoinLobbyAsServerResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Lobby/JoinLobbyAsServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Join a matchmaking ticket.
/// </summary>
@ -662,6 +690,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Lobby/LeaveLobby", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Preview: Request for server to leave a lobby. This is restricted to client owned lobbies which are using connections.
/// </summary>
public static void LeaveLobbyAsServer(LeaveLobbyAsServerRequest request, Action<LobbyEmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Lobby/LeaveLobbyAsServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Lists archived multiplayer server sessions for a build.
/// </summary>
@ -820,6 +861,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/ListQosServersForTitle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Lists multiplayer server game secrets for a title.
/// </summary>
public static void ListSecretSummaries(ListSecretSummariesRequest request, Action<ListSecretSummariesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/MultiplayerServer/ListSecretSummaries", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// List all server backfill ticket Ids the user is a member of.
/// </summary>
@ -899,6 +953,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/RequestMultiplayerServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Request a party session.
/// </summary>
public static void RequestPartyService(RequestPartyServiceRequest request, Action<RequestPartyServiceResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Party/RequestPartyService", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Rolls over the credentials to the container registry.
/// </summary>
@ -1068,6 +1135,21 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Lobby/UpdateLobby", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Preview: Update fields related to a joined server in the lobby the server is in. Servers can keep a lobby from expiring
/// by being the one to "update" the lobby in some way. Servers have no impact on last member leave/last member disconnect
/// behavior.
/// </summary>
public static void UpdateLobbyAsServer(UpdateLobbyAsServerRequest request, Action<LobbyEmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Lobby/UpdateLobbyAsServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Uploads a multiplayer server game certificate.
/// </summary>
@ -1081,6 +1163,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/UploadCertificate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Uploads a multiplayer server game secret.
/// </summary>
public static void UploadSecret(UploadSecretRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/MultiplayerServer/UploadSecret", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
}
}

View File

@ -11,6 +11,8 @@ namespace PlayFab
/// <summary>
/// API methods for managing multiplayer servers. API methods for managing parties. The lobby service helps players group
/// together to play multiplayer games. It is often used as a rendezvous point for players to share connection information.
/// The TrueSkill service helps titles to estimate a player's skill based on their match results. The player skill values
/// from this service are commonly used by a matchmaking service to provide players with balanced matches.
/// </summary>
public partial class PlayFabMultiplayerInstanceAPI : IPlayFabInstanceApi
{
@ -297,6 +299,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/DeleteRemoteUser", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes a multiplayer server game secret.
/// </summary>
public void DeleteSecret(DeleteSecretRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/MultiplayerServer/DeleteSecret", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Enables the multiplayer server feature for a title.
/// </summary>
@ -563,6 +576,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Lobby/JoinLobby", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Preview: Join a lobby as a server entity. This is restricted to client lobbies which are using connections.
/// </summary>
public void JoinLobbyAsServer(JoinLobbyAsServerRequest request, Action<JoinLobbyAsServerResult> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Lobby/JoinLobbyAsServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Join a matchmaking ticket.
/// </summary>
@ -585,6 +609,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Lobby/LeaveLobby", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Preview: Request for server to leave a lobby. This is restricted to client owned lobbies which are using connections.
/// </summary>
public void LeaveLobbyAsServer(LeaveLobbyAsServerRequest request, Action<LobbyEmptyResult> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Lobby/LeaveLobbyAsServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Lists archived multiplayer server sessions for a build.
/// </summary>
@ -719,6 +754,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/ListQosServersForTitle", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Lists multiplayer server game secrets for a title.
/// </summary>
public void ListSecretSummaries(ListSecretSummariesRequest request, Action<ListSecretSummariesResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/MultiplayerServer/ListSecretSummaries", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// List all server backfill ticket Ids the user is a member of.
/// </summary>
@ -786,6 +832,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/RequestMultiplayerServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Request a party session.
/// </summary>
public void RequestPartyService(RequestPartyServiceRequest request, Action<RequestPartyServiceResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Party/RequestPartyService", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Rolls over the credentials to the container registry.
/// </summary>
@ -929,6 +986,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Lobby/UpdateLobby", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Preview: Update fields related to a joined server in the lobby the server is in. Servers can keep a lobby from expiring
/// by being the one to "update" the lobby in some way. Servers have no impact on last member leave/last member disconnect
/// behavior.
/// </summary>
public void UpdateLobbyAsServer(UpdateLobbyAsServerRequest request, Action<LobbyEmptyResult> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Lobby/UpdateLobbyAsServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Uploads a multiplayer server game certificate.
/// </summary>
@ -940,6 +1010,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/MultiplayerServer/UploadCertificate", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Uploads a multiplayer server game secret.
/// </summary>
public void UploadSecret(UploadSecretRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/MultiplayerServer/UploadSecret", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
}
}

View File

@ -94,7 +94,10 @@ namespace PlayFab.MultiplayerModels
WestUs2,
CentralIndia,
UaeNorth,
UkSouth
UkSouth,
SwedenCentral,
CanadaCentral,
MexicoCentral
}
public enum AzureVmFamily
@ -107,6 +110,7 @@ namespace PlayFab.MultiplayerModels
Fsv2,
Dasv4,
Dav4,
Dadsv5,
Eav4,
Easv4,
Ev4,
@ -116,7 +120,9 @@ namespace PlayFab.MultiplayerModels
NCasT4_v3,
Ddv4,
Ddsv4,
HBv3
HBv3,
Ddv5,
Ddsv5
}
public enum AzureVmSize
@ -155,6 +161,10 @@ namespace PlayFab.MultiplayerModels
Standard_D4a_v4,
Standard_D8a_v4,
Standard_D16a_v4,
Standard_D2ads_v5,
Standard_D4ads_v5,
Standard_D8ads_v5,
Standard_D16ads_v5,
Standard_E2a_v4,
Standard_E4a_v4,
Standard_E8a_v4,
@ -185,7 +195,17 @@ namespace PlayFab.MultiplayerModels
Standard_HB120_32rs_v3,
Standard_HB120_64rs_v3,
Standard_HB120_96rs_v3,
Standard_HB120rs_v3
Standard_HB120rs_v3,
Standard_D2d_v5,
Standard_D4d_v5,
Standard_D8d_v5,
Standard_D16d_v5,
Standard_D32d_v5,
Standard_D2ds_v5,
Standard_D4ds_v5,
Standard_D8ds_v5,
Standard_D16ds_v5,
Standard_D32ds_v5
}
[Serializable]
@ -611,6 +631,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<GameCertificateReferenceParams> GameCertificateReferences;
/// <summary>
/// The game secrets for the build.
/// </summary>
public List<GameSecretReferenceParams> GameSecretReferences;
/// <summary>
/// The Linux instrumentation configuration for the build.
/// </summary>
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
@ -640,12 +664,6 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public ServerResourceConstraintParams ServerResourceConstraints;
/// <summary>
/// DEPRECATED - this is always true. Assets are downloaded and uncompressed in memory, without the compressedversion being
/// written first to disc.
/// </summary>
[Obsolete("Use '' instead", false)]
public bool? UseStreamingForAssetDownloads;
/// <summary>
/// The VM size to create the build on.
/// </summary>
public AzureVmSize? VmSize;
@ -696,6 +714,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<GameCertificateReference> GameCertificateReferences;
/// <summary>
/// The game secrets for the build.
/// </summary>
public List<GameSecretReference> GameSecretReferences;
/// <summary>
/// The Linux instrumentation configuration for this build.
/// </summary>
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
@ -778,6 +800,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<GameCertificateReferenceParams> GameCertificateReferences;
/// <summary>
/// The game secrets for the build.
/// </summary>
public List<GameSecretReferenceParams> GameSecretReferences;
/// <summary>
/// The directory containing the game executable. This would be the start path of the game assets that contain the main game
/// server executable. If not provided, a best effort will be made to extract it from the start game command.
/// </summary>
@ -816,12 +842,6 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public string StartMultiplayerServerCommand;
/// <summary>
/// DEPRECATED - this is always true. Assets are downloaded and uncompressed in memory, without the compressedversion being
/// written first to disc.
/// </summary>
[Obsolete("Use '' instead", false)]
public bool? UseStreamingForAssetDownloads;
/// <summary>
/// The VM size to create the build on.
/// </summary>
public AzureVmSize? VmSize;
@ -868,6 +888,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<GameCertificateReference> GameCertificateReferences;
/// <summary>
/// The game secrets for the build.
/// </summary>
public List<GameSecretReference> GameSecretReferences;
/// <summary>
/// The directory containing the game executable. This would be the start path of the game assets that contain the main game
/// server executable. If not provided, a best effort will be made to extract it from the start game command.
/// </summary>
@ -956,12 +980,16 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<GameCertificateReferenceParams> GameCertificateReferences;
/// <summary>
/// The game secrets for the build.
/// </summary>
public List<GameSecretReferenceParams> GameSecretReferences;
/// <summary>
/// The working directory for the game process. If this is not provided, the working directory will be set based on the
/// mount path of the game server executable.
/// </summary>
public string GameWorkingDirectory;
/// <summary>
/// The instrumentation configuration for the build.
/// The instrumentation configuration for the Build. Used only if it is a Windows Build.
/// </summary>
public InstrumentationConfiguration InstrumentationConfiguration;
/// <summary>
@ -970,6 +998,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public bool? IsOSPreview;
/// <summary>
/// The Linux instrumentation configuration for the Build. Used only if it is a Linux Build.
/// </summary>
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
/// <summary>
/// Metadata to tag the build. The keys are case insensitive. The build metadata is made available to the server through
/// Game Server SDK (GSDK).Constraints: Maximum number of keys: 30, Maximum key length: 50, Maximum value length: 100
/// </summary>
@ -1000,12 +1032,6 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public string StartMultiplayerServerCommand;
/// <summary>
/// DEPRECATED - this is always true. Assets are downloaded and uncompressed in memory, without the compressedversion being
/// written first to disc.
/// </summary>
[Obsolete("Use '' instead", false)]
public bool? UseStreamingForAssetDownloads;
/// <summary>
/// The VM size to create the build on.
/// </summary>
public AzureVmSize? VmSize;
@ -1048,6 +1074,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<GameCertificateReference> GameCertificateReferences;
/// <summary>
/// The game secrets for the build.
/// </summary>
public List<GameSecretReference> GameSecretReferences;
/// <summary>
/// The working directory for the game process. If this is not provided, the working directory will be set based on the
/// mount path of the game server executable.
/// </summary>
@ -1062,6 +1092,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public bool? IsOSPreview;
/// <summary>
/// The Linux instrumentation configuration for this build.
/// </summary>
public LinuxInstrumentationConfiguration LinuxInstrumentationConfiguration;
/// <summary>
/// The metadata of the build.
/// </summary>
public Dictionary<string,string> Metadata;
@ -1128,7 +1162,7 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The private key-value pairs which are only visible to members of the lobby. At most 30 key-value pairs may be stored
/// The private key-value pairs which are visible to all entities in the lobby. At most 30 key-value pairs may be stored
/// here, keys are limited to 30 characters and values to 1000. The total size of all lobbyData values may not exceed 4096
/// bytes. Keys are case sensitive.
/// </summary>
@ -1611,6 +1645,22 @@ namespace PlayFab.MultiplayerModels
public string VmId;
}
/// <summary>
/// Deletes a multiplayer server game secret.
/// </summary>
[Serializable]
public class DeleteSecretRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The name of the secret.
/// </summary>
public string Name;
}
[Serializable]
public class DifferenceRule : PlayFabBaseModel
{
@ -1660,6 +1710,19 @@ namespace PlayFab.MultiplayerModels
public double Weight;
}
public enum DirectPeerConnectivityOptions
{
None,
SamePlatformType,
DifferentPlatformType,
AnyPlatformType,
SameEntityLoginProvider,
DifferentEntityLoginProvider,
AnyEntityLoginProvider,
AnyPlatformTypeAndEntityLoginProvider,
OnlyServers
}
[Serializable]
public class DynamicStandbySettings : PlayFabBaseModel
{
@ -1756,16 +1819,6 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Controls whether this query should link to friends made on the Facebook network. Defaults to false
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? ExcludeFacebookFriends;
/// <summary>
/// Controls whether this query should link to friends made on the Steam network. Defaults to false
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? ExcludeSteamFriends;
/// <summary>
/// Indicates which other platforms' friends this query should link to.
/// </summary>
public ExternalFriendSources? ExternalPlatformFriends;
@ -1775,15 +1828,16 @@ namespace PlayFab.MultiplayerModels
/// (less than). The left-hand side of each OData logical expression should be either a search property key (e.g.
/// string_key1, number_key3, etc) or one of the pre-defined search keys all of which must be prefixed by "lobby/":
/// lobby/memberCount (number of players in a lobby), lobby/maxMemberCount (maximum number of players allowed in a lobby),
/// lobby/membershipLock (must equal 'Unlocked' or 'Locked'), lobby/amOwner (required to equal "true"), lobby/amMember
/// (required to equal "true").
/// lobby/memberCountRemaining (remaining number of players who can be allowed in a lobby), lobby/membershipLock (must equal
/// 'Unlocked' or 'Locked'), lobby/amOwner (required to equal "true"), lobby/amMember (required to equal "true").
/// </summary>
public string Filter;
/// <summary>
/// OData style string that contains sorting for this query in either ascending ("asc") or descending ("desc") order.
/// OrderBy clauses are of the form "number_key1 asc" or the pre-defined search key "lobby/memberCount asc" and
/// "lobby/maxMemberCount desc". To sort by closest, a moniker `distance{number_key1 = 5}` can be used to sort by distance
/// from the given number. This field only supports either one sort clause or one distance clause.
/// OrderBy clauses are of the form "number_key1 asc" or the pre-defined search key "lobby/memberCount asc",
/// "lobby/memberCountRemaining desc" and "lobby/maxMemberCount desc". To sort by closest, a moniker `distance{number_key1 =
/// 5}` can be used to sort by distance from the given number. This field only supports either one sort clause or one
/// distance clause.
/// </summary>
public string OrderBy;
/// <summary>
@ -1825,15 +1879,16 @@ namespace PlayFab.MultiplayerModels
/// (less than). The left-hand side of each OData logical expression should be either a search property key (e.g.
/// string_key1, number_key3, etc) or one of the pre-defined search keys all of which must be prefixed by "lobby/":
/// lobby/memberCount (number of players in a lobby), lobby/maxMemberCount (maximum number of players allowed in a lobby),
/// lobby/membershipLock (must equal 'Unlocked' or 'Locked'), lobby/amOwner (required to equal "true"), lobby/amMember
/// (required to equal "true").
/// lobby/memberCountRemaining (remaining number of players who can be allowed in a lobby), lobby/membershipLock (must equal
/// 'Unlocked' or 'Locked'), lobby/amOwner (required to equal "true"), lobby/amMember (required to equal "true").
/// </summary>
public string Filter;
/// <summary>
/// OData style string that contains sorting for this query in either ascending ("asc") or descending ("desc") order.
/// OrderBy clauses are of the form "number_key1 asc" or the pre-defined search key "lobby/memberCount asc" and
/// "lobby/maxMemberCount desc". To sort by closest, a moniker `distance{number_key1 = 5}` can be used to sort by distance
/// from the given number. This field only supports either one sort clause or one distance clause.
/// OrderBy clauses are of the form "number_key1 asc" or the pre-defined search key "lobby/memberCount asc",
/// "lobby/memberCountRemaining desc" and "lobby/maxMemberCount desc". To sort by closest, a moniker `distance{number_key1 =
/// 5}` can be used to sort by distance from the given number. This field only supports either one sort clause or one
/// distance clause.
/// </summary>
public string OrderBy;
/// <summary>
@ -1925,6 +1980,24 @@ namespace PlayFab.MultiplayerModels
public string Name;
}
[Serializable]
public class GameSecretReference : PlayFabBaseModel
{
/// <summary>
/// The name of the game secret. This name should match the name of a secret that was previously added to this title.
/// </summary>
public string Name;
}
[Serializable]
public class GameSecretReferenceParams : PlayFabBaseModel
{
/// <summary>
/// The name of the game secret. This name should match the name of a secret that was previously added to this title.
/// </summary>
public string Name;
}
/// <summary>
/// Gets a URL that can be used to download the specified asset.
/// </summary>
@ -2102,6 +2175,10 @@ namespace PlayFab.MultiplayerModels
/// The VM size the build was created on.
/// </summary>
public AzureVmSize? VmSize;
/// <summary>
/// The configuration for the VmStartupScript feature for the build
/// </summary>
public VmStartupScriptConfiguration VmStartupScriptConfiguration;
}
/// <summary>
@ -2351,7 +2428,7 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public string FQDN;
/// <summary>
/// The IPv4 address of the virtual machine that is hosting this multiplayer server.
/// The public IPv4 address of the virtual machine that is hosting this multiplayer server.
/// </summary>
public string IPV4Address;
/// <summary>
@ -2363,6 +2440,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<Port> Ports;
/// <summary>
/// The list of public Ipv4 addresses associated with the server.
/// </summary>
public List<PublicIpAddress> PublicIPV4Addresses;
/// <summary>
/// The region the multiplayer server is located in.
/// </summary>
public string Region;
@ -2702,7 +2783,7 @@ namespace PlayFab.MultiplayerModels
public uint MaxPlayers;
/// <summary>
/// The private key-value pairs used by the member to communicate information to other members and the owner. Visible to all
/// members of the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
/// entities in the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
/// 1000. The total size of all memberData values may not exceed 4096 bytes. Keys are case sensitive.
/// </summary>
public Dictionary<string,string> MemberData;
@ -2729,6 +2810,45 @@ namespace PlayFab.MultiplayerModels
public bool UseConnections;
}
/// <summary>
/// Preview: Request to join a lobby as a server. Only callable by a game_server entity and this is restricted to client
/// owned lobbies which are using connections.
/// </summary>
[Serializable]
public class JoinLobbyAsServerRequest : PlayFabRequestCommon
{
/// <summary>
/// A field which indicates which lobby the game_server will be joining. This field is opaque to everyone except the Lobby
/// service.
/// </summary>
public string ConnectionString;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The private key-value pairs which are visible to all entities in the lobby but can only be modified by the joined
/// server.At most 30 key - value pairs may be stored here, keys are limited to 30 characters and values to 1000.The total
/// size of all serverData values may not exceed 4096 bytes.
/// </summary>
public Dictionary<string,string> ServerData;
/// <summary>
/// The game_server entity which is joining the Lobby. If a different game_server entity has already joined the request will
/// fail unless the joined entity is disconnected, in which case the incoming game_server entity will replace the
/// disconnected entity.
/// </summary>
public EntityKey ServerEntity;
}
[Serializable]
public class JoinLobbyAsServerResult : PlayFabResultCommon
{
/// <summary>
/// Successfully joined lobby's id.
/// </summary>
public string LobbyId;
}
/// <summary>
/// Request to join a lobby. Only a client can join a lobby.
/// </summary>
@ -2745,7 +2865,7 @@ namespace PlayFab.MultiplayerModels
public Dictionary<string,string> CustomTags;
/// <summary>
/// The private key-value pairs used by the member to communicate information to other members and the owner. Visible to all
/// members of the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
/// entities in the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
/// 1000. The total size of all memberData values may not exceed 4096 bytes.Keys are case sensitive.
/// </summary>
public Dictionary<string,string> MemberData;
@ -2796,6 +2916,28 @@ namespace PlayFab.MultiplayerModels
{
}
/// <summary>
/// Preview: Request for server to leave a lobby. Only a game_server entity can leave and this is restricted to client owned
/// lobbies which are using connections.
/// </summary>
[Serializable]
public class LeaveLobbyAsServerRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The id of the lobby.
/// </summary>
public string LobbyId;
/// <summary>
/// The game_server entity leaving the lobby. If the game_server was subscribed to notifications, it will be unsubscribed.
/// If a the given game_server entity is not in the lobby, it will fail.
/// </summary>
public EntityKey ServerEntity;
}
/// <summary>
/// Request to leave a lobby. Only a client can leave a lobby.
/// </summary>
@ -3105,11 +3247,27 @@ namespace PlayFab.MultiplayerModels
/// The container images we want to list tags for.
/// </summary>
public string ImageName;
/// <summary>
/// The page size for the request.
/// </summary>
public int? PageSize;
/// <summary>
/// The skip token for the paged request.
/// </summary>
public string SkipToken;
}
[Serializable]
public class ListContainerImageTagsResponse : PlayFabResultCommon
{
/// <summary>
/// The page size on the response.
/// </summary>
public int PageSize;
/// <summary>
/// The skip token for the paged response.
/// </summary>
public string SkipToken;
/// <summary>
/// The list of tags for a particular container image.
/// </summary>
@ -3256,6 +3414,10 @@ namespace PlayFab.MultiplayerModels
/// deployed for the title.
/// </summary>
public bool? IncludeAllRegions;
/// <summary>
/// Indicates the Routing Preference used by the Qos servers. The default Routing Preference is Microsoft
/// </summary>
public string RoutingPreference;
}
[Serializable]
@ -3275,6 +3437,43 @@ namespace PlayFab.MultiplayerModels
public string SkipToken;
}
/// <summary>
/// Returns a list of multiplayer server game secrets for a title.
/// </summary>
[Serializable]
public class ListSecretSummariesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The page size for the request.
/// </summary>
public int? PageSize;
/// <summary>
/// The skip token for the paged request.
/// </summary>
public string SkipToken;
}
[Serializable]
public class ListSecretSummariesResponse : PlayFabResultCommon
{
/// <summary>
/// The page size on the response.
/// </summary>
public int PageSize;
/// <summary>
/// The list of game secret.
/// </summary>
public List<SecretSummary> SecretSummaries;
/// <summary>
/// The skip token for the paged response.
/// </summary>
public string SkipToken;
}
/// <summary>
/// List all server backfill ticket Ids the user is a member of.
/// </summary>
@ -3424,6 +3623,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public Dictionary<string,string> SearchData;
/// <summary>
/// Preview: Lobby joined server. This is not the server owner, rather the server that has joined a client owned lobby.
/// </summary>
public LobbyServer Server;
/// <summary>
/// A flag which determines if connections are used. Defaults to true. Only set on create.
/// </summary>
public bool UseConnections;
@ -3434,6 +3637,23 @@ namespace PlayFab.MultiplayerModels
{
}
[Serializable]
public class LobbyServer : PlayFabBaseModel
{
/// <summary>
/// Opaque string, stored on a Subscribe call, which indicates the connection a joined server has with PubSub.
/// </summary>
public string PubSubConnectionHandle;
/// <summary>
/// Key-value pairs specific to the joined server.
/// </summary>
public Dictionary<string,string> ServerData;
/// <summary>
/// The server entity key.
/// </summary>
public EntityKey ServerEntity;
}
[Serializable]
public class LobbySummary : PlayFabBaseModel
{
@ -3818,6 +4038,65 @@ namespace PlayFab.MultiplayerModels
public uint? TotalMatchedLobbyCount;
}
[Serializable]
public class PartyInvitationConfiguration : PlayFabBaseModel
{
/// <summary>
/// The list of PlayFab EntityKeys that the invitation allows to authenticate into the network. If this list is empty, all
/// users are allowed to authenticate using the invitation's identifier. This list may contain no more than 1024 items.
/// </summary>
public List<EntityKey> EntityKeys;
/// <summary>
/// The invite identifier for this party. If this value is specified, it must be no longer than 127 characters.
/// </summary>
public string Identifier;
/// <summary>
/// Controls which participants can revoke this invite.
/// </summary>
public string Revocability;
}
public enum PartyInvitationRevocability
{
Creator,
Anyone
}
[Serializable]
public class PartyNetworkConfiguration : PlayFabBaseModel
{
/// <summary>
/// Controls whether and how to support direct peer-to-peer connection attempts among devices in the network.
/// </summary>
public string DirectPeerConnectivityOptions;
/// <summary>
/// The maximum number of devices allowed to connect to the network. Must be between 1 and 128, inclusive.
/// </summary>
public uint MaxDevices;
/// <summary>
/// The maximum number of devices allowed per user. Must be greater than 0.
/// </summary>
public uint MaxDevicesPerUser;
/// <summary>
/// The maximum number of endpoints allowed per device. Must be between 0 and 32, inclusive.
/// </summary>
public uint MaxEndpointsPerDevice;
/// <summary>
/// The maximum number of unique users allowed in the network. Must be greater than 0.
/// </summary>
public uint MaxUsers;
/// <summary>
/// The maximum number of users allowed per device. Must be between 1 and 8, inclusive.
/// </summary>
public uint MaxUsersPerDevice;
/// <summary>
/// An optionally-specified configuration for the initial invitation for this party. If not provided, default configuration
/// values will be used: a title-unique invitation identifier will be generated, the revocability will be Anyone, and the
/// EntityID list will be empty.
/// </summary>
public PartyInvitationConfiguration PartyInvitationConfiguration;
}
[Serializable]
public class Port : PlayFabBaseModel
{
@ -3841,6 +4120,23 @@ namespace PlayFab.MultiplayerModels
UDP
}
[Serializable]
public class PublicIpAddress : PlayFabBaseModel
{
/// <summary>
/// FQDN of the public IP
/// </summary>
public string FQDN;
/// <summary>
/// Server IP Address
/// </summary>
public string IpAddress;
/// <summary>
/// Routing Type of the public IP.
/// </summary>
public string RoutingType;
}
[Serializable]
public class QosServer : PlayFabBaseModel
{
@ -4037,7 +4333,7 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public string FQDN;
/// <summary>
/// The IPv4 address of the virtual machine that is hosting this multiplayer server.
/// The public IPv4 address of the virtual machine that is hosting this multiplayer server.
/// </summary>
public string IPV4Address;
/// <summary>
@ -4049,6 +4345,10 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public List<Port> Ports;
/// <summary>
/// The list of public Ipv4 addresses associated with the server.
/// </summary>
public List<PublicIpAddress> PublicIPV4Addresses;
/// <summary>
/// The region the multiplayer server is located in.
/// </summary>
public string Region;
@ -4070,6 +4370,50 @@ namespace PlayFab.MultiplayerModels
public string VmId;
}
/// <summary>
/// Requests a party session from a particular set of builds if build alias params is provided, in any of the given
/// preferred regions.
/// </summary>
[Serializable]
public class RequestPartyServiceRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The network configuration for this request.
/// </summary>
public PartyNetworkConfiguration NetworkConfiguration;
/// <summary>
/// A guid string party ID created track the party session over its life.
/// </summary>
public string PartyId;
/// <summary>
/// The preferred regions to request a party session from. The party service will iterate through the regions in the
/// specified order and allocate a party session from the first one that is available.
/// </summary>
public List<string> PreferredRegions;
}
[Serializable]
public class RequestPartyServiceResponse : PlayFabResultCommon
{
/// <summary>
/// The invitation identifier supplied in the PartyInvitationConfiguration, or the PlayFab-generated guid if none was
/// supplied.
/// </summary>
public string InvitationId;
/// <summary>
/// The guid string party ID of the party session.
/// </summary>
public string PartyId;
/// <summary>
/// A base-64 encoded string containing the serialized network descriptor for this party.
/// </summary>
public string SerializedNetworkDescriptor;
}
/// <summary>
/// Gets new credentials to the container registry where game developers can upload custom container images to before
/// creating a new build.
@ -4100,6 +4444,12 @@ namespace PlayFab.MultiplayerModels
public string Username;
}
public enum RoutingType
{
Microsoft,
Internet
}
[Serializable]
public class Schedule : PlayFabBaseModel
{
@ -4143,6 +4493,40 @@ namespace PlayFab.MultiplayerModels
public List<Schedule> ScheduleList;
}
[Serializable]
public class Secret : PlayFabBaseModel
{
/// <summary>
/// Optional secret expiration date.
/// </summary>
public DateTime? ExpirationDate;
/// <summary>
/// A name for the secret. This is used to reference secrets in build configurations.
/// </summary>
public string Name;
/// <summary>
/// Secret value.
/// </summary>
public string Value;
}
[Serializable]
public class SecretSummary : PlayFabBaseModel
{
/// <summary>
/// Optional secret expiration date.
/// </summary>
public DateTime? ExpirationDate;
/// <summary>
/// The name of the secret.
/// </summary>
public string Name;
/// <summary>
/// The secret version auto-generated after upload.
/// </summary>
public string Version;
}
[Serializable]
public class ServerDetails : PlayFabBaseModel
{
@ -4162,6 +4546,10 @@ namespace PlayFab.MultiplayerModels
/// The server's region.
/// </summary>
public string Region;
/// <summary>
/// The string server ID of the multiplayer server generated by PlayFab.
/// </summary>
public string ServerId;
}
[Serializable]
@ -4373,7 +4761,8 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public string PubSubConnectionHandle;
/// <summary>
/// The name of the resource to subscribe to.
/// The name of the resource to subscribe to. For LobbyChange subscriptions this is the lobbyId. For LobbyInvite
/// subscriptions this should always be "@me".
/// </summary>
public string ResourceId;
/// <summary>
@ -4381,7 +4770,9 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public uint SubscriptionVersion;
/// <summary>
/// Subscription type.
/// Subscription type. "LobbyChange" subscriptions allow a member or owner to receive notifications of lobby data, member or
/// owner changes. "LobbyInvite" subscriptions allow a player to receive invites to lobbies. A player does not need to be a
/// member of a lobby to receive lobby invites.
/// </summary>
public SubscriptionType Type;
}
@ -4715,6 +5106,42 @@ namespace PlayFab.MultiplayerModels
public Dictionary<string,string> CustomTags;
}
/// <summary>
/// Preview: Request to update the serverData and serverEntity in case of migration. Only a game_server entity can update
/// this information and this is restricted to client owned lobbies which are using connections.
/// </summary>
[Serializable]
public class UpdateLobbyAsServerRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The id of the lobby.
/// </summary>
public string LobbyId;
/// <summary>
/// The private key-value pairs which are visible to all entities in the lobby and modifiable by the joined server.
/// Optional. Sets or updates key-value pairs on the lobby. Only the current lobby lobby server can set serverData. Keys may
/// be an arbitrary string of at most 30 characters. The total size of all serverData values may not exceed 4096 bytes.
/// Values are not individually limited. There can be up to 30 key-value pairs stored here. Keys are case sensitive.
/// </summary>
public Dictionary<string,string> ServerData;
/// <summary>
/// The keys to delete from the lobby serverData. Optional. Optional. Deletes key-value pairs on the lobby. Only the current
/// joined lobby server can delete serverData. All the specified keys will be removed from the serverData. Keys that do not
/// exist in the lobby are a no-op. If the key to delete exists in the serverData (same request) it will result in a bad
/// request.
/// </summary>
public List<string> ServerDataToDelete;
/// <summary>
/// The lobby server. Optional. Set a different server as the joined server of the lobby (there can only be 1 joined
/// server). When changing the server the previous server will automatically be unsubscribed.
/// </summary>
public EntityKey ServerEntity;
}
/// <summary>
/// Request to update a lobby.
/// </summary>
@ -4734,7 +5161,7 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The private key-value pairs which are only visible to members of the lobby. Optional. Sets or updates key-value pairs on
/// The private key-value pairs which are visible to all entities in the lobby. Optional. Sets or updates key-value pairs on
/// the lobby. Only the current lobby owner can set lobby data. Keys may be an arbitrary string of at most 30 characters.
/// The total size of all lobbyData values may not exceed 4096 bytes. Values are not individually limited. There can be up
/// to 30 key-value pairs stored here. Keys are case sensitive.
@ -4757,9 +5184,9 @@ namespace PlayFab.MultiplayerModels
/// <summary>
/// The private key-value pairs used by the member to communicate information to other members and the owner. Optional. Sets
/// or updates new key-value pairs on the caller's member data. New keys will be added with their values and existing keys
/// will be updated with the new values. Visible to all members of the lobby. At most 30 key-value pairs may be stored here,
/// keys are limited to 30 characters and values to 1000. The total size of all memberData values may not exceed 4096 bytes.
/// Keys are case sensitive. Servers cannot specifiy this.
/// will be updated with the new values. Visible to all entities in the lobby. At most 30 key-value pairs may be stored
/// here, keys are limited to 30 characters and values to 1000. The total size of all memberData values may not exceed 4096
/// bytes. Keys are case sensitive. Servers cannot specifiy this.
/// </summary>
public Dictionary<string,string> MemberData;
/// <summary>
@ -4817,11 +5244,35 @@ namespace PlayFab.MultiplayerModels
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Forces the certificate renewal if the certificate already exists. Default is false
/// </summary>
public bool? ForceUpdate;
/// <summary>
/// The game certificate to upload.
/// </summary>
public Certificate GameCertificate;
}
/// <summary>
/// Uploads a multiplayer server game secret.
/// </summary>
[Serializable]
public class UploadSecretRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Forces the secret renewal if the secret already exists. Default is false
/// </summary>
public bool? ForceUpdate;
/// <summary>
/// The game secret to add.
/// </summary>
public Secret GameSecret;
}
[Serializable]
public class VirtualMachineSummary : PlayFabBaseModel
{
@ -4842,6 +5293,10 @@ namespace PlayFab.MultiplayerModels
[Serializable]
public class VmStartupScriptConfiguration : PlayFabBaseModel
{
/// <summary>
/// Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests.
/// </summary>
public List<VmStartupScriptPortRequest> PortRequests;
/// <summary>
/// Asset which contains the VmStartupScript script and any other required files.
/// </summary>
@ -4851,12 +5306,42 @@ namespace PlayFab.MultiplayerModels
[Serializable]
public class VmStartupScriptParams : PlayFabBaseModel
{
/// <summary>
/// Optional port requests (name/protocol) that will be used by the VmStartupScript. Max of 5 requests.
/// </summary>
public List<VmStartupScriptPortRequestParams> PortRequests;
/// <summary>
/// Asset which contains the VmStartupScript script and any other required files.
/// </summary>
public AssetReferenceParams VmStartupScriptAssetReference;
}
[Serializable]
public class VmStartupScriptPortRequest : PlayFabBaseModel
{
/// <summary>
/// The name for the port.
/// </summary>
public string Name;
/// <summary>
/// The protocol for the port.
/// </summary>
public ProtocolType Protocol;
}
[Serializable]
public class VmStartupScriptPortRequestParams : PlayFabBaseModel
{
/// <summary>
/// The name for the port.
/// </summary>
public string Name;
/// <summary>
/// The protocol for the port.
/// </summary>
public ProtocolType Protocol;
}
[Serializable]
public class WindowsCrashDumpConfiguration : PlayFabBaseModel
{

View File

@ -13,6 +13,10 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GetEntityProfilesResponse> OnProfilesGetProfilesResultEvent;
public event PlayFabRequestEvent<GetTitlePlayersFromMasterPlayerAccountIdsRequest> OnProfilesGetTitlePlayersFromMasterPlayerAccountIdsRequestEvent;
public event PlayFabResultEvent<GetTitlePlayersFromMasterPlayerAccountIdsResponse> OnProfilesGetTitlePlayersFromMasterPlayerAccountIdsResultEvent;
public event PlayFabRequestEvent<GetTitlePlayersFromXboxLiveIDsRequest> OnProfilesGetTitlePlayersFromXboxLiveIDsRequestEvent;
public event PlayFabResultEvent<GetTitlePlayersFromProviderIDsResponse> OnProfilesGetTitlePlayersFromXboxLiveIDsResultEvent;
public event PlayFabRequestEvent<SetDisplayNameRequest> OnProfilesSetDisplayNameRequestEvent;
public event PlayFabResultEvent<SetDisplayNameResponse> OnProfilesSetDisplayNameResultEvent;
public event PlayFabRequestEvent<SetGlobalPolicyRequest> OnProfilesSetGlobalPolicyRequestEvent;
public event PlayFabResultEvent<SetGlobalPolicyResponse> OnProfilesSetGlobalPolicyResultEvent;
public event PlayFabRequestEvent<SetProfileLanguageRequest> OnProfilesSetProfileLanguageRequestEvent;

View File

@ -9,7 +9,7 @@ namespace PlayFab
{
/// <summary>
/// All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools
/// needed to manage entity profiles. The Master Player APIs allow you to perform operations on a master player account
/// needed to manage entity profiles.
/// </summary>
public static class PlayFabProfilesAPI
{
@ -85,6 +85,32 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Profile/GetTitlePlayersFromMasterPlayerAccountIds", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the title player accounts associated with the given XUIDs.
/// </summary>
public static void GetTitlePlayersFromXboxLiveIDs(GetTitlePlayersFromXboxLiveIDsRequest request, Action<GetTitlePlayersFromProviderIDsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Profile/GetTitlePlayersFromXboxLiveIDs", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Update the display name of the entity
/// </summary>
public static void SetDisplayName(SetDisplayNameRequest request, Action<SetDisplayNameResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Profile/SetDisplayName", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Sets the global title access policy
/// </summary>

View File

@ -10,7 +10,7 @@ namespace PlayFab
{
/// <summary>
/// All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools
/// needed to manage entity profiles. The Master Player APIs allow you to perform operations on a master player account
/// needed to manage entity profiles.
/// </summary>
public class PlayFabProfilesInstanceAPI : IPlayFabInstanceApi
{
@ -96,6 +96,28 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Profile/GetTitlePlayersFromMasterPlayerAccountIds", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Retrieves the title player accounts associated with the given XUIDs.
/// </summary>
public void GetTitlePlayersFromXboxLiveIDs(GetTitlePlayersFromXboxLiveIDsRequest request, Action<GetTitlePlayersFromProviderIDsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Profile/GetTitlePlayersFromXboxLiveIDs", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Update the display name of the entity
/// </summary>
public void SetDisplayName(SetDisplayNameRequest request, Action<SetDisplayNameResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Profile/SetDisplayName", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Sets the global title access policy
/// </summary>

View File

@ -142,10 +142,6 @@ namespace PlayFab.ProfilesModels
/// </summary>
public string Language;
/// <summary>
/// Leaderboard metadata for the entity.
/// </summary>
public string LeaderboardMetadata;
/// <summary>
/// The lineage of this profile.
/// </summary>
public EntityLineage Lineage;
@ -193,32 +189,11 @@ namespace PlayFab.ProfilesModels
public int Size;
}
[Serializable]
public class EntityStatisticChildValue : PlayFabBaseModel
{
/// <summary>
/// Child name value, if child statistic
/// </summary>
public string ChildName;
/// <summary>
/// Child statistic metadata
/// </summary>
public string Metadata;
/// <summary>
/// Child statistic value
/// </summary>
public int Value;
}
[Serializable]
public class EntityStatisticValue : PlayFabBaseModel
{
/// <summary>
/// Child statistic values
/// </summary>
public Dictionary<string,EntityStatisticChildValue> ChildStatistics;
/// <summary>
/// Statistic metadata
/// Metadata associated with the Statistic.
/// </summary>
public string Metadata;
/// <summary>
@ -226,9 +201,9 @@ namespace PlayFab.ProfilesModels
/// </summary>
public string Name;
/// <summary>
/// Statistic value
/// Statistic scores
/// </summary>
public int? Value;
public List<string> Scores;
/// <summary>
/// Statistic version
/// </summary>
@ -359,6 +334,40 @@ namespace PlayFab.ProfilesModels
public Dictionary<string,EntityKey> TitlePlayerAccounts;
}
[Serializable]
public class GetTitlePlayersFromProviderIDsResponse : PlayFabResultCommon
{
/// <summary>
/// Dictionary of provider identifiers mapped to title_player_account lineage. Missing lineage indicates the player either
/// doesn't exist or doesn't play the requested title.
/// </summary>
public Dictionary<string,EntityLineage> TitlePlayerAccounts;
}
/// <summary>
/// Given a collection of Xbox IDs (XUIDs), returns all title player accounts.
/// </summary>
[Serializable]
public class GetTitlePlayersFromXboxLiveIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Xbox Sandbox the players had on their Xbox tokens.
/// </summary>
public string Sandbox;
/// <summary>
/// Optional ID of title to get players from, required if calling using a master_player_account.
/// </summary>
public string TitleId;
/// <summary>
/// List of Xbox Live XUIDs
/// </summary>
public List<string> XboxLiveIds;
}
public enum OperationTypes
{
Created,
@ -367,6 +376,44 @@ namespace PlayFab.ProfilesModels
None
}
/// <summary>
/// Given an entity profile, will update its display name to the one passed in if the profile's version is equal to the
/// specified value
/// </summary>
[Serializable]
public class SetDisplayNameRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The new value to be set on Entity Profile's display name
/// </summary>
public string DisplayName;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The expected version of a profile to perform this update on
/// </summary>
public int? ExpectedVersion;
}
[Serializable]
public class SetDisplayNameResponse : PlayFabResultCommon
{
/// <summary>
/// The type of operation that occured on the profile's display name
/// </summary>
public OperationTypes? OperationResult;
/// <summary>
/// The updated version of the profile after the display name update
/// </summary>
public int? VersionNumber;
}
/// <summary>
/// This will set the access policy statements on the given entity profile. This is not additive, any existing statements
/// will be replaced with the statements in this request.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 24485793d5ba2d641b660ee9a48c06b3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,52 @@
#if !DISABLE_PLAYFABENTITY_API
using PlayFab.ProgressionModels;
namespace PlayFab.Events
{
public partial class PlayFabEvents
{
public event PlayFabRequestEvent<CreateLeaderboardDefinitionRequest> OnProgressionCreateLeaderboardDefinitionRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionCreateLeaderboardDefinitionResultEvent;
public event PlayFabRequestEvent<CreateStatisticDefinitionRequest> OnProgressionCreateStatisticDefinitionRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionCreateStatisticDefinitionResultEvent;
public event PlayFabRequestEvent<DeleteLeaderboardDefinitionRequest> OnProgressionDeleteLeaderboardDefinitionRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionDeleteLeaderboardDefinitionResultEvent;
public event PlayFabRequestEvent<DeleteLeaderboardEntriesRequest> OnProgressionDeleteLeaderboardEntriesRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionDeleteLeaderboardEntriesResultEvent;
public event PlayFabRequestEvent<DeleteStatisticDefinitionRequest> OnProgressionDeleteStatisticDefinitionRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionDeleteStatisticDefinitionResultEvent;
public event PlayFabRequestEvent<DeleteStatisticsRequest> OnProgressionDeleteStatisticsRequestEvent;
public event PlayFabResultEvent<DeleteStatisticsResponse> OnProgressionDeleteStatisticsResultEvent;
public event PlayFabRequestEvent<GetFriendLeaderboardForEntityRequest> OnProgressionGetFriendLeaderboardForEntityRequestEvent;
public event PlayFabResultEvent<GetEntityLeaderboardResponse> OnProgressionGetFriendLeaderboardForEntityResultEvent;
public event PlayFabRequestEvent<GetEntityLeaderboardRequest> OnProgressionGetLeaderboardRequestEvent;
public event PlayFabResultEvent<GetEntityLeaderboardResponse> OnProgressionGetLeaderboardResultEvent;
public event PlayFabRequestEvent<GetLeaderboardAroundEntityRequest> OnProgressionGetLeaderboardAroundEntityRequestEvent;
public event PlayFabResultEvent<GetEntityLeaderboardResponse> OnProgressionGetLeaderboardAroundEntityResultEvent;
public event PlayFabRequestEvent<GetLeaderboardDefinitionRequest> OnProgressionGetLeaderboardDefinitionRequestEvent;
public event PlayFabResultEvent<GetLeaderboardDefinitionResponse> OnProgressionGetLeaderboardDefinitionResultEvent;
public event PlayFabRequestEvent<GetLeaderboardForEntitiesRequest> OnProgressionGetLeaderboardForEntitiesRequestEvent;
public event PlayFabResultEvent<GetEntityLeaderboardResponse> OnProgressionGetLeaderboardForEntitiesResultEvent;
public event PlayFabRequestEvent<GetStatisticDefinitionRequest> OnProgressionGetStatisticDefinitionRequestEvent;
public event PlayFabResultEvent<GetStatisticDefinitionResponse> OnProgressionGetStatisticDefinitionResultEvent;
public event PlayFabRequestEvent<GetStatisticsRequest> OnProgressionGetStatisticsRequestEvent;
public event PlayFabResultEvent<GetStatisticsResponse> OnProgressionGetStatisticsResultEvent;
public event PlayFabRequestEvent<GetStatisticsForEntitiesRequest> OnProgressionGetStatisticsForEntitiesRequestEvent;
public event PlayFabResultEvent<GetStatisticsForEntitiesResponse> OnProgressionGetStatisticsForEntitiesResultEvent;
public event PlayFabRequestEvent<IncrementLeaderboardVersionRequest> OnProgressionIncrementLeaderboardVersionRequestEvent;
public event PlayFabResultEvent<IncrementLeaderboardVersionResponse> OnProgressionIncrementLeaderboardVersionResultEvent;
public event PlayFabRequestEvent<IncrementStatisticVersionRequest> OnProgressionIncrementStatisticVersionRequestEvent;
public event PlayFabResultEvent<IncrementStatisticVersionResponse> OnProgressionIncrementStatisticVersionResultEvent;
public event PlayFabRequestEvent<ListLeaderboardDefinitionsRequest> OnProgressionListLeaderboardDefinitionsRequestEvent;
public event PlayFabResultEvent<ListLeaderboardDefinitionsResponse> OnProgressionListLeaderboardDefinitionsResultEvent;
public event PlayFabRequestEvent<ListStatisticDefinitionsRequest> OnProgressionListStatisticDefinitionsRequestEvent;
public event PlayFabResultEvent<ListStatisticDefinitionsResponse> OnProgressionListStatisticDefinitionsResultEvent;
public event PlayFabRequestEvent<UnlinkLeaderboardFromStatisticRequest> OnProgressionUnlinkLeaderboardFromStatisticRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionUnlinkLeaderboardFromStatisticResultEvent;
public event PlayFabRequestEvent<UpdateLeaderboardEntriesRequest> OnProgressionUpdateLeaderboardEntriesRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnProgressionUpdateLeaderboardEntriesResultEvent;
public event PlayFabRequestEvent<UpdateStatisticsRequest> OnProgressionUpdateStatisticsRequestEvent;
public event PlayFabResultEvent<UpdateStatisticsResponse> OnProgressionUpdateStatisticsResultEvent;
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0baf01ae0e5700e41a23409b4e548524
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,313 @@
#if !DISABLE_PLAYFABENTITY_API && !DISABLE_PLAYFAB_STATIC_API
using System;
using System.Collections.Generic;
using PlayFab.ProgressionModels;
using PlayFab.Internal;
namespace PlayFab
{
/// <summary>
/// Manage entity statistics Manage entity leaderboards
/// </summary>
public static class PlayFabProgressionAPI
{
static PlayFabProgressionAPI() {}
/// <summary>
/// Verify entity login.
/// </summary>
public static bool IsEntityLoggedIn()
{
return PlayFabSettings.staticPlayer.IsEntityLoggedIn();
}
/// <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 static void ForgetAllCredentials()
{
PlayFabSettings.staticPlayer.ForgetAllCredentials();
}
/// <summary>
/// Creates a new leaderboard definition.
/// </summary>
public static void CreateLeaderboardDefinition(CreateLeaderboardDefinitionRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/CreateLeaderboardDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Create a new entity statistic definition.
/// </summary>
public static void CreateStatisticDefinition(CreateStatisticDefinitionRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/CreateStatisticDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes a leaderboard definition.
/// </summary>
public static void DeleteLeaderboardDefinition(DeleteLeaderboardDefinitionRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/DeleteLeaderboardDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Deletes the specified entries from the given leaderboard.
/// </summary>
public static void DeleteLeaderboardEntries(DeleteLeaderboardEntriesRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/DeleteLeaderboardEntries", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Delete an entity statistic definition. Will delete all statistics on entity profiles and leaderboards.
/// </summary>
public static void DeleteStatisticDefinition(DeleteStatisticDefinitionRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/DeleteStatisticDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Delete statistics on an entity profile. This will remove all rankings from associated leaderboards.
/// </summary>
public static void DeleteStatistics(DeleteStatisticsRequest request, Action<DeleteStatisticsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/DeleteStatistics", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get the friend leaderboard for the specified entity. A maximum of 25 friend entries are listed in the leaderboard.
/// </summary>
public static void GetFriendLeaderboardForEntity(GetFriendLeaderboardForEntityRequest request, Action<GetEntityLeaderboardResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetFriendLeaderboardForEntity", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get the leaderboard for a specific entity type and statistic.
/// </summary>
public static void GetLeaderboard(GetEntityLeaderboardRequest request, Action<GetEntityLeaderboardResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboard", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get the leaderboard around a specific entity.
/// </summary>
public static void GetLeaderboardAroundEntity(GetLeaderboardAroundEntityRequest request, Action<GetEntityLeaderboardResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboardAroundEntity", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets the specified leaderboard definition.
/// </summary>
public static void GetLeaderboardDefinition(GetLeaderboardDefinitionRequest request, Action<GetLeaderboardDefinitionResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboardDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get the leaderboard limited to a set of entities.
/// </summary>
public static void GetLeaderboardForEntities(GetLeaderboardForEntitiesRequest request, Action<GetEntityLeaderboardResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboardForEntities", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get current statistic definition information
/// </summary>
public static void GetStatisticDefinition(GetStatisticDefinitionRequest request, Action<GetStatisticDefinitionResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/GetStatisticDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets statistics for the specified entity.
/// </summary>
public static void GetStatistics(GetStatisticsRequest request, Action<GetStatisticsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/GetStatistics", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Gets statistics for the specified collection of entities.
/// </summary>
public static void GetStatisticsForEntities(GetStatisticsForEntitiesRequest request, Action<GetStatisticsForEntitiesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/GetStatisticsForEntities", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Increment a leaderboard version.
/// </summary>
public static void IncrementLeaderboardVersion(IncrementLeaderboardVersionRequest request, Action<IncrementLeaderboardVersionResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/IncrementLeaderboardVersion", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Increment an entity statistic definition version.
/// </summary>
public static void IncrementStatisticVersion(IncrementStatisticVersionRequest request, Action<IncrementStatisticVersionResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/IncrementStatisticVersion", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Lists the leaderboard definitions defined for the Title.
/// </summary>
public static void ListLeaderboardDefinitions(ListLeaderboardDefinitionsRequest request, Action<ListLeaderboardDefinitionsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/ListLeaderboardDefinitions", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Get all current statistic definitions information
/// </summary>
public static void ListStatisticDefinitions(ListStatisticDefinitionsRequest request, Action<ListStatisticDefinitionsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/ListStatisticDefinitions", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Unlinks a leaderboard definition from it's linked statistic definition.
/// </summary>
public static void UnlinkLeaderboardFromStatistic(UnlinkLeaderboardFromStatisticRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/UnlinkLeaderboardFromStatistic", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Adds or updates entries on the specified leaderboard.
/// </summary>
public static void UpdateLeaderboardEntries(UpdateLeaderboardEntriesRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/UpdateLeaderboardEntries", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Update statistics on an entity profile. Depending on the statistic definition, this may result in entity being ranked on
/// various leaderboards.
/// </summary>
public static void UpdateStatistics(UpdateStatisticsRequest request, Action<UpdateStatisticsResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/UpdateStatistics", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 77a7d66f0cc99ad40a5068f8a1e2865f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,289 @@
#if !DISABLE_PLAYFABENTITY_API
using System;
using System.Collections.Generic;
using PlayFab.ProgressionModels;
using PlayFab.Internal;
using PlayFab.SharedModels;
namespace PlayFab
{
/// <summary>
/// Manage entity statistics Manage entity leaderboards
/// </summary>
public class PlayFabProgressionInstanceAPI : IPlayFabInstanceApi
{
public readonly PlayFabApiSettings apiSettings = null;
public readonly PlayFabAuthenticationContext authenticationContext = null;
public PlayFabProgressionInstanceAPI(PlayFabAuthenticationContext context)
{
if (context == null)
throw new PlayFabException(PlayFabExceptionCode.AuthContextRequired, "Context cannot be null, create a PlayFabAuthenticationContext for each player in advance, or call <PlayFabClientInstanceAPI>.GetAuthenticationContext()");
authenticationContext = context;
}
public PlayFabProgressionInstanceAPI(PlayFabApiSettings settings, PlayFabAuthenticationContext context)
{
if (context == null)
throw new PlayFabException(PlayFabExceptionCode.AuthContextRequired, "Context cannot be null, create a PlayFabAuthenticationContext for each player in advance, or call <PlayFabClientInstanceAPI>.GetAuthenticationContext()");
apiSettings = settings;
authenticationContext = context;
}
/// <summary>
/// Verify entity login.
/// </summary>
public bool IsEntityLoggedIn()
{
return authenticationContext == null ? false : authenticationContext.IsEntityLoggedIn();
}
/// <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>
/// Creates a new leaderboard definition.
/// </summary>
public void CreateLeaderboardDefinition(CreateLeaderboardDefinitionRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/CreateLeaderboardDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Create a new entity statistic definition.
/// </summary>
public void CreateStatisticDefinition(CreateStatisticDefinitionRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/CreateStatisticDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes a leaderboard definition.
/// </summary>
public void DeleteLeaderboardDefinition(DeleteLeaderboardDefinitionRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/DeleteLeaderboardDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Deletes the specified entries from the given leaderboard.
/// </summary>
public void DeleteLeaderboardEntries(DeleteLeaderboardEntriesRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/DeleteLeaderboardEntries", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Delete an entity statistic definition. Will delete all statistics on entity profiles and leaderboards.
/// </summary>
public void DeleteStatisticDefinition(DeleteStatisticDefinitionRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/DeleteStatisticDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Delete statistics on an entity profile. This will remove all rankings from associated leaderboards.
/// </summary>
public void DeleteStatistics(DeleteStatisticsRequest request, Action<DeleteStatisticsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/DeleteStatistics", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get the friend leaderboard for the specified entity. A maximum of 25 friend entries are listed in the leaderboard.
/// </summary>
public void GetFriendLeaderboardForEntity(GetFriendLeaderboardForEntityRequest request, Action<GetEntityLeaderboardResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetFriendLeaderboardForEntity", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get the leaderboard for a specific entity type and statistic.
/// </summary>
public void GetLeaderboard(GetEntityLeaderboardRequest request, Action<GetEntityLeaderboardResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboard", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get the leaderboard around a specific entity.
/// </summary>
public void GetLeaderboardAroundEntity(GetLeaderboardAroundEntityRequest request, Action<GetEntityLeaderboardResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboardAroundEntity", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets the specified leaderboard definition.
/// </summary>
public void GetLeaderboardDefinition(GetLeaderboardDefinitionRequest request, Action<GetLeaderboardDefinitionResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboardDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get the leaderboard limited to a set of entities.
/// </summary>
public void GetLeaderboardForEntities(GetLeaderboardForEntitiesRequest request, Action<GetEntityLeaderboardResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/GetLeaderboardForEntities", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get current statistic definition information
/// </summary>
public void GetStatisticDefinition(GetStatisticDefinitionRequest request, Action<GetStatisticDefinitionResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/GetStatisticDefinition", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets statistics for the specified entity.
/// </summary>
public void GetStatistics(GetStatisticsRequest request, Action<GetStatisticsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/GetStatistics", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Gets statistics for the specified collection of entities.
/// </summary>
public void GetStatisticsForEntities(GetStatisticsForEntitiesRequest request, Action<GetStatisticsForEntitiesResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/GetStatisticsForEntities", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Increment a leaderboard version.
/// </summary>
public void IncrementLeaderboardVersion(IncrementLeaderboardVersionRequest request, Action<IncrementLeaderboardVersionResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/IncrementLeaderboardVersion", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Increment an entity statistic definition version.
/// </summary>
public void IncrementStatisticVersion(IncrementStatisticVersionRequest request, Action<IncrementStatisticVersionResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/IncrementStatisticVersion", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Lists the leaderboard definitions defined for the Title.
/// </summary>
public void ListLeaderboardDefinitions(ListLeaderboardDefinitionsRequest request, Action<ListLeaderboardDefinitionsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/ListLeaderboardDefinitions", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Get all current statistic definitions information
/// </summary>
public void ListStatisticDefinitions(ListStatisticDefinitionsRequest request, Action<ListStatisticDefinitionsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/ListStatisticDefinitions", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Unlinks a leaderboard definition from it's linked statistic definition.
/// </summary>
public void UnlinkLeaderboardFromStatistic(UnlinkLeaderboardFromStatisticRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/UnlinkLeaderboardFromStatistic", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Adds or updates entries on the specified leaderboard.
/// </summary>
public void UpdateLeaderboardEntries(UpdateLeaderboardEntriesRequest 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Leaderboard/UpdateLeaderboardEntries", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Update statistics on an entity profile. Depending on the statistic definition, this may result in entity being ranked on
/// various leaderboards.
/// </summary>
public void UpdateStatistics(UpdateStatisticsRequest request, Action<UpdateStatisticsResponse> 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.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method");
PlayFabHttp.MakeApiCall("/Statistic/UpdateStatistics", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9b633860fe71fc24dacbbfe3f943e227
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,897 @@
#if !DISABLE_PLAYFABENTITY_API
using System;
using System.Collections.Generic;
using PlayFab.SharedModels;
namespace PlayFab.ProgressionModels
{
[Serializable]
public class CreateLeaderboardDefinitionRequest : PlayFabRequestCommon
{
/// <summary>
/// Leaderboard columns describing the sort directions, cannot be changed after creation.
/// </summary>
public List<LeaderboardColumn> Columns;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The entity type being represented on the leaderboard. If it doesn't correspond to the PlayFab entity types, use
/// 'external' as the type.
/// </summary>
public string EntityType;
/// <summary>
/// A name for the leaderboard, unique per title.
/// </summary>
public string Name;
/// <summary>
/// Maximum number of entries on this leaderboard
/// </summary>
public int SizeLimit;
/// <summary>
/// The version reset configuration for the leaderboard definition.
/// </summary>
public VersionConfiguration VersionConfiguration;
}
[Serializable]
public class CreateStatisticDefinitionRequest : PlayFabRequestCommon
{
/// <summary>
/// The columns for the statistic defining the aggregation method for each column.
/// </summary>
public List<StatisticColumn> Columns;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The entity type allowed to have score(s) for this statistic.
/// </summary>
public string EntityType;
/// <summary>
/// Name of the statistic. Must be less than 150 characters. Restricted to a-Z, 0-9, '(', ')', '_', '-' and '.'.
/// </summary>
public string Name;
/// <summary>
/// The version reset configuration for the statistic definition.
/// </summary>
public VersionConfiguration VersionConfiguration;
}
[Serializable]
public class DeleteLeaderboardDefinitionRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The name of the leaderboard definition to delete.
/// </summary>
public string Name;
}
[Serializable]
public class DeleteLeaderboardEntriesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The unique Ids of the entries to delete from the leaderboard.
/// </summary>
public List<string> EntityIds;
/// <summary>
/// The name of the leaderboard.
/// </summary>
public string Name;
}
[Serializable]
public class DeleteStatisticDefinitionRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Name of the statistic to delete.
/// </summary>
public string Name;
}
[Serializable]
public class DeleteStatisticsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// Collection of statistics to remove from this entity.
/// </summary>
public List<StatisticDelete> Statistics;
}
[Serializable]
public class DeleteStatisticsResponse : PlayFabResultCommon
{
/// <summary>
/// The entity id and type.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class EmptyResponse : PlayFabResultCommon
{
}
/// <summary>
/// Combined entity type and ID structure which uniquely identifies a single entity.
/// </summary>
[Serializable]
public class EntityKey : PlayFabBaseModel
{
/// <summary>
/// Unique ID of the entity.
/// </summary>
public string Id;
/// <summary>
/// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
/// </summary>
public string Type;
}
/// <summary>
/// Individual rank of an entity in a leaderboard
/// </summary>
[Serializable]
public class EntityLeaderboardEntry : PlayFabBaseModel
{
/// <summary>
/// Entity's display name.
/// </summary>
public string DisplayName;
/// <summary>
/// Entity identifier.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The time at which the last update to the entry was recorded on the server.
/// </summary>
public DateTime LastUpdated;
/// <summary>
/// An opaque blob of data stored on the leaderboard entry. Note that the metadata is not used for ranking purposes.
/// </summary>
public string Metadata;
/// <summary>
/// Position on the leaderboard.
/// </summary>
public int Rank;
/// <summary>
/// Scores for the entry.
/// </summary>
public List<string> Scores;
}
[Serializable]
public class EntityStatistics : PlayFabBaseModel
{
/// <summary>
/// Entity key
/// </summary>
public EntityKey EntityKey;
/// <summary>
/// All statistics for the given entitykey
/// </summary>
public List<EntityStatisticValue> Statistics;
}
[Serializable]
public class EntityStatisticValue : PlayFabBaseModel
{
/// <summary>
/// Metadata associated with the Statistic.
/// </summary>
public string Metadata;
/// <summary>
/// Statistic name
/// </summary>
public string Name;
/// <summary>
/// Statistic scores
/// </summary>
public List<string> Scores;
/// <summary>
/// Statistic version
/// </summary>
public int Version;
}
public enum ExternalFriendSources
{
None,
Steam,
Facebook,
Xbox,
Psn,
All
}
/// <summary>
/// Request to load a leaderboard.
/// </summary>
[Serializable]
public class GetEntityLeaderboardRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Name of the leaderboard.
/// </summary>
public string LeaderboardName;
/// <summary>
/// Maximum number of results to return from the leaderboard. Minimum 1, maximum 1,000.
/// </summary>
public uint PageSize;
/// <summary>
/// Index position to start from. 1 is beginning of leaderboard.
/// </summary>
public uint? StartingPosition;
/// <summary>
/// Optional version of the leaderboard, defaults to current version.
/// </summary>
public uint? Version;
}
/// <summary>
/// Leaderboard response
/// </summary>
[Serializable]
public class GetEntityLeaderboardResponse : PlayFabResultCommon
{
/// <summary>
/// Leaderboard columns describing the sort directions.
/// </summary>
public List<LeaderboardColumn> Columns;
/// <summary>
/// The number of entries on the leaderboard.
/// </summary>
public uint EntryCount;
/// <summary>
/// Individual entity rankings in the leaderboard, in sorted order by rank.
/// </summary>
public List<EntityLeaderboardEntry> Rankings;
/// <summary>
/// Version of the leaderboard being returned.
/// </summary>
public uint Version;
}
[Serializable]
public class GetFriendLeaderboardForEntityRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// Indicates which other platforms' friends should be included in the response. In HTTP, it is represented as a
/// comma-separated list of platforms.
/// </summary>
public ExternalFriendSources? ExternalFriendSources;
/// <summary>
/// Name of the leaderboard.
/// </summary>
public string LeaderboardName;
/// <summary>
/// Optional version of the leaderboard, defaults to current version.
/// </summary>
public uint? Version;
/// <summary>
/// Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab.
/// </summary>
public string XboxToken;
}
/// <summary>
/// Request to load a section of a leaderboard centered on a specific entity.
/// </summary>
[Serializable]
public class GetLeaderboardAroundEntityRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// Name of the leaderboard.
/// </summary>
public string LeaderboardName;
/// <summary>
/// Number of surrounding entries to return (in addition to specified entity). In general, the number of ranks above and
/// below will be split into half. For example, if the specified value is 10, 5 ranks above and 5 ranks below will be
/// retrieved. However, the numbers will get skewed in either direction when the specified entity is towards the top or
/// bottom of the leaderboard. Also, the number of entries returned can be lower than the value specified for entries at the
/// bottom of the leaderboard.
/// </summary>
public uint MaxSurroundingEntries;
/// <summary>
/// Optional version of the leaderboard, defaults to current.
/// </summary>
public uint? Version;
}
[Serializable]
public class GetLeaderboardDefinitionRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The name of the leaderboard to retrieve the definition for.
/// </summary>
public string Name;
}
[Serializable]
public class GetLeaderboardDefinitionResponse : PlayFabResultCommon
{
/// <summary>
/// Sort direction of the leaderboard columns, cannot be changed after creation.
/// </summary>
public List<LeaderboardColumn> Columns;
/// <summary>
/// Created time, in UTC
/// </summary>
public DateTime Created;
/// <summary>
/// The entity type being represented on the leaderboard. If it doesn't correspond to the PlayFab entity types, use
/// 'external' as the type.
/// </summary>
public string EntityType;
/// <summary>
/// Last time, in UTC, leaderboard version was incremented.
/// </summary>
public DateTime? LastResetTime;
/// <summary>
/// A name for the leaderboard, unique per title.
/// </summary>
public string Name;
/// <summary>
/// Maximum number of entries on this leaderboard
/// </summary>
public int SizeLimit;
/// <summary>
/// Latest Leaderboard version.
/// </summary>
public uint Version;
/// <summary>
/// The version reset configuration for the leaderboard definition.
/// </summary>
public VersionConfiguration VersionConfiguration;
}
/// <summary>
/// Request a leaderboard limited to a collection of entities.
/// </summary>
[Serializable]
public class GetLeaderboardForEntitiesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Collection of Entity IDs to include in the leaderboard.
/// </summary>
public List<string> EntityIds;
/// <summary>
/// Name of the leaderboard.
/// </summary>
public string LeaderboardName;
/// <summary>
/// Optional version of the leaderboard, defaults to current.
/// </summary>
public uint? Version;
}
[Serializable]
public class GetStatisticDefinitionRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Name of the statistic. Must be less than 150 characters.
/// </summary>
public string Name;
}
[Serializable]
public class GetStatisticDefinitionResponse : PlayFabResultCommon
{
/// <summary>
/// The columns for the statistic defining the aggregation method for each column.
/// </summary>
public List<StatisticColumn> Columns;
/// <summary>
/// Created time, in UTC
/// </summary>
public DateTime Created;
/// <summary>
/// The entity type that can have this statistic.
/// </summary>
public string EntityType;
/// <summary>
/// Last time, in UTC, statistic version was incremented.
/// </summary>
public DateTime? LastResetTime;
/// <summary>
/// The list of leaderboards that are linked to this statistic definition.
/// </summary>
public List<string> LinkedLeaderboardNames;
/// <summary>
/// Name of the statistic.
/// </summary>
public string Name;
/// <summary>
/// Statistic version.
/// </summary>
public uint Version;
/// <summary>
/// The version reset configuration for the leaderboard definition.
/// </summary>
public VersionConfiguration VersionConfiguration;
}
[Serializable]
public class GetStatisticsForEntitiesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Collection of Entity IDs to retrieve statistics for.
/// </summary>
public List<EntityKey> Entities;
}
[Serializable]
public class GetStatisticsForEntitiesResponse : PlayFabResultCommon
{
/// <summary>
/// A mapping of statistic name to the columns defined in the corresponding definition.
/// </summary>
public Dictionary<string,StatisticColumnCollection> ColumnDetails;
/// <summary>
/// List of entities mapped to their statistics. Only the latest version of a statistic is returned.
/// </summary>
public List<EntityStatistics> EntitiesStatistics;
}
[Serializable]
public class GetStatisticsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
}
[Serializable]
public class GetStatisticsResponse : PlayFabResultCommon
{
/// <summary>
/// A mapping of statistic name to the columns defined in the corresponding definition.
/// </summary>
public Dictionary<string,StatisticColumnCollection> ColumnDetails;
/// <summary>
/// The entity id and type.
/// </summary>
public EntityKey Entity;
/// <summary>
/// List of statistics keyed by Name. Only the latest version of a statistic is returned.
/// </summary>
public Dictionary<string,EntityStatisticValue> Statistics;
}
[Serializable]
public class IncrementLeaderboardVersionRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The name of the leaderboard to increment the version for.
/// </summary>
public string Name;
}
[Serializable]
public class IncrementLeaderboardVersionResponse : PlayFabResultCommon
{
/// <summary>
/// New Leaderboard version.
/// </summary>
public uint Version;
}
[Serializable]
public class IncrementStatisticVersionRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Name of the statistic to increment the version of.
/// </summary>
public string Name;
}
[Serializable]
public class IncrementStatisticVersionResponse : PlayFabResultCommon
{
/// <summary>
/// New statistic version.
/// </summary>
public uint Version;
}
[Serializable]
public class LeaderboardColumn : PlayFabBaseModel
{
/// <summary>
/// If the value for this column is sourced from a statistic, details of the linked column. Null if the leaderboard is not
/// linked.
/// </summary>
public LinkedStatisticColumn LinkedStatisticColumn;
/// <summary>
/// A name for the leaderboard column, unique per leaderboard definition.
/// </summary>
public string Name;
/// <summary>
/// The sort direction for this column.
/// </summary>
public LeaderboardSortDirection SortDirection;
}
[Serializable]
public class LeaderboardDefinition : PlayFabBaseModel
{
/// <summary>
/// Sort direction of the leaderboard columns, cannot be changed after creation.
/// </summary>
public List<LeaderboardColumn> Columns;
/// <summary>
/// Created time, in UTC
/// </summary>
public DateTime Created;
/// <summary>
/// The entity type being represented on the leaderboard. If it doesn't correspond to the PlayFab entity types, use
/// 'external' as the type.
/// </summary>
public string EntityType;
/// <summary>
/// Last time, in UTC, leaderboard version was incremented.
/// </summary>
public DateTime? LastResetTime;
/// <summary>
/// A name for the leaderboard, unique per title.
/// </summary>
public string Name;
/// <summary>
/// Maximum number of entries on this leaderboard
/// </summary>
public int SizeLimit;
/// <summary>
/// Latest Leaderboard version.
/// </summary>
public uint Version;
/// <summary>
/// The version reset configuration for the leaderboard definition.
/// </summary>
public VersionConfiguration VersionConfiguration;
}
[Serializable]
public class LeaderboardEntryUpdate : PlayFabBaseModel
{
/// <summary>
/// The unique Id for the entry. If using PlayFab Entities, this would be the entityId of the entity.
/// </summary>
public string EntityId;
/// <summary>
/// Arbitrary metadata to store along side the leaderboard entry, will be returned by all Leaderboard APIs. Must be less
/// than 50 UTF8 encoded characters.
/// </summary>
public string Metadata;
/// <summary>
/// The scores for the leaderboard. The number of values provided here must match the number of columns in the Leaderboard
/// definition.
/// </summary>
public List<string> Scores;
}
public enum LeaderboardSortDirection
{
Descending,
Ascending
}
[Serializable]
public class LinkedStatisticColumn : PlayFabBaseModel
{
/// <summary>
/// The name of the statistic column that this leaderboard column is sourced from.
/// </summary>
public string LinkedStatisticColumnName;
/// <summary>
/// The name of the statistic.
/// </summary>
public string LinkedStatisticName;
}
[Serializable]
public class ListLeaderboardDefinitionsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
}
[Serializable]
public class ListLeaderboardDefinitionsResponse : PlayFabResultCommon
{
/// <summary>
/// List of leaderboard definitions for the title.
/// </summary>
public List<LeaderboardDefinition> LeaderboardDefinitions;
}
[Serializable]
public class ListStatisticDefinitionsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
}
[Serializable]
public class ListStatisticDefinitionsResponse : PlayFabResultCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// List of statistic definitions for the title.
/// </summary>
public List<StatisticDefinition> StatisticDefinitions;
}
public enum ResetInterval
{
Manual,
Hour,
Day,
Week,
Month
}
public enum StatisticAggregationMethod
{
Last,
Min,
Max,
Sum
}
[Serializable]
public class StatisticColumn : PlayFabBaseModel
{
/// <summary>
/// Aggregation method for calculating new value of a statistic.
/// </summary>
public StatisticAggregationMethod AggregationMethod;
/// <summary>
/// Name of the statistic column, as originally configured.
/// </summary>
public string Name;
}
[Serializable]
public class StatisticColumnCollection : PlayFabBaseModel
{
/// <summary>
/// Columns for the statistic defining the aggregation method for each column.
/// </summary>
public List<StatisticColumn> Columns;
}
[Serializable]
public class StatisticDefinition : PlayFabBaseModel
{
/// <summary>
/// The columns for the statistic defining the aggregation method for each column.
/// </summary>
public List<StatisticColumn> Columns;
/// <summary>
/// Created time, in UTC
/// </summary>
public DateTime Created;
/// <summary>
/// The entity type that can have this statistic.
/// </summary>
public string EntityType;
/// <summary>
/// Last time, in UTC, statistic version was incremented.
/// </summary>
public DateTime? LastResetTime;
/// <summary>
/// The list of leaderboards that are linked to this statistic definition.
/// </summary>
public List<string> LinkedLeaderboardNames;
/// <summary>
/// Name of the statistic.
/// </summary>
public string Name;
/// <summary>
/// Statistic version.
/// </summary>
public uint Version;
/// <summary>
/// The version reset configuration for the leaderboard definition.
/// </summary>
public VersionConfiguration VersionConfiguration;
}
[Serializable]
public class StatisticDelete : PlayFabBaseModel
{
/// <summary>
/// Name of the statistic, as originally configured.
/// </summary>
public string Name;
}
[Serializable]
public class StatisticUpdate : PlayFabBaseModel
{
/// <summary>
/// Arbitrary metadata to store along side the statistic, will be returned by all Leaderboard APIs. Must be less than 50
/// UTF8 encoded characters.
/// </summary>
public string Metadata;
/// <summary>
/// Name of the statistic, as originally configured.
/// </summary>
public string Name;
/// <summary>
/// Statistic scores for the entity. This will be used in accordance with the aggregation method configured for the
/// statistics.The maximum value allowed for each individual score is 9223372036854775807. The minimum value for each
/// individual score is -9223372036854775807The values are formatted as strings to avoid interop issues with client
/// libraries unable to handle 64bit integers.
/// </summary>
public List<string> Scores;
/// <summary>
/// Optional field to indicate the version of the statistic to set. When empty defaults to the statistic's current version.
/// </summary>
public uint? Version;
}
[Serializable]
public class UnlinkLeaderboardFromStatisticRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The name of the leaderboard definition to unlink.
/// </summary>
public string Name;
/// <summary>
/// The name of the statistic definition to unlink.
/// </summary>
public string StatisticName;
}
[Serializable]
public class UpdateLeaderboardEntriesRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The entries to add or update on the leaderboard.
/// </summary>
public List<LeaderboardEntryUpdate> Entries;
/// <summary>
/// The name of the leaderboard.
/// </summary>
public string LeaderboardName;
}
[Serializable]
public class UpdateStatisticsRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
/// </summary>
public EntityKey Entity;
/// <summary>
/// Collection of statistics to update, maximum 50.
/// </summary>
public List<StatisticUpdate> Statistics;
}
[Serializable]
public class UpdateStatisticsResponse : PlayFabResultCommon
{
/// <summary>
/// A mapping of statistic name to the columns defined in the corresponding definition.
/// </summary>
public Dictionary<string,StatisticColumnCollection> ColumnDetails;
/// <summary>
/// The entity id and type.
/// </summary>
public EntityKey Entity;
/// <summary>
/// Updated entity profile statistics.
/// </summary>
public Dictionary<string,EntityStatisticValue> Statistics;
}
[Serializable]
public class VersionConfiguration : PlayFabBaseModel
{
/// <summary>
/// The maximum number of versions of this leaderboard/statistic that can be queried.
/// </summary>
public int MaxQueryableVersions;
/// <summary>
/// Reset interval that statistics or leaderboards will reset on. When using Manual intervalthe reset can only be increased
/// by calling the Increase version API. When using Hour interval the resetwill occur at the start of the next hour UTC
/// time. When using Day interval the reset will occur at thestart of the next day in UTC time. When using the Week interval
/// the reset will occur at the start ofthe next Monday in UTC time. When using Month interval the reset will occur at the
/// start of the nextmonth in UTC time.
/// </summary>
public ResetInterval ResetInterval;
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 98dd4b7b25d8a1c4481a206e643cb9e3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -35,8 +35,6 @@ namespace PlayFab.Events
public event PlayFabResultEvent<DeletePushNotificationTemplateResult> OnServerDeletePushNotificationTemplateResultEvent;
public event PlayFabRequestEvent<DeleteSharedGroupRequest> OnServerDeleteSharedGroupRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnServerDeleteSharedGroupResultEvent;
public event PlayFabRequestEvent<DeregisterGameRequest> OnServerDeregisterGameRequestEvent;
public event PlayFabResultEvent<DeregisterGameResponse> OnServerDeregisterGameResultEvent;
public event PlayFabRequestEvent<EvaluateRandomResultTableRequest> OnServerEvaluateRandomResultTableRequestEvent;
public event PlayFabResultEvent<EvaluateRandomResultTableResult> OnServerEvaluateRandomResultTableResultEvent;
public event PlayFabRequestEvent<ExecuteCloudScriptServerRequest> OnServerExecuteCloudScriptRequestEvent;
@ -99,8 +97,12 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GetPlayFabIDsFromNintendoSwitchDeviceIdsResult> OnServerGetPlayFabIDsFromNintendoSwitchDeviceIdsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromPSNAccountIDsRequest> OnServerGetPlayFabIDsFromPSNAccountIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromPSNAccountIDsResult> OnServerGetPlayFabIDsFromPSNAccountIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromPSNOnlineIDsRequest> OnServerGetPlayFabIDsFromPSNOnlineIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromPSNOnlineIDsResult> OnServerGetPlayFabIDsFromPSNOnlineIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromSteamIDsRequest> OnServerGetPlayFabIDsFromSteamIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromSteamIDsResult> OnServerGetPlayFabIDsFromSteamIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromSteamNamesRequest> OnServerGetPlayFabIDsFromSteamNamesRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromSteamNamesResult> OnServerGetPlayFabIDsFromSteamNamesResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromTwitchIDsRequest> OnServerGetPlayFabIDsFromTwitchIDsRequestEvent;
public event PlayFabResultEvent<GetPlayFabIDsFromTwitchIDsResult> OnServerGetPlayFabIDsFromTwitchIDsResultEvent;
public event PlayFabRequestEvent<GetPlayFabIDsFromXboxLiveIDsRequest> OnServerGetPlayFabIDsFromXboxLiveIDsRequestEvent;
@ -151,14 +153,22 @@ namespace PlayFab.Events
public event PlayFabResultEvent<GrantItemsToUsersResult> OnServerGrantItemsToUsersResultEvent;
public event PlayFabRequestEvent<LinkNintendoServiceAccountRequest> OnServerLinkNintendoServiceAccountRequestEvent;
public event PlayFabResultEvent<EmptyResult> OnServerLinkNintendoServiceAccountResultEvent;
public event PlayFabRequestEvent<LinkNintendoServiceAccountSubjectRequest> OnServerLinkNintendoServiceAccountSubjectRequestEvent;
public event PlayFabResultEvent<EmptyResult> OnServerLinkNintendoServiceAccountSubjectResultEvent;
public event PlayFabRequestEvent<LinkNintendoSwitchDeviceIdRequest> OnServerLinkNintendoSwitchDeviceIdRequestEvent;
public event PlayFabResultEvent<LinkNintendoSwitchDeviceIdResult> OnServerLinkNintendoSwitchDeviceIdResultEvent;
public event PlayFabRequestEvent<LinkPSNAccountRequest> OnServerLinkPSNAccountRequestEvent;
public event PlayFabResultEvent<LinkPSNAccountResult> OnServerLinkPSNAccountResultEvent;
public event PlayFabRequestEvent<LinkPSNIdRequest> OnServerLinkPSNIdRequestEvent;
public event PlayFabResultEvent<LinkPSNIdResponse> OnServerLinkPSNIdResultEvent;
public event PlayFabRequestEvent<LinkServerCustomIdRequest> OnServerLinkServerCustomIdRequestEvent;
public event PlayFabResultEvent<LinkServerCustomIdResult> OnServerLinkServerCustomIdResultEvent;
public event PlayFabRequestEvent<LinkSteamIdRequest> OnServerLinkSteamIdRequestEvent;
public event PlayFabResultEvent<LinkSteamIdResult> OnServerLinkSteamIdResultEvent;
public event PlayFabRequestEvent<LinkXboxAccountRequest> OnServerLinkXboxAccountRequestEvent;
public event PlayFabResultEvent<LinkXboxAccountResult> OnServerLinkXboxAccountResultEvent;
public event PlayFabRequestEvent<LoginWithPSNRequest> OnServerLoginWithPSNRequestEvent;
public event PlayFabResultEvent<ServerLoginResult> OnServerLoginWithPSNResultEvent;
public event PlayFabRequestEvent<LoginWithServerCustomIdRequest> OnServerLoginWithServerCustomIdRequestEvent;
public event PlayFabResultEvent<ServerLoginResult> OnServerLoginWithServerCustomIdResultEvent;
public event PlayFabRequestEvent<LoginWithSteamIdRequest> OnServerLoginWithSteamIdRequestEvent;
@ -175,16 +185,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<MoveItemToCharacterFromUserResult> OnServerMoveItemToCharacterFromUserResultEvent;
public event PlayFabRequestEvent<MoveItemToUserFromCharacterRequest> OnServerMoveItemToUserFromCharacterRequestEvent;
public event PlayFabResultEvent<MoveItemToUserFromCharacterResult> OnServerMoveItemToUserFromCharacterResultEvent;
public event PlayFabRequestEvent<NotifyMatchmakerPlayerLeftRequest> OnServerNotifyMatchmakerPlayerLeftRequestEvent;
public event PlayFabResultEvent<NotifyMatchmakerPlayerLeftResult> OnServerNotifyMatchmakerPlayerLeftResultEvent;
public event PlayFabRequestEvent<RedeemCouponRequest> OnServerRedeemCouponRequestEvent;
public event PlayFabResultEvent<RedeemCouponResult> OnServerRedeemCouponResultEvent;
public event PlayFabRequestEvent<RedeemMatchmakerTicketRequest> OnServerRedeemMatchmakerTicketRequestEvent;
public event PlayFabResultEvent<RedeemMatchmakerTicketResult> OnServerRedeemMatchmakerTicketResultEvent;
public event PlayFabRequestEvent<RefreshGameServerInstanceHeartbeatRequest> OnServerRefreshGameServerInstanceHeartbeatRequestEvent;
public event PlayFabResultEvent<RefreshGameServerInstanceHeartbeatResult> OnServerRefreshGameServerInstanceHeartbeatResultEvent;
public event PlayFabRequestEvent<RegisterGameRequest> OnServerRegisterGameRequestEvent;
public event PlayFabResultEvent<RegisterGameResponse> OnServerRegisterGameResultEvent;
public event PlayFabRequestEvent<RemoveFriendRequest> OnServerRemoveFriendRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnServerRemoveFriendResultEvent;
public event PlayFabRequestEvent<RemoveGenericIDRequest> OnServerRemoveGenericIDRequestEvent;
@ -215,12 +217,6 @@ namespace PlayFab.Events
public event PlayFabResultEvent<SendPushNotificationResult> OnServerSendPushNotificationFromTemplateResultEvent;
public event PlayFabRequestEvent<SetFriendTagsRequest> OnServerSetFriendTagsRequestEvent;
public event PlayFabResultEvent<EmptyResponse> OnServerSetFriendTagsResultEvent;
public event PlayFabRequestEvent<SetGameServerInstanceDataRequest> OnServerSetGameServerInstanceDataRequestEvent;
public event PlayFabResultEvent<SetGameServerInstanceDataResult> OnServerSetGameServerInstanceDataResultEvent;
public event PlayFabRequestEvent<SetGameServerInstanceStateRequest> OnServerSetGameServerInstanceStateRequestEvent;
public event PlayFabResultEvent<SetGameServerInstanceStateResult> OnServerSetGameServerInstanceStateResultEvent;
public event PlayFabRequestEvent<SetGameServerInstanceTagsRequest> OnServerSetGameServerInstanceTagsRequestEvent;
public event PlayFabResultEvent<SetGameServerInstanceTagsResult> OnServerSetGameServerInstanceTagsResultEvent;
public event PlayFabRequestEvent<SetPlayerSecretRequest> OnServerSetPlayerSecretRequestEvent;
public event PlayFabResultEvent<SetPlayerSecretResult> OnServerSetPlayerSecretResultEvent;
public event PlayFabRequestEvent<SetPublisherDataRequest> OnServerSetPublisherDataRequestEvent;
@ -241,6 +237,8 @@ namespace PlayFab.Events
public event PlayFabResultEvent<UnlinkPSNAccountResult> OnServerUnlinkPSNAccountResultEvent;
public event PlayFabRequestEvent<UnlinkServerCustomIdRequest> OnServerUnlinkServerCustomIdRequestEvent;
public event PlayFabResultEvent<UnlinkServerCustomIdResult> OnServerUnlinkServerCustomIdResultEvent;
public event PlayFabRequestEvent<UnlinkSteamIdRequest> OnServerUnlinkSteamIdRequestEvent;
public event PlayFabResultEvent<UnlinkSteamIdResult> OnServerUnlinkSteamIdResultEvent;
public event PlayFabRequestEvent<UnlinkXboxAccountRequest> OnServerUnlinkXboxAccountRequestEvent;
public event PlayFabResultEvent<UnlinkXboxAccountResult> OnServerUnlinkXboxAccountResultEvent;
public event PlayFabRequestEvent<UnlockContainerInstanceRequest> OnServerUnlockContainerInstanceRequestEvent;

View File

@ -26,7 +26,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the character's balance of the specified virtual currency by the stated amount
/// _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 character's balance of the specified virtual currency by the stated amount
/// </summary>
public static void AddCharacterVirtualCurrency(AddCharacterVirtualCurrencyRequest request, Action<ModifyCharacterVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -97,7 +98,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the user's balance of the specified virtual currency by the stated amount
/// _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 static void AddUserVirtualCurrency(AddUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -149,7 +151,9 @@ namespace PlayFab
}
/// <summary>
/// Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory.
/// _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 static void ConsumeItem(ConsumeItemRequest request, Action<ConsumeItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -232,22 +236,10 @@ namespace PlayFab
}
/// <summary>
/// Inform the matchmaker that a Game Server Instance is removed.
/// </summary>
[Obsolete("No longer available", false)]
public static void DeregisterGame(DeregisterGameRequest request, Action<DeregisterGameResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/DeregisterGame", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would have been
/// added to the player inventory, if the Random Result Table were added via a Bundle or a call to UnlockContainer.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would
/// have been added to the player inventory, if the Random Result Table were added via a Bundle or a call to
/// UnlockContainer.
/// </summary>
public static void EvaluateRandomResultTable(EvaluateRandomResultTableRequest request, Action<EvaluateRandomResultTableResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -322,7 +314,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
/// _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 static void GetCatalogItems(GetCatalogItemsRequest request, Action<GetCatalogItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -361,7 +354,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified character's current inventory of virtual goods
/// _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 static void GetCharacterInventory(GetCharacterInventoryRequest request, Action<GetCharacterInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -686,6 +680,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromPSNAccountIDs", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers.
/// </summary>
public static 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) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromPSNOnlineIDs", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <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.
@ -700,6 +707,20 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromSteamIDs", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public static void GetPlayFabIDsFromSteamNames(GetPlayFabIDsFromSteamNamesRequest request, Action<GetPlayFabIDsFromSteamNamesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromSteamNames", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <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:
@ -742,8 +763,9 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the configuration information for the specified random results tables for the title, including all ItemId
/// values and weights
/// _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 configuration information for the specified random results tables for the title, including all
/// ItemId values and weights
/// </summary>
public static void GetRandomResultTables(GetRandomResultTablesRequest request, Action<GetRandomResultTablesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -784,7 +806,9 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the set of items defined for the specified store, including all prices defined, for the specified player
/// _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, for the specified
/// player
/// </summary>
public static void GetStoreItems(GetStoreItemsServerRequest request, Action<GetStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -901,7 +925,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified user's current inventory of virtual goods
/// _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 user's current inventory of virtual goods
/// </summary>
public static void GetUserInventory(GetUserInventoryRequest request, Action<GetUserInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -980,7 +1005,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified character's inventory
/// _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 specified items to the specified character's inventory
/// </summary>
public static void GrantItemsToCharacter(GrantItemsToCharacterRequest request, Action<GrantItemsToCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -993,7 +1019,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified user's inventory
/// _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 specified items to the specified user's inventory
/// </summary>
public static void GrantItemsToUser(GrantItemsToUserRequest request, Action<GrantItemsToUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1006,7 +1033,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified user inventories
/// _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 specified items to the specified user inventories
/// </summary>
public static void GrantItemsToUsers(GrantItemsToUsersRequest request, Action<GrantItemsToUsersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1031,6 +1059,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkNintendoServiceAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Links the Nintendo account associated with the Nintendo Service Account subject or id to the user's PlayFab account
/// </summary>
public static void LinkNintendoServiceAccountSubject(LinkNintendoServiceAccountSubjectRequest request, Action<EmptyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LinkNintendoServiceAccountSubject", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Links the NintendoSwitchDeviceId to the user's PlayFab account
/// </summary>
@ -1057,6 +1098,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkPSNAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Links the PlayStation :tm: Network account associated with the provided user id to the user's PlayFab account
/// </summary>
public static void LinkPSNId(LinkPSNIdRequest request, Action<LinkPSNIdResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LinkPSNId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Links the custom server identifier, generated by the title, to the user's PlayFab account.
/// </summary>
@ -1070,6 +1124,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkServerCustomId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Links the Steam account associated with the provided Steam ID to the user's PlayFab account
/// </summary>
public static void LinkSteamId(LinkSteamIdRequest request, Action<LinkSteamIdResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LinkSteamId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Links the Xbox Live account associated with the provided access code to the user's PlayFab account
/// </summary>
@ -1083,6 +1150,20 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkXboxAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <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 static void LoginWithPSN(LoginWithPSNRequest request, Action<ServerLoginResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LoginWithPSN", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Securely login a game client from an external server backend using a custom identifier for that player. Server Custom ID
/// and Client Custom ID are mutually exclusive and cannot be used to retrieve the same player account.
@ -1140,7 +1221,8 @@ namespace PlayFab
}
/// <summary>
/// Modifies the number of remaining uses of a player's inventory item
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Modifies the number of remaining uses of a player's inventory item
/// </summary>
public static void ModifyItemUses(ModifyItemUsesRequest request, Action<ModifyItemUsesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1153,7 +1235,8 @@ namespace PlayFab
}
/// <summary>
/// Moves an item from a character's inventory into another of the users's character's inventory.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Moves an item from a character's inventory into another of the users's character's inventory.
/// </summary>
public static void MoveItemToCharacterFromCharacter(MoveItemToCharacterFromCharacterRequest request, Action<MoveItemToCharacterFromCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1166,7 +1249,8 @@ namespace PlayFab
}
/// <summary>
/// Moves an item from a user's inventory into their character's inventory.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Moves an item from a user's inventory into their character's inventory.
/// </summary>
public static void MoveItemToCharacterFromUser(MoveItemToCharacterFromUserRequest request, Action<MoveItemToCharacterFromUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1179,7 +1263,8 @@ namespace PlayFab
}
/// <summary>
/// Moves an item from a character's inventory into the owning user's inventory.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Moves an item from a character's inventory into the owning user's inventory.
/// </summary>
public static void MoveItemToUserFromCharacter(MoveItemToUserFromCharacterRequest request, Action<MoveItemToUserFromCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1192,21 +1277,8 @@ namespace PlayFab
}
/// <summary>
/// Informs the PlayFab match-making service that the user specified has left the Game Server Instance
/// </summary>
[Obsolete("No longer available", false)]
public static void NotifyMatchmakerPlayerLeft(NotifyMatchmakerPlayerLeftRequest request, Action<NotifyMatchmakerPlayerLeftResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/NotifyMatchmakerPlayerLeft", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the
/// _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 static void RedeemCoupon(RedeemCouponRequest request, Action<RedeemCouponResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
@ -1219,48 +1291,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/RedeemCoupon", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Validates a Game Server session ticket and returns details about the user
/// </summary>
[Obsolete("No longer available", false)]
public static void RedeemMatchmakerTicket(RedeemMatchmakerTicketRequest request, Action<RedeemMatchmakerTicketResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/RedeemMatchmakerTicket", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Set the state of the indicated Game Server Instance. Also update the heartbeat for the instance.
/// </summary>
[Obsolete("No longer available", false)]
public static void RefreshGameServerInstanceHeartbeat(RefreshGameServerInstanceHeartbeatRequest request, Action<RefreshGameServerInstanceHeartbeatResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/RefreshGameServerInstanceHeartbeat", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Inform the matchmaker that a new Game Server Instance is added.
/// </summary>
[Obsolete("No longer available", false)]
public static void RegisterGame(RegisterGameRequest request, Action<RegisterGameResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/RegisterGame", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Removes the specified friend from the the user's friend list
/// </summary>
@ -1357,7 +1387,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access to an item in a user's inventory
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access to an item in a user's inventory
/// </summary>
public static void RevokeInventoryItem(RevokeInventoryItemRequest request, Action<RevokeInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1370,7 +1401,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access for up to 25 items across multiple users and characters.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access for up to 25 items across multiple users and characters.
/// </summary>
public static void RevokeInventoryItems(RevokeInventoryItemsRequest request, Action<RevokeInventoryItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1463,48 +1495,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/SetFriendTags", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Sets the custom data of the indicated Game Server Instance
/// </summary>
[Obsolete("No longer available", false)]
public static void SetGameServerInstanceData(SetGameServerInstanceDataRequest request, Action<SetGameServerInstanceDataResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/SetGameServerInstanceData", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Set the state of the indicated Game Server Instance.
/// </summary>
[Obsolete("No longer available", false)]
public static void SetGameServerInstanceState(SetGameServerInstanceStateRequest request, Action<SetGameServerInstanceStateResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/SetGameServerInstanceState", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Set custom tags for the specified Game Server Instance
/// </summary>
[Obsolete("No longer available", false)]
public static void SetGameServerInstanceTags(SetGameServerInstanceTagsRequest request, Action<SetGameServerInstanceTagsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/SetGameServerInstanceTags", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <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.
@ -1559,8 +1549,9 @@ namespace PlayFab
}
/// <summary>
/// Decrements the character's balance of the specified virtual currency by the stated amount. It is possible to make a VC
/// balance negative with this API.
/// _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 character'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 static void SubtractCharacterVirtualCurrency(SubtractCharacterVirtualCurrencyRequest request, Action<ModifyCharacterVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1573,8 +1564,9 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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 static void SubtractUserVirtualCurrency(SubtractUserVirtualCurrencyRequest request, Action<ModifyUserVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1638,6 +1630,19 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/UnlinkServerCustomId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Unlinks the Steam account associated with the provided Steam ID to the user's PlayFab account
/// </summary>
public static void UnlinkSteamId(UnlinkSteamIdRequest request, Action<UnlinkSteamIdResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer;
var callSettings = PlayFabSettings.staticSettings;
if (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/UnlinkSteamId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings);
}
/// <summary>
/// Unlinks the related Xbox Live account from the user's PlayFab account
/// </summary>
@ -1652,9 +1657,10 @@ namespace PlayFab
}
/// <summary>
/// Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, 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.
/// _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 a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, 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 static void UnlockContainerInstance(UnlockContainerInstanceRequest request, Action<UnlockContainerItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1667,9 +1673,10 @@ namespace PlayFab
}
/// <summary>
/// Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary unlocks it
/// using any 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
/// _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 Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary
/// unlocks it using any 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 static void UnlockContainerItem(UnlockContainerItemRequest request, Action<UnlockContainerItemResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
@ -1817,7 +1824,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the key-value pair data tagged to the specified item, which is read-only from the client.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates the key-value pair data tagged to the specified item, which is read-only from the client.
/// </summary>
public static void UpdateUserInventoryItemCustomData(UpdateUserInventoryItemDataRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{

View File

@ -48,7 +48,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the character's balance of the specified virtual currency by the stated amount
/// _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 character's balance of the specified virtual currency by the stated amount
/// </summary>
public void AddCharacterVirtualCurrency(AddCharacterVirtualCurrencyRequest request, Action<ModifyCharacterVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -109,7 +110,8 @@ namespace PlayFab
}
/// <summary>
/// Increments the user's balance of the specified virtual currency by the stated amount
/// _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)
{
@ -153,7 +155,9 @@ namespace PlayFab
}
/// <summary>
/// Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory.
/// _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)
{
@ -224,20 +228,10 @@ namespace PlayFab
}
/// <summary>
/// Inform the matchmaker that a Game Server Instance is removed.
/// </summary>
[Obsolete("No longer available", false)]
public void DeregisterGame(DeregisterGameRequest request, Action<DeregisterGameResponse> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/DeregisterGame", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would have been
/// added to the player inventory, if the Random Result Table were added via a Bundle or a call to UnlockContainer.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would
/// have been added to the player inventory, if the Random Result Table were added via a Bundle or a call to
/// UnlockContainer.
/// </summary>
public void EvaluateRandomResultTable(EvaluateRandomResultTableRequest request, Action<EvaluateRandomResultTableResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -304,7 +298,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified version of the title's catalog of virtual goods, including all defined properties
/// _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)
{
@ -337,7 +332,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified character's current inventory of virtual goods
/// _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)
{
@ -614,6 +610,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromPSNAccountIDs", request, AuthType.DevSecretKey, 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromPSNOnlineIDs", request, AuthType.DevSecretKey, 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.
@ -626,6 +633,18 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromSteamIDs", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public void GetPlayFabIDsFromSteamNames(GetPlayFabIDsFromSteamNamesRequest request, Action<GetPlayFabIDsFromSteamNamesResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/GetPlayFabIDsFromSteamNames", request, AuthType.DevSecretKey, 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:
@ -662,8 +681,9 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the configuration information for the specified random results tables for the title, including all ItemId
/// values and weights
/// _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 configuration information for the specified random results tables for the title, including all
/// ItemId values and weights
/// </summary>
public void GetRandomResultTables(GetRandomResultTablesRequest request, Action<GetRandomResultTablesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -698,7 +718,9 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the set of items defined for the specified store, including all prices defined, for the specified player
/// _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, for the specified
/// player
/// </summary>
public void GetStoreItems(GetStoreItemsServerRequest request, Action<GetStoreItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -797,7 +819,8 @@ namespace PlayFab
}
/// <summary>
/// Retrieves the specified user's current inventory of virtual goods
/// _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 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)
{
@ -864,7 +887,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified character's inventory
/// _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 specified items to the specified character's inventory
/// </summary>
public void GrantItemsToCharacter(GrantItemsToCharacterRequest request, Action<GrantItemsToCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -875,7 +899,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified user's inventory
/// _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 specified items to the specified user's inventory
/// </summary>
public void GrantItemsToUser(GrantItemsToUserRequest request, Action<GrantItemsToUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -886,7 +911,8 @@ namespace PlayFab
}
/// <summary>
/// Adds the specified items to the specified user inventories
/// _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 specified items to the specified user inventories
/// </summary>
public void GrantItemsToUsers(GrantItemsToUsersRequest request, Action<GrantItemsToUsersResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -907,6 +933,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkNintendoServiceAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Links the Nintendo account associated with the Nintendo Service Account subject or id to the user's PlayFab account
/// </summary>
public void LinkNintendoServiceAccountSubject(LinkNintendoServiceAccountSubjectRequest 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LinkNintendoServiceAccountSubject", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Links the NintendoSwitchDeviceId to the user's PlayFab account
/// </summary>
@ -929,6 +966,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkPSNAccount", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Links the PlayStation :tm: Network account associated with the provided user id to the user's PlayFab account
/// </summary>
public void LinkPSNId(LinkPSNIdRequest request, Action<LinkPSNIdResponse> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LinkPSNId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Links the custom server identifier, generated by the title, to the user's PlayFab account.
/// </summary>
@ -940,6 +988,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkServerCustomId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Links the Steam account associated with the provided Steam ID to the user's PlayFab account
/// </summary>
public void LinkSteamId(LinkSteamIdRequest request, Action<LinkSteamIdResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LinkSteamId", request, AuthType.DevSecretKey, 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>
@ -951,6 +1010,18 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/LinkXboxAccount", request, AuthType.DevSecretKey, 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<ServerLoginResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/LoginWithPSN", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Securely login a game client from an external server backend using a custom identifier for that player. Server Custom ID
/// and Client Custom ID are mutually exclusive and cannot be used to retrieve the same player account.
@ -1000,7 +1071,8 @@ namespace PlayFab
}
/// <summary>
/// Modifies the number of remaining uses of a player's inventory item
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Modifies the number of remaining uses of a player's inventory item
/// </summary>
public void ModifyItemUses(ModifyItemUsesRequest request, Action<ModifyItemUsesResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1011,7 +1083,8 @@ namespace PlayFab
}
/// <summary>
/// Moves an item from a character's inventory into another of the users's character's inventory.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Moves an item from a character's inventory into another of the users's character's inventory.
/// </summary>
public void MoveItemToCharacterFromCharacter(MoveItemToCharacterFromCharacterRequest request, Action<MoveItemToCharacterFromCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1022,7 +1095,8 @@ namespace PlayFab
}
/// <summary>
/// Moves an item from a user's inventory into their character's inventory.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Moves an item from a user's inventory into their character's inventory.
/// </summary>
public void MoveItemToCharacterFromUser(MoveItemToCharacterFromUserRequest request, Action<MoveItemToCharacterFromUserResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1033,7 +1107,8 @@ namespace PlayFab
}
/// <summary>
/// Moves an item from a character's inventory into the owning user's inventory.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Moves an item from a character's inventory into the owning user's inventory.
/// </summary>
public void MoveItemToUserFromCharacter(MoveItemToUserFromCharacterRequest request, Action<MoveItemToUserFromCharacterResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1044,19 +1119,8 @@ namespace PlayFab
}
/// <summary>
/// Informs the PlayFab match-making service that the user specified has left the Game Server Instance
/// </summary>
[Obsolete("No longer available", false)]
public void NotifyMatchmakerPlayerLeft(NotifyMatchmakerPlayerLeftRequest request, Action<NotifyMatchmakerPlayerLeftResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/NotifyMatchmakerPlayerLeft", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the
/// _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)
@ -1067,42 +1131,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/RedeemCoupon", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Validates a Game Server session ticket and returns details about the user
/// </summary>
[Obsolete("No longer available", false)]
public void RedeemMatchmakerTicket(RedeemMatchmakerTicketRequest request, Action<RedeemMatchmakerTicketResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/RedeemMatchmakerTicket", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Set the state of the indicated Game Server Instance. Also update the heartbeat for the instance.
/// </summary>
[Obsolete("No longer available", false)]
public void RefreshGameServerInstanceHeartbeat(RefreshGameServerInstanceHeartbeatRequest request, Action<RefreshGameServerInstanceHeartbeatResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/RefreshGameServerInstanceHeartbeat", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Inform the matchmaker that a new Game Server Instance is added.
/// </summary>
[Obsolete("No longer available", false)]
public void RegisterGame(RegisterGameRequest request, Action<RegisterGameResponse> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/RegisterGame", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Removes the specified friend from the the user's friend list
/// </summary>
@ -1185,7 +1213,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access to an item in a user's inventory
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access to an item in a user's inventory
/// </summary>
public void RevokeInventoryItem(RevokeInventoryItemRequest request, Action<RevokeInventoryResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1196,7 +1225,8 @@ namespace PlayFab
}
/// <summary>
/// Revokes access for up to 25 items across multiple users and characters.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Revokes access for up to 25 items across multiple users and characters.
/// </summary>
public void RevokeInventoryItems(RevokeInventoryItemsRequest request, Action<RevokeInventoryItemsResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1275,42 +1305,6 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/SetFriendTags", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Sets the custom data of the indicated Game Server Instance
/// </summary>
[Obsolete("No longer available", false)]
public void SetGameServerInstanceData(SetGameServerInstanceDataRequest request, Action<SetGameServerInstanceDataResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/SetGameServerInstanceData", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Set the state of the indicated Game Server Instance.
/// </summary>
[Obsolete("No longer available", false)]
public void SetGameServerInstanceState(SetGameServerInstanceStateRequest request, Action<SetGameServerInstanceStateResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/SetGameServerInstanceState", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Set custom tags for the specified Game Server Instance
/// </summary>
[Obsolete("No longer available", false)]
public void SetGameServerInstanceTags(SetGameServerInstanceTagsRequest request, Action<SetGameServerInstanceTagsResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/SetGameServerInstanceTags", request, AuthType.DevSecretKey, 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.
@ -1357,8 +1351,9 @@ namespace PlayFab
}
/// <summary>
/// Decrements the character's balance of the specified virtual currency by the stated amount. It is possible to make a VC
/// balance negative with this API.
/// _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 character'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 SubtractCharacterVirtualCurrency(SubtractCharacterVirtualCurrencyRequest request, Action<ModifyCharacterVirtualCurrencyResult> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{
@ -1369,8 +1364,9 @@ namespace PlayFab
}
/// <summary>
/// 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.
/// _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)
{
@ -1424,6 +1420,17 @@ namespace PlayFab
PlayFabHttp.MakeApiCall("/Server/UnlinkServerCustomId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Unlinks the Steam account associated with the provided Steam ID to the user's PlayFab account
/// </summary>
public void UnlinkSteamId(UnlinkSteamIdRequest request, Action<UnlinkSteamIdResult> 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 (string.IsNullOrEmpty(callSettings.DeveloperSecretKey)) { throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "Must set DeveloperSecretKey in settings to call this method"); }
PlayFabHttp.MakeApiCall("/Server/UnlinkSteamId", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this);
}
/// <summary>
/// Unlinks the related Xbox Live account from the user's PlayFab account
/// </summary>
@ -1436,9 +1443,10 @@ namespace PlayFab
}
/// <summary>
/// Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, 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.
/// _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 a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, 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)
{
@ -1449,9 +1457,10 @@ namespace PlayFab
}
/// <summary>
/// Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary unlocks it
/// using any 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
/// _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 Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary
/// unlocks it using any 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)
@ -1577,7 +1586,8 @@ namespace PlayFab
}
/// <summary>
/// Updates the key-value pair data tagged to the specified item, which is read-only from the client.
/// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for
/// version 2._ Updates the key-value pair data tagged to the specified item, which is read-only from the client.
/// </summary>
public void UpdateUserInventoryItemCustomData(UpdateUserInventoryItemDataRequest request, Action<EmptyResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null)
{

View File

@ -284,6 +284,10 @@ namespace PlayFab.ServerModels
/// The reason why this ban was applied.
/// </summary>
public string Reason;
/// <summary>
/// The family type of the suer that is included in the ban.
/// </summary>
public string UserFamilyType;
}
/// <summary>
@ -308,6 +312,10 @@ namespace PlayFab.ServerModels
/// The reason for this ban. Maximum 140 characters.
/// </summary>
public string Reason;
/// <summary>
/// The family type of the user that should be included in the ban if applicable. May affect multiple players.
/// </summary>
public UserFamilyType? UserFamilyType;
}
/// <summary>
@ -650,7 +658,8 @@ namespace PlayFab.ServerModels
EU,
NA,
OC,
SA
SA,
Unknown
}
public enum CountryCode
@ -903,7 +912,8 @@ namespace PlayFab.ServerModels
EH,
YE,
ZM,
ZW
ZW,
Unknown
}
/// <summary>
@ -1176,24 +1186,6 @@ namespace PlayFab.ServerModels
public string SharedGroupId;
}
[Serializable]
public class DeregisterGameRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Unique identifier for the Game Server Instance that is being deregistered.
/// </summary>
public string LobbyId;
}
[Serializable]
public class DeregisterGameResponse : PlayFabResultCommon
{
}
public enum EmailVerificationStatus
{
Unverified,
@ -1398,7 +1390,7 @@ namespace PlayFab.ServerModels
public class FriendInfo : PlayFabBaseModel
{
/// <summary>
/// Available Facebook information (if the user and PlayFab friend are also connected in Facebook).
/// Available Facebook information (if the user and connected Facebook friend both have PlayFab Accounts in the same title).
/// </summary>
public UserFacebookInfo FacebookInfo;
/// <summary>
@ -1406,7 +1398,8 @@ namespace PlayFab.ServerModels
/// </summary>
public string FriendPlayFabId;
/// <summary>
/// Available Game Center information (if the user and PlayFab friend are also connected in Game Center).
/// Available Game Center information (if the user and connected Game Center friend both have PlayFab Accounts in the same
/// title).
/// </summary>
public UserGameCenterInfo GameCenterInfo;
/// <summary>
@ -1414,12 +1407,12 @@ namespace PlayFab.ServerModels
/// </summary>
public PlayerProfileModel Profile;
/// <summary>
/// Available PlayStation :tm: Network information, if the user and PlayFab friend are both connected to PlayStation :tm:
/// Network.
/// Available PlayStation :tm: Network information, if the user connected PlayStation :tm Network friend both have PlayFab
/// Accounts in the same title.
/// </summary>
public UserPsnInfo PSNInfo;
/// <summary>
/// Available Steam information (if the user and PlayFab friend are also connected in Steam).
/// Available Steam information (if the user and connected Steam friend both have PlayFab Accounts in the same title).
/// </summary>
public UserSteamInfo SteamInfo;
/// <summary>
@ -1435,17 +1428,11 @@ namespace PlayFab.ServerModels
/// </summary>
public string Username;
/// <summary>
/// Available Xbox information, if the user and PlayFab friend are both connected to Xbox Live.
/// Available Xbox information, (if the user and connected Xbox Live friend both have PlayFab Accounts in the same title).
/// </summary>
public UserXboxInfo XboxInfo;
}
public enum GameInstanceState
{
Open,
Closed
}
public enum GenericErrorCodes
{
Success,
@ -1997,6 +1984,42 @@ namespace PlayFab.ServerModels
NamespaceMismatch,
InvalidServiceConfiguration,
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
InvalidStatisticScore,
LeaderboardColumnsNotSpecified,
LeaderboardMaxSizeTooLarge,
InvalidAttributeStatisticsSpecified,
LeaderboardNotFound,
TokenSigningKeyNotFound,
LeaderboardNameConflict,
LinkedStatisticColumnMismatch,
NoLinkedStatisticToLeaderboard,
StatDefinitionAlreadyLinkedToLeaderboard,
LinkingStatsNotAllowedForEntityType,
LeaderboardCountLimitExceeded,
LeaderboardSizeLimitExceeded,
LeaderboardDefinitionModificationNotAllowedWhileLinked,
StatisticDefinitionModificationNotAllowedWhileLinked,
LeaderboardUpdateNotAllowedWhileLinked,
CloudScriptAzureFunctionsEventHubRequestError,
ExternalEntityNotAllowedForTier,
InvalidBaseTimeForInterval,
EntityTypeMismatchWithStatDefinition,
SpecifiedVersionLeaderboardNotFound,
LeaderboardColumnLengthMismatchWithStatDefinition,
DuplicateColumnNameFound,
LinkedStatisticColumnNotFound,
LinkedStatisticColumnRequired,
MultipleLinkedStatisticsNotAllowed,
DuplicateLinkedStatisticColumnNameFound,
AggregationTypeNotAllowedForMultiColumnStatistic,
MaxQueryableVersionsValueNotAllowedForTier,
StatisticDefinitionHasNullOrEmptyVersionConfiguration,
StatisticColumnLengthMismatch,
InvalidExternalEntityId,
UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier,
TransactionAlreadyApplied,
ReportDataNotRetrievedSuccessfully,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
@ -2040,6 +2063,7 @@ namespace PlayFab.ServerModels
CatalogItemTypeInvalid,
CatalogBadRequest,
CatalogTooManyRequests,
InvalidCatalogItemConfiguration,
ExportInvalidStatusUpdate,
ExportInvalidPrefix,
ExportBlobContainerDoesNotExist,
@ -2086,6 +2110,7 @@ namespace PlayFab.ServerModels
MultiplayerServerBuildReferencedByMatchmakingQueue,
MultiplayerServerBuildReferencedByBuildAlias,
MultiplayerServerBuildAliasReferencedByMatchmakingQueue,
PartySerializationError,
ExperimentationExperimentStopped,
ExperimentationExperimentRunning,
ExperimentationExperimentNotFound,
@ -2125,6 +2150,7 @@ namespace PlayFab.ServerModels
AsyncExportNotInFlight,
AsyncExportNotFound,
AsyncExportRateLimitExceeded,
AnalyticsSegmentCountOverLimit,
SnapshotNotFound,
InventoryApiNotImplemented,
LobbyDoesNotExist,
@ -2139,6 +2165,12 @@ namespace PlayFab.ServerModels
LobbyNewOwnerMustBeConnected,
LobbyCurrentOwnerStillConnected,
LobbyMemberIsNotOwner,
LobbyServerMismatch,
LobbyServerNotFound,
LobbyDifferentServerAlreadyJoined,
LobbyServerAlreadyJoined,
LobbyIsNotClientOwned,
LobbyDoesNotUseConnections,
EventSamplingInvalidRatio,
EventSamplingInvalidEventNamespace,
EventSamplingInvalidEventName,
@ -2149,6 +2181,7 @@ namespace PlayFab.ServerModels
TelemetryKeyInvalid,
TelemetryKeyCountOverLimit,
TelemetryKeyDeactivated,
TelemetryKeyLongInsightsRetentionNotAllowed,
EventSinkConnectionInvalid,
EventSinkConnectionUnauthorized,
EventSinkRegionInvalid,
@ -2161,9 +2194,121 @@ namespace PlayFab.ServerModels
EventSinkTenantNotFound,
EventSinkAadNotFound,
EventSinkDatabaseNotFound,
EventSinkTitleUnauthorized,
EventSinkInsufficientRoleAssignment,
EventSinkContainerNotFound,
EventSinkTenantIdInvalid,
OperationCanceled,
InvalidDisplayNameRandomSuffixLength,
AllowNonUniquePlayerDisplayNamesDisableNotAllowed
AllowNonUniquePlayerDisplayNamesDisableNotAllowed,
PartitionedEventInvalid,
PartitionedEventCountOverLimit,
ManageEventNamespaceInvalid,
ManageEventNameInvalid,
ManagedEventNotFound,
ManageEventsInvalidRatio,
ManagedEventInvalid,
PlayerCustomPropertiesPropertyNameTooLong,
PlayerCustomPropertiesPropertyNameIsInvalid,
PlayerCustomPropertiesStringPropertyValueTooLong,
PlayerCustomPropertiesValueIsInvalidType,
PlayerCustomPropertiesVersionMismatch,
PlayerCustomPropertiesPropertyCountTooHigh,
PlayerCustomPropertiesDuplicatePropertyName,
PlayerCustomPropertiesPropertyDoesNotExist,
AddonAlreadyExists,
AddonDoesntExist,
CopilotDisabled,
CopilotInvalidRequest,
TrueSkillUnauthorized,
TrueSkillInvalidTitleId,
TrueSkillInvalidScenarioId,
TrueSkillInvalidModelId,
TrueSkillInvalidModelName,
TrueSkillInvalidPlayerIds,
TrueSkillInvalidEntityKey,
TrueSkillInvalidConditionKey,
TrueSkillInvalidConditionValue,
TrueSkillInvalidConditionAffinityWeight,
TrueSkillInvalidEventName,
TrueSkillMatchResultCreated,
TrueSkillMatchResultAlreadySubmitted,
TrueSkillBadPlayerIdInMatchResult,
TrueSkillInvalidBotIdInMatchResult,
TrueSkillDuplicatePlayerInMatchResult,
TrueSkillNoPlayerInMatchResultTeam,
TrueSkillPlayersInMatchResultExceedingLimit,
TrueSkillInvalidPreMatchPartyInMatchResult,
TrueSkillInvalidTimestampInMatchResult,
TrueSkillStartTimeMissingInMatchResult,
TrueSkillEndTimeMissingInMatchResult,
TrueSkillInvalidPlayerSecondsPlayedInMatchResult,
TrueSkillNoTeamInMatchResult,
TrueSkillNotEnoughTeamsInMatchResult,
TrueSkillInvalidRanksInMatchResult,
TrueSkillNoWinnerInMatchResult,
TrueSkillMissingRequiredCondition,
TrueSkillMissingRequiredEvent,
TrueSkillUnknownEventName,
TrueSkillInvalidEventCount,
TrueSkillUnknownConditionKey,
TrueSkillUnknownConditionValue,
TrueSkillScenarioConfigDoesNotExist,
TrueSkillUnknownModelId,
TrueSkillNoModelInScenario,
TrueSkillNotSupportedForTitle,
TrueSkillModelIsNotActive,
TrueSkillUnauthorizedToQueryOtherPlayerSkills,
TrueSkillInvalidMaxIterations,
TrueSkillEndTimeBeforeStartTime,
TrueSkillInvalidJobId,
TrueSkillInvalidMetadataId,
TrueSkillMissingBuildVerison,
TrueSkillJobAlreadyExists,
TrueSkillJobNotFound,
TrueSkillOperationCanceled,
TrueSkillActiveModelLimitExceeded,
TrueSkillTotalModelLimitExceeded,
TrueSkillUnknownInitialModelId,
TrueSkillUnauthorizedForJob,
TrueSkillInvalidScenarioName,
TrueSkillConditionStateIsRequired,
TrueSkillEventStateIsRequired,
TrueSkillDuplicateEvent,
TrueSkillDuplicateCondition,
TrueSkillInvalidAnomalyThreshold,
TrueSkillConditionKeyLimitExceeded,
TrueSkillConditionValuePerKeyLimitExceeded,
TrueSkillInvalidTimestamp,
TrueSkillEventLimitExceeded,
TrueSkillInvalidPlayers,
TrueSkillTrueSkillPlayerNull,
TrueSkillInvalidPlayerId,
TrueSkillInvalidSquadSize,
TrueSkillConditionSetNotInModel,
TrueSkillModelStateInvalidForOperation,
TrueSkillScenarioContainsActiveModel,
GameSaveManifestNotFound,
GameSaveManifestVersionAlreadyExists,
GameSaveConflictUpdatingManifest,
GameSaveManifestUpdatesNotAllowed,
GameSaveFileAlreadyExists,
GameSaveManifestVersionNotFinalized,
GameSaveUnknownFileInManifest,
GameSaveFileExceededReportedSize,
GameSaveFileNotUploaded,
GameSaveBadRequest,
GameSaveOperationNotAllowed,
GameSaveDataStorageQuotaExceeded,
GameSaveNewerManifestExists,
StateShareForbidden,
StateShareTitleNotInFlight,
StateShareStateNotFound,
StateShareLinkNotFound,
StateShareStateRedemptionLimitExceeded,
StateShareStateRedemptionLimitNotUpdated,
StateShareCreatedStatesLimitExceeded,
StateShareIdMissingOrMalformed
}
[Serializable]
@ -2430,16 +2575,6 @@ namespace PlayFab.ServerModels
/// </summary>
public ExternalFriendSources? ExternalPlatformFriends;
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeSteamFriends;
/// <summary>
/// Maximum number of entries to retrieve.
/// </summary>
public int MaxResultsCount;
@ -2484,16 +2619,6 @@ namespace PlayFab.ServerModels
/// </summary>
public ExternalFriendSources? ExternalPlatformFriends;
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
[Obsolete("Use 'ExternalPlatformFriends' instead", true)]
public bool? IncludeSteamFriends;
/// <summary>
/// PlayFab identifier of the player whose friend list to get.
/// </summary>
public string PlayFabId;
@ -3189,6 +3314,32 @@ namespace PlayFab.ServerModels
public List<PSNAccountPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromPSNOnlineIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId;
/// <summary>
/// Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array
/// cannot exceed 2,000 in length.
/// </summary>
public List<string> PSNOnlineIDs;
}
/// <summary>
/// For PlayStation :tm: Network identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromPSNOnlineIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of PlayStation :tm: Network identifiers to PlayFab identifiers.
/// </summary>
public List<PSNOnlinePlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromSteamIDsRequest : PlayFabRequestCommon
{
@ -3211,6 +3362,28 @@ namespace PlayFab.ServerModels
public List<SteamPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromSteamNamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Steam identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 in
/// length.
/// </summary>
public List<string> SteamNames;
}
/// <summary>
/// For Steam identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromSteamNamesResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Steam identifiers to PlayFab identifiers.
/// </summary>
public List<SteamNamePlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromTwitchIDsRequest : PlayFabRequestCommon
{
@ -4021,6 +4194,27 @@ namespace PlayFab.ServerModels
public string PlayFabId;
}
[Serializable]
public class LinkNintendoServiceAccountSubjectRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// If another user is already linked to a specific Nintendo Service Account, unlink the other user and re-link.
/// </summary>
public bool? ForceLink;
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
/// <summary>
/// The Nintendo Service Account subject or id to link to the PlayFab user.
/// </summary>
public string Subject;
}
[Serializable]
public class LinkNintendoSwitchDeviceIdRequest : PlayFabRequestCommon
{
@ -4081,6 +4275,36 @@ namespace PlayFab.ServerModels
{
}
[Serializable]
public class LinkPSNIdRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// If another user is already linked to the account, unlink the other user and re-link.
/// </summary>
public bool? ForceLink;
/// <summary>
/// Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId;
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
/// <summary>
/// Id of the PlayStation :tm: Network user. Also known as the PSN Account Id.
/// </summary>
public string PSNUserId;
}
[Serializable]
public class LinkPSNIdResponse : PlayFabResultCommon
{
}
[Serializable]
public class LinkServerCustomIdRequest : PlayFabRequestCommon
{
@ -4107,6 +4331,32 @@ namespace PlayFab.ServerModels
{
}
[Serializable]
public class LinkSteamIdRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// If another user is already linked to the account, unlink the other user and re-link.
/// </summary>
public bool? ForceLink;
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Xbox Live identifier.
/// </summary>
public string PlayFabId;
/// <summary>
/// Unique Steam identifier for a user.
/// </summary>
public string SteamId;
}
[Serializable]
public class LinkSteamIdResult : PlayFabResultCommon
{
}
[Serializable]
public class LinkXboxAccountRequest : PlayFabRequestCommon
{
@ -4218,7 +4468,45 @@ namespace PlayFab.ServerModels
OpenIdConnect,
Apple,
NintendoSwitchAccount,
GooglePlayGames
GooglePlayGames,
XboxMobileStore,
King
}
/// <summary>
/// If this is the first time a user has signed in with the PlayStation :tm: Network account and CreateAccount is set to
/// true, a new PlayFab account will be created and linked to the PlayStation :tm: Network account. In this case, no email
/// or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the PlayStation
/// :tm: Network account, an error indicating this will be returned, so that the title can guide the user through creation
/// of a PlayFab account.
/// </summary>
[Serializable]
public class LoginWithPSNRequest : PlayFabRequestCommon
{
/// <summary>
/// Auth code provided by the PlayStation :tm: Network OAuth provider.
/// </summary>
public string AuthCode;
/// <summary>
/// Automatically create a PlayFab account if one is not currently linked to this ID.
/// </summary>
public bool? CreateAccount;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Flags for which pieces of info to return for the user.
/// </summary>
public GetPlayerCombinedInfoRequestParams InfoRequestParameters;
/// <summary>
/// Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment.
/// </summary>
public int? IssuerId;
/// <summary>
/// Redirect URI supplied to PlayStation :tm: Network when requesting an auth code
/// </summary>
public string RedirectUri;
}
[Serializable]
@ -4270,7 +4558,7 @@ namespace PlayFab.ServerModels
/// </summary>
public GetPlayerCombinedInfoRequestParams InfoRequestParameters;
/// <summary>
/// Unique Steam identifier for a user
/// Unique Steam identifier for a user.
/// </summary>
public string SteamId;
}
@ -4301,7 +4589,7 @@ namespace PlayFab.ServerModels
/// </summary>
public string Sandbox;
/// <summary>
/// Unique Xbox identifier for a user
/// Unique Xbox identifier for a user.
/// </summary>
public string XboxId;
}
@ -4556,40 +4844,6 @@ namespace PlayFab.ServerModels
public string PlayFabId;
}
[Serializable]
public class NotifyMatchmakerPlayerLeftRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Unique identifier of the Game Instance the user is leaving.
/// </summary>
public string LobbyId;
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class NotifyMatchmakerPlayerLeftResult : PlayFabResultCommon
{
/// <summary>
/// State of user leaving the Game Server Instance.
/// </summary>
public PlayerConnectionState? PlayerState;
}
public enum PlayerConnectionState
{
Unassigned,
Connecting,
Participating,
Participated
}
[Serializable]
public class PlayerLeaderboardEntry : PlayFabBaseModel
{
@ -4979,6 +5233,20 @@ namespace PlayFab.ServerModels
public string PSNAccountId;
}
[Serializable]
public class PSNOnlinePlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the PlayStation :tm: Network
/// identifier.
/// </summary>
public string PlayFabId;
/// <summary>
/// Unique PlayStation :tm: Network identifier for a user.
/// </summary>
public string PSNOnlineId;
}
[Serializable]
public class PushNotificationPackage : PlayFabBaseModel
{
@ -5096,131 +5364,6 @@ namespace PlayFab.ServerModels
public List<ItemInstance> GrantedItems;
}
/// <summary>
/// This function is used by a Game Server Instance to validate with the PlayFab service that a user has been registered as
/// connected to the server. The Ticket is provided to the client either as a result of a call to StartGame or Matchmake,
/// each of which return a Ticket specific to the Game Server Instance. This function will fail in any case where the Ticket
/// presented is not valid for the specific Game Server Instance making the call. Note that data returned may be Personally
/// Identifying Information (PII), such as email address, and so care should be taken in how this data is stored and
/// managed. Since this call will always return the relevant information for users who have accessed the title, the
/// recommendation is to not store this data locally.
/// </summary>
[Serializable]
public class RedeemMatchmakerTicketRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Unique identifier of the Game Server Instance that is asking for validation of the authorization ticket.
/// </summary>
public string LobbyId;
/// <summary>
/// Server authorization ticket passed back from a call to Matchmake or StartGame.
/// </summary>
public string Ticket;
}
[Serializable]
public class RedeemMatchmakerTicketResult : PlayFabResultCommon
{
/// <summary>
/// Error value if the ticket was not validated.
/// </summary>
public string Error;
/// <summary>
/// Boolean indicating whether the ticket was validated by the PlayFab service.
/// </summary>
public bool TicketIsValid;
/// <summary>
/// User account information for the user validated.
/// </summary>
public UserAccountInfo UserInfo;
}
[Serializable]
public class RefreshGameServerInstanceHeartbeatRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique identifier of the Game Server Instance for which the heartbeat is updated.
/// </summary>
public string LobbyId;
}
[Serializable]
public class RefreshGameServerInstanceHeartbeatResult : PlayFabResultCommon
{
}
public enum Region
{
USCentral,
USEast,
EUWest,
Singapore,
Japan,
Brazil,
Australia
}
[Serializable]
public class RegisterGameRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique identifier of the build running on the Game Server Instance.
/// </summary>
public string Build;
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Game Mode the Game Server instance is running. Note that this must be defined in the Game Modes tab in the PlayFab Game
/// Manager, along with the Build ID (the same Game Mode can be defined for multiple Build IDs).
/// </summary>
public string GameMode;
/// <summary>
/// Previous lobby id if re-registering an existing game.
/// </summary>
public string LobbyId;
/// <summary>
/// Region in which the Game Server Instance is running. For matchmaking using non-AWS region names, set this to any AWS
/// region and use Tags (below) to specify your custom region.
/// </summary>
public Region Region;
/// <summary>
/// IPV4 address of the game server instance.
/// </summary>
public string ServerIPV4Address;
/// <summary>
/// IPV6 address (if any) of the game server instance.
/// </summary>
public string ServerIPV6Address;
/// <summary>
/// Port number for communication with the Game Server Instance.
/// </summary>
public string ServerPort;
/// <summary>
/// Public DNS name (if any) of the server
/// </summary>
public string ServerPublicDNSName;
/// <summary>
/// Tags for the Game Server Instance
/// </summary>
public Dictionary<string,string> Tags;
}
[Serializable]
public class RegisterGameResponse : PlayFabResultCommon
{
/// <summary>
/// Unique identifier generated for the Game Server Instance that is registered. If LobbyId is specified in request and the
/// game still exists in PlayFab, the LobbyId in request is returned. Otherwise a new lobby id will be returned.
/// </summary>
public string LobbyId;
}
[Serializable]
public class RemoveFriendRequest : PlayFabRequestCommon
{
@ -5717,61 +5860,6 @@ namespace PlayFab.ServerModels
public List<string> Tags;
}
[Serializable]
public class SetGameServerInstanceDataRequest : PlayFabRequestCommon
{
/// <summary>
/// Custom data to set for the specified game server instance.
/// </summary>
public string GameServerData;
/// <summary>
/// Unique identifier of the Game Instance to be updated, in decimal format.
/// </summary>
public string LobbyId;
}
[Serializable]
public class SetGameServerInstanceDataResult : PlayFabResultCommon
{
}
[Serializable]
public class SetGameServerInstanceStateRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique identifier of the Game Instance to be updated, in decimal format.
/// </summary>
public string LobbyId;
/// <summary>
/// State to set for the specified game server instance.
/// </summary>
public GameInstanceState State;
}
[Serializable]
public class SetGameServerInstanceStateResult : PlayFabResultCommon
{
}
[Serializable]
public class SetGameServerInstanceTagsRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique identifier of the Game Server Instance to be updated.
/// </summary>
public string LobbyId;
/// <summary>
/// Tags to set for the specified Game Server Instance. Note that this is the complete list of tags to be associated with
/// the Game Server Instance.
/// </summary>
public Dictionary<string,string> Tags;
}
[Serializable]
public class SetGameServerInstanceTagsResult : PlayFabResultCommon
{
}
/// <summary>
/// APIs that require signatures require that the player have a configured Player Secret Key that is used to sign all
/// requests. Players that don't have a secret will be blocked from making API calls until it is configured. To create a
@ -5947,6 +6035,19 @@ namespace PlayFab.ServerModels
public uint Version;
}
[Serializable]
public class SteamNamePlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier.
/// </summary>
public string PlayFabId;
/// <summary>
/// Unique Steam identifier for a user, also known as Steam persona name.
/// </summary>
public string SteamName;
}
[Serializable]
public class SteamPlayFabIdPair : PlayFabBaseModel
{
@ -6240,6 +6341,24 @@ namespace PlayFab.ServerModels
{
}
[Serializable]
public class UnlinkSteamIdRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam account.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class UnlinkSteamIdResult : PlayFabResultCommon
{
}
[Serializable]
public class UnlinkXboxAccountRequest : PlayFabRequestCommon
{
@ -6388,6 +6507,10 @@ namespace PlayFab.ServerModels
/// The updated reason for the ban to be updated. Maximum 140 characters. Null for no change.
/// </summary>
public string Reason;
/// <summary>
/// The updated family type of the user that should be included in the ban. Null for no change.
/// </summary>
public UserFamilyType? UserFamilyType;
}
/// <summary>
@ -6737,6 +6860,10 @@ namespace PlayFab.ServerModels
/// </summary>
public UserPsnInfo PsnInfo;
/// <summary>
/// Server Custom ID information, if a server custom ID has been assigned
/// </summary>
public UserServerCustomIdInfo ServerCustomIdInfo;
/// <summary>
/// User Steam information, if a Steam account has been linked
/// </summary>
public UserSteamInfo SteamInfo;
@ -6835,6 +6962,13 @@ namespace PlayFab.ServerModels
public string FacebookInstantGamesId;
}
public enum UserFamilyType
{
None,
Xbox,
Steam
}
[Serializable]
public class UserGameCenterInfo : PlayFabBaseModel
{
@ -6968,7 +7102,9 @@ namespace PlayFab.ServerModels
OpenIdConnect,
Apple,
NintendoSwitchAccount,
GooglePlayGames
GooglePlayGames,
XboxMobileStore,
King
}
[Serializable]
@ -6993,6 +7129,15 @@ namespace PlayFab.ServerModels
public string PsnOnlineId;
}
[Serializable]
public class UserServerCustomIdInfo : PlayFabBaseModel
{
/// <summary>
/// Custom ID
/// </summary>
public string CustomId;
}
[Serializable]
public class UserSettings : PlayFabBaseModel
{

View File

@ -561,6 +561,42 @@ namespace PlayFab
NamespaceMismatch = 1559,
InvalidServiceConfiguration = 1560,
InvalidNamespaceMismatch = 1561,
LeaderboardColumnLengthMismatch = 1562,
InvalidStatisticScore = 1563,
LeaderboardColumnsNotSpecified = 1564,
LeaderboardMaxSizeTooLarge = 1565,
InvalidAttributeStatisticsSpecified = 1566,
LeaderboardNotFound = 1567,
TokenSigningKeyNotFound = 1568,
LeaderboardNameConflict = 1569,
LinkedStatisticColumnMismatch = 1570,
NoLinkedStatisticToLeaderboard = 1571,
StatDefinitionAlreadyLinkedToLeaderboard = 1572,
LinkingStatsNotAllowedForEntityType = 1573,
LeaderboardCountLimitExceeded = 1574,
LeaderboardSizeLimitExceeded = 1575,
LeaderboardDefinitionModificationNotAllowedWhileLinked = 1576,
StatisticDefinitionModificationNotAllowedWhileLinked = 1577,
LeaderboardUpdateNotAllowedWhileLinked = 1578,
CloudScriptAzureFunctionsEventHubRequestError = 1579,
ExternalEntityNotAllowedForTier = 1580,
InvalidBaseTimeForInterval = 1581,
EntityTypeMismatchWithStatDefinition = 1582,
SpecifiedVersionLeaderboardNotFound = 1583,
LeaderboardColumnLengthMismatchWithStatDefinition = 1584,
DuplicateColumnNameFound = 1585,
LinkedStatisticColumnNotFound = 1586,
LinkedStatisticColumnRequired = 1587,
MultipleLinkedStatisticsNotAllowed = 1588,
DuplicateLinkedStatisticColumnNameFound = 1589,
AggregationTypeNotAllowedForMultiColumnStatistic = 1590,
MaxQueryableVersionsValueNotAllowedForTier = 1591,
StatisticDefinitionHasNullOrEmptyVersionConfiguration = 1592,
StatisticColumnLengthMismatch = 1593,
InvalidExternalEntityId = 1594,
UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier = 1595,
TransactionAlreadyApplied = 1596,
ReportDataNotRetrievedSuccessfully = 1597,
MatchmakingEntityInvalid = 2001,
MatchmakingPlayerAttributesInvalid = 2002,
MatchmakingQueueNotFound = 2016,
@ -604,6 +640,7 @@ namespace PlayFab
CatalogItemTypeInvalid = 4012,
CatalogBadRequest = 4013,
CatalogTooManyRequests = 4014,
InvalidCatalogItemConfiguration = 4015,
ExportInvalidStatusUpdate = 5000,
ExportInvalidPrefix = 5001,
ExportBlobContainerDoesNotExist = 5002,
@ -650,6 +687,7 @@ namespace PlayFab
MultiplayerServerBuildReferencedByMatchmakingQueue = 6002,
MultiplayerServerBuildReferencedByBuildAlias = 6003,
MultiplayerServerBuildAliasReferencedByMatchmakingQueue = 6004,
PartySerializationError = 6005,
ExperimentationExperimentStopped = 7000,
ExperimentationExperimentRunning = 7001,
ExperimentationExperimentNotFound = 7002,
@ -689,6 +727,7 @@ namespace PlayFab
AsyncExportNotInFlight = 10011,
AsyncExportNotFound = 10012,
AsyncExportRateLimitExceeded = 10013,
AnalyticsSegmentCountOverLimit = 10014,
SnapshotNotFound = 11000,
InventoryApiNotImplemented = 12000,
LobbyDoesNotExist = 13000,
@ -703,6 +742,12 @@ namespace PlayFab
LobbyNewOwnerMustBeConnected = 13009,
LobbyCurrentOwnerStillConnected = 13010,
LobbyMemberIsNotOwner = 13011,
LobbyServerMismatch = 13012,
LobbyServerNotFound = 13013,
LobbyDifferentServerAlreadyJoined = 13014,
LobbyServerAlreadyJoined = 13015,
LobbyIsNotClientOwned = 13016,
LobbyDoesNotUseConnections = 13017,
EventSamplingInvalidRatio = 14000,
EventSamplingInvalidEventNamespace = 14001,
EventSamplingInvalidEventName = 14002,
@ -713,6 +758,7 @@ namespace PlayFab
TelemetryKeyInvalid = 14203,
TelemetryKeyCountOverLimit = 14204,
TelemetryKeyDeactivated = 14205,
TelemetryKeyLongInsightsRetentionNotAllowed = 14206,
EventSinkConnectionInvalid = 15000,
EventSinkConnectionUnauthorized = 15001,
EventSinkRegionInvalid = 15002,
@ -725,9 +771,121 @@ namespace PlayFab
EventSinkTenantNotFound = 15009,
EventSinkAadNotFound = 15010,
EventSinkDatabaseNotFound = 15011,
EventSinkTitleUnauthorized = 15012,
EventSinkInsufficientRoleAssignment = 15013,
EventSinkContainerNotFound = 15014,
EventSinkTenantIdInvalid = 15015,
OperationCanceled = 16000,
InvalidDisplayNameRandomSuffixLength = 17000,
AllowNonUniquePlayerDisplayNamesDisableNotAllowed = 17001
AllowNonUniquePlayerDisplayNamesDisableNotAllowed = 17001,
PartitionedEventInvalid = 18000,
PartitionedEventCountOverLimit = 18001,
ManageEventNamespaceInvalid = 18002,
ManageEventNameInvalid = 18003,
ManagedEventNotFound = 18004,
ManageEventsInvalidRatio = 18005,
ManagedEventInvalid = 18006,
PlayerCustomPropertiesPropertyNameTooLong = 19000,
PlayerCustomPropertiesPropertyNameIsInvalid = 19001,
PlayerCustomPropertiesStringPropertyValueTooLong = 19002,
PlayerCustomPropertiesValueIsInvalidType = 19003,
PlayerCustomPropertiesVersionMismatch = 19004,
PlayerCustomPropertiesPropertyCountTooHigh = 19005,
PlayerCustomPropertiesDuplicatePropertyName = 19006,
PlayerCustomPropertiesPropertyDoesNotExist = 19007,
AddonAlreadyExists = 19008,
AddonDoesntExist = 19009,
CopilotDisabled = 19100,
CopilotInvalidRequest = 19101,
TrueSkillUnauthorized = 20000,
TrueSkillInvalidTitleId = 20001,
TrueSkillInvalidScenarioId = 20002,
TrueSkillInvalidModelId = 20003,
TrueSkillInvalidModelName = 20004,
TrueSkillInvalidPlayerIds = 20005,
TrueSkillInvalidEntityKey = 20006,
TrueSkillInvalidConditionKey = 20007,
TrueSkillInvalidConditionValue = 20008,
TrueSkillInvalidConditionAffinityWeight = 20009,
TrueSkillInvalidEventName = 20010,
TrueSkillMatchResultCreated = 20011,
TrueSkillMatchResultAlreadySubmitted = 20012,
TrueSkillBadPlayerIdInMatchResult = 20013,
TrueSkillInvalidBotIdInMatchResult = 20014,
TrueSkillDuplicatePlayerInMatchResult = 20015,
TrueSkillNoPlayerInMatchResultTeam = 20016,
TrueSkillPlayersInMatchResultExceedingLimit = 20017,
TrueSkillInvalidPreMatchPartyInMatchResult = 20018,
TrueSkillInvalidTimestampInMatchResult = 20019,
TrueSkillStartTimeMissingInMatchResult = 20020,
TrueSkillEndTimeMissingInMatchResult = 20021,
TrueSkillInvalidPlayerSecondsPlayedInMatchResult = 20022,
TrueSkillNoTeamInMatchResult = 20023,
TrueSkillNotEnoughTeamsInMatchResult = 20024,
TrueSkillInvalidRanksInMatchResult = 20025,
TrueSkillNoWinnerInMatchResult = 20026,
TrueSkillMissingRequiredCondition = 20027,
TrueSkillMissingRequiredEvent = 20028,
TrueSkillUnknownEventName = 20029,
TrueSkillInvalidEventCount = 20030,
TrueSkillUnknownConditionKey = 20031,
TrueSkillUnknownConditionValue = 20032,
TrueSkillScenarioConfigDoesNotExist = 20033,
TrueSkillUnknownModelId = 20034,
TrueSkillNoModelInScenario = 20035,
TrueSkillNotSupportedForTitle = 20036,
TrueSkillModelIsNotActive = 20037,
TrueSkillUnauthorizedToQueryOtherPlayerSkills = 20038,
TrueSkillInvalidMaxIterations = 20039,
TrueSkillEndTimeBeforeStartTime = 20040,
TrueSkillInvalidJobId = 20041,
TrueSkillInvalidMetadataId = 20042,
TrueSkillMissingBuildVerison = 20043,
TrueSkillJobAlreadyExists = 20044,
TrueSkillJobNotFound = 20045,
TrueSkillOperationCanceled = 20046,
TrueSkillActiveModelLimitExceeded = 20047,
TrueSkillTotalModelLimitExceeded = 20048,
TrueSkillUnknownInitialModelId = 20049,
TrueSkillUnauthorizedForJob = 20050,
TrueSkillInvalidScenarioName = 20051,
TrueSkillConditionStateIsRequired = 20052,
TrueSkillEventStateIsRequired = 20053,
TrueSkillDuplicateEvent = 20054,
TrueSkillDuplicateCondition = 20055,
TrueSkillInvalidAnomalyThreshold = 20056,
TrueSkillConditionKeyLimitExceeded = 20057,
TrueSkillConditionValuePerKeyLimitExceeded = 20058,
TrueSkillInvalidTimestamp = 20059,
TrueSkillEventLimitExceeded = 20060,
TrueSkillInvalidPlayers = 20061,
TrueSkillTrueSkillPlayerNull = 20062,
TrueSkillInvalidPlayerId = 20063,
TrueSkillInvalidSquadSize = 20064,
TrueSkillConditionSetNotInModel = 20065,
TrueSkillModelStateInvalidForOperation = 20066,
TrueSkillScenarioContainsActiveModel = 20067,
GameSaveManifestNotFound = 20300,
GameSaveManifestVersionAlreadyExists = 20301,
GameSaveConflictUpdatingManifest = 20302,
GameSaveManifestUpdatesNotAllowed = 20303,
GameSaveFileAlreadyExists = 20304,
GameSaveManifestVersionNotFinalized = 20305,
GameSaveUnknownFileInManifest = 20306,
GameSaveFileExceededReportedSize = 20307,
GameSaveFileNotUploaded = 20308,
GameSaveBadRequest = 20309,
GameSaveOperationNotAllowed = 20310,
GameSaveDataStorageQuotaExceeded = 20311,
GameSaveNewerManifestExists = 20312,
StateShareForbidden = 21000,
StateShareTitleNotInFlight = 21001,
StateShareStateNotFound = 21002,
StateShareLinkNotFound = 21003,
StateShareStateRedemptionLimitExceeded = 21004,
StateShareStateRedemptionLimitNotUpdated = 21005,
StateShareCreatedStatesLimitExceeded = 21006,
StateShareIdMissingOrMalformed = 21007
}
public class PlayFabError

View File

@ -0,0 +1,57 @@
using PlayFab;
using System.Diagnostics;
using System.IO;
using System.IO.Compression;
using UnityEngine.Networking;
public class GzipDownloadHandler : DownloadHandlerScript
{
private byte[] _data;
public byte[] Data { get { return _data; } }
public GzipDownloadHandler() : base()
{
}
protected override byte[] GetData() { return _data; }
protected override bool ReceiveData(byte[] data, int dataLength)
{
if (_data == null)
_data = data;
else
{
byte[] newData = new byte[_data.Length + dataLength];
_data.CopyTo(newData, 0);
data.CopyTo(newData, _data.Length);
_data = newData;
}
return true;
}
protected override void CompleteContent()
{
try
{
using MemoryStream stream = new MemoryStream(_data);
using GZipStream gZipStream = new GZipStream(stream, CompressionMode.Decompress, true);
byte[] buffer = new byte[4096];
using MemoryStream resultStream = new MemoryStream();
int read;
while ((read = gZipStream.Read(buffer, 0, buffer.Length)) > 0)
{
resultStream.Write(buffer, 0, read);
}
_data = resultStream.ToArray();
}
catch (IOException)
{
// If we fail to decompress, it should be because Unity silently decompressed already, so we should disable this custom handler.
// There is no info on which platforms Unity decompresses on, so we have to assume this is needed until we reach this.
PlayFabSettings.staticSettings.DecompressWithDownloadHandler = false;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 40479a6315f18a54a9db2c924e0af5ae
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -11,6 +11,7 @@ namespace PlayFab.Internal
LoginSession, // "X-Authorization"
DevSecretKey, // "X-SecretKey"
EntityToken, // "X-EntityToken"
TelemetryKey // "X-TelemetryKey"
}
public enum HttpRequestState

View File

@ -201,6 +201,10 @@ namespace PlayFab.Internal
reqContainer.RequestHeaders["X-EntityToken"] = authenticationContext.EntityToken;
break;
#endif
case AuthType.TelemetryKey:
if (authenticationContext != null)
reqContainer.RequestHeaders["X-TelemetryKey"] = authenticationContext.TelemetryKey;
break;
}
// These closures preserve the TResult generic information in a way that's safe for all the devices

View File

@ -43,6 +43,16 @@ namespace PlayFab.Internal
{
using (UnityWebRequest www = UnityWebRequest.Get(fullUrl))
{
if (PlayFabSettings.staticSettings.CompressResponses)
{
www.SetRequestHeader("Accept-Encoding", "gzip");
if (PlayFabSettings.staticSettings.DecompressWithDownloadHandler)
{
www.downloadHandler = new GzipDownloadHandler();
}
}
#if UNITY_2017_2_OR_NEWER
yield return www.SendWebRequest();
#else
@ -67,8 +77,18 @@ namespace PlayFab.Internal
{
request = new UnityWebRequest(fullUrl, "POST");
request.uploadHandler = (UploadHandler)new UploadHandlerRaw(payload);
request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
request.SetRequestHeader("Content-Type", "application/json");
if (PlayFabSettings.staticSettings.CompressResponses)
{
request.SetRequestHeader("Accept-Encoding", "gzip");
request.downloadHandler = PlayFabSettings.staticSettings.DecompressWithDownloadHandler ? new GzipDownloadHandler()
: new DownloadHandlerBuffer();
}
else
{
request.downloadHandler = new DownloadHandlerBuffer();
}
}
@ -117,10 +137,20 @@ namespace PlayFab.Internal
using var www = new UnityWebRequest(reqContainer.FullUrl)
{
uploadHandler = new UploadHandlerRaw(reqContainer.Payload),
downloadHandler = new DownloadHandlerBuffer(),
method = "POST"
};
if (reqContainer.settings.CompressResponses)
{
www.SetRequestHeader("Accept-Encoding", "gzip");
www.downloadHandler = reqContainer.settings.DecompressWithDownloadHandler ? new GzipDownloadHandler()
: new DownloadHandlerBuffer();
}
else
{
www.downloadHandler = new DownloadHandlerBuffer();
}
foreach (var headerPair in reqContainer.RequestHeaders)
{
if (!string.IsNullOrEmpty(headerPair.Key) && !string.IsNullOrEmpty(headerPair.Value))

View File

@ -25,6 +25,8 @@ public class PlayFabSharedSettings : ScriptableObject
public int RequestTimeout = 2000;
public bool RequestKeepAlive = true;
public bool CompressResponses = false;
public bool DecompressWithDownloadHandler = true;
public PlayFabLogLevel LogLevel = PlayFabLogLevel.Warning | PlayFabLogLevel.Error;
public string LoggerHost = "";

View File

@ -28,6 +28,12 @@ namespace PlayFab
/// <summary> Set this to true to prevent focus change information from leaving the device </summary>
public virtual bool DisableFocusTimeCollection { get; set; }
/// <summary> Set to enable Gzip compression on all responses. Defaults to false. </summary>
public virtual bool CompressResponses { get; set; }
/// <summary> Enables the custom Gzip DownloadHandler on all responses. Defaults to true. </summary>
internal virtual bool DecompressWithDownloadHandler { get; set; } = true;
public virtual string GetFullUrl(string apiCall, Dictionary<string, string> getParams)
{
@ -80,5 +86,17 @@ namespace PlayFab
get { var so = GetSO(); return so == null ? base.DisableFocusTimeCollection : so.DisableFocusTimeCollection; }
set { var so = GetSO(); if (so != null) so.DisableFocusTimeCollection = value; base.DisableFocusTimeCollection = value; }
}
public override bool CompressResponses
{
get { var so = GetSO(); return so == null ? base.CompressResponses : so.CompressResponses; }
set { var so = GetSO(); if (so != null) so.CompressResponses = value; base.CompressResponses = value; }
}
internal override bool DecompressWithDownloadHandler
{
get { var so = GetSO(); return so == null ? base.DecompressWithDownloadHandler : so.DecompressWithDownloadHandler; }
set { var so = GetSO(); if (so != null) so.DecompressWithDownloadHandler = value; base.DecompressWithDownloadHandler = value; }
}
}
}

View File

@ -6,7 +6,7 @@ namespace PlayFab
{
}
public PlayFabAuthenticationContext(string clientSessionTicket, string entityToken, string playFabId, string entityId, string entityType) : this()
public PlayFabAuthenticationContext(string clientSessionTicket, string entityToken, string playFabId, string entityId, string entityType, string telemetryKey = null) : this()
{
#if !DISABLE_PLAYFABCLIENT_API
ClientSessionTicket = clientSessionTicket;
@ -17,6 +17,7 @@ namespace PlayFab
EntityId = entityId;
EntityType = entityType;
#endif
TelemetryKey = telemetryKey;
}
public void CopyFrom(PlayFabAuthenticationContext other)
@ -30,6 +31,7 @@ namespace PlayFab
EntityId = other.EntityId;
EntityType = other.EntityType;
#endif
TelemetryKey = other.TelemetryKey;
}
#if !DISABLE_PLAYFABCLIENT_API
@ -61,6 +63,13 @@ namespace PlayFab
}
#endif
public string TelemetryKey;
public bool IsTelemetryKeyProvided()
{
return !string.IsNullOrEmpty(TelemetryKey);
}
public void ForgetAllCredentials()
{
#if !DISABLE_PLAYFABCLIENT_API
@ -72,6 +81,7 @@ namespace PlayFab
EntityId = null;
EntityType = null;
#endif
TelemetryKey = null;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,29 @@ namespace PlayFab
public static class PlayFabSettings
{
static PlayFabSettings() { }
static PlayFabSettings()
{
#if UNITY_GAMECORE || UNITY_GAMECORE_XBOXONE || UNITY_GAMECORE_SCARLETT || MICROSOFT_GAME_CORE
PlatformString = "GDK";
#else
switch (Application.platform)
{
case RuntimePlatform.WindowsEditor:
case RuntimePlatform.WindowsPlayer:
case RuntimePlatform.WindowsServer:
PlatformString = "Windows";
break;
case RuntimePlatform.IPhonePlayer:
PlatformString = "iOS";
break;
default:
PlatformString = Application.platform.ToString();
break;
}
#endif
}
private static PlayFabSharedSettings _playFabShared = null;
private static PlayFabSharedSettings PlayFabSharedPrivate { get { if (_playFabShared == null) _playFabShared = GetSharedSettingsObjectPrivate(); return _playFabShared; } }
@ -43,9 +65,11 @@ namespace PlayFab
/// </summary>
public static readonly PlayFabAuthenticationContext staticPlayer = new PlayFabAuthenticationContext();
public const string SdkVersion = "2.162.230320";
public const string SdkVersion = "2.206.241122";
public const string BuildIdentifier = "adobuild_unitysdk_167";
public const string VersionString = "UnitySDK-2.162.230320";
public const string VersionString = "UnitySDK-2.206.241122";
public static string EngineVersion = UnityEngine.Application.unityVersion;
public static string PlatformString;
public const string DefaultPlayFabApiUrl = "playfabapi.com";
@ -142,7 +166,7 @@ namespace PlayFab
_cachedStringBuilder.Clear();
return _cachedStringBuilder;
}
public static string GetFullUrl(string apiCall, Dictionary<string, string> getParams, PlayFabApiSettings apiSettings = null)
{
StringBuilder sb = AcquireStringBuilder();
@ -198,9 +222,9 @@ namespace PlayFab
sb.Append(baseUrl).Append(apiCall);
bool firstParam = true;
if (getParams != null)
{
bool firstParam = true;
foreach (var paramPair in getParams)
{
if (firstParam)
@ -216,6 +240,10 @@ namespace PlayFab
}
}
sb.Append(firstParam ? "?" : "&");
sb.Append("engine=").Append(EngineVersion);
sb.Append("&platform=").Append(PlatformString);
return sb.ToString();
}
}