diff --git a/ExampleMacProject/Assets/PlayFabEditorExtensions/Editor/Scripts/Utils/PlayFabEditorVersion.cs b/ExampleMacProject/Assets/PlayFabEditorExtensions/Editor/Scripts/Utils/PlayFabEditorVersion.cs
index 871f7984c..95f8da8dc 100644
--- a/ExampleMacProject/Assets/PlayFabEditorExtensions/Editor/Scripts/Utils/PlayFabEditorVersion.cs
+++ b/ExampleMacProject/Assets/PlayFabEditorExtensions/Editor/Scripts/Utils/PlayFabEditorVersion.cs
@@ -1 +1 @@
-namespace PlayFab.PfEditor { public static partial class PlayFabEditorHelper { public static string EDEX_VERSION = "2.198.240802"; } }
+namespace PlayFab.PfEditor { public static partial class PlayFabEditorHelper { public static string EDEX_VERSION = "2.200.240816"; } }
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonAPI.cs b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonAPI.cs
new file mode 100644
index 000000000..a1cf333d2
--- /dev/null
+++ b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonAPI.cs
@@ -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
+{
+ ///
+ /// APIs for managing addons.
+ ///
+ public static class PlayFabAddonAPI
+ {
+ static PlayFabAddonAPI() {}
+
+
+ ///
+ /// Verify entity login.
+ ///
+ public static bool IsEntityLoggedIn()
+ {
+ return PlayFabSettings.staticPlayer.IsEntityLoggedIn();
+ }
+
+ ///
+ /// Clear the Client SessionToken which allows this Client to call API calls requiring login.
+ /// A new/fresh login will be required after calling this.
+ ///
+ public static void ForgetAllCredentials()
+ {
+ PlayFabSettings.staticPlayer.ForgetAllCredentials();
+ }
+
+ ///
+ /// Creates the Apple addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateApple(CreateOrUpdateAppleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Facebook addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateFacebook(CreateOrUpdateFacebookRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Facebook Instant Games addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateFacebookInstantGames(CreateOrUpdateFacebookInstantGamesRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Google addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateGoogle(CreateOrUpdateGoogleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Kongregate addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateKongregate(CreateOrUpdateKongregateRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Nintendo addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateNintendo(CreateOrUpdateNintendoRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the PSN addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdatePSN(CreateOrUpdatePSNRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Steam addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateSteam(CreateOrUpdateSteamRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Twitch addon on a title, or updates it if it already exists.
+ ///
+ public static void CreateOrUpdateTwitch(CreateOrUpdateTwitchRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Apple addon on a title.
+ ///
+ public static void DeleteApple(DeleteAppleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Facebook addon on a title.
+ ///
+ public static void DeleteFacebook(DeleteFacebookRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Facebook addon on a title.
+ ///
+ public static void DeleteFacebookInstantGames(DeleteFacebookInstantGamesRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Google addon on a title.
+ ///
+ public static void DeleteGoogle(DeleteGoogleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Kongregate addon on a title.
+ ///
+ public static void DeleteKongregate(DeleteKongregateRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Nintendo addon on a title.
+ ///
+ public static void DeleteNintendo(DeleteNintendoRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the PSN addon on a title.
+ ///
+ public static void DeletePSN(DeletePSNRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Steam addon on a title.
+ ///
+ public static void DeleteSteam(DeleteSteamRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Twitch addon on a title.
+ ///
+ public static void DeleteTwitch(DeleteTwitchRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Apple addon on a title, omits secrets.
+ ///
+ public static void GetApple(GetAppleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Facebook addon on a title, omits secrets.
+ ///
+ public static void GetFacebook(GetFacebookRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Facebook Instant Games addon on a title, omits secrets.
+ ///
+ public static void GetFacebookInstantGames(GetFacebookInstantGamesRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Google addon on a title, omits secrets.
+ ///
+ public static void GetGoogle(GetGoogleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Kongregate addon on a title, omits secrets.
+ ///
+ public static void GetKongregate(GetKongregateRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Nintendo addon on a title, omits secrets.
+ ///
+ public static void GetNintendo(GetNintendoRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the PSN addon on a title, omits secrets.
+ ///
+ public static void GetPSN(GetPSNRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Steam addon on a title, omits secrets.
+ ///
+ public static void GetSteam(GetSteamRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Twitch addon on a title, omits secrets.
+ ///
+ public static void GetTwitch(GetTwitchRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonInstanceAPI.cs b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonInstanceAPI.cs
new file mode 100644
index 000000000..acba30cf0
--- /dev/null
+++ b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonInstanceAPI.cs
@@ -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
+{
+ ///
+ /// APIs for managing addons.
+ ///
+ 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 .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 .GetAuthenticationContext()");
+ apiSettings = settings;
+ authenticationContext = context;
+ }
+
+ ///
+ /// Verify entity login.
+ ///
+ public bool IsEntityLoggedIn()
+ {
+ return authenticationContext == null ? false : authenticationContext.IsEntityLoggedIn();
+ }
+
+ ///
+ /// Clear the Client SessionToken which allows this Client to call API calls requiring login.
+ /// A new/fresh login will be required after calling this.
+ ///
+ public void ForgetAllCredentials()
+ {
+ if (authenticationContext != null)
+ {
+ authenticationContext.ForgetAllCredentials();
+ }
+ }
+
+ ///
+ /// Creates the Apple addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateApple(CreateOrUpdateAppleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Facebook addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateFacebook(CreateOrUpdateFacebookRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Facebook Instant Games addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateFacebookInstantGames(CreateOrUpdateFacebookInstantGamesRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Google addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateGoogle(CreateOrUpdateGoogleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Kongregate addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateKongregate(CreateOrUpdateKongregateRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Nintendo addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateNintendo(CreateOrUpdateNintendoRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the PSN addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdatePSN(CreateOrUpdatePSNRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Steam addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateSteam(CreateOrUpdateSteamRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Creates the Twitch addon on a title, or updates it if it already exists.
+ ///
+ public void CreateOrUpdateTwitch(CreateOrUpdateTwitchRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Apple addon on a title.
+ ///
+ public void DeleteApple(DeleteAppleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Facebook addon on a title.
+ ///
+ public void DeleteFacebook(DeleteFacebookRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Facebook addon on a title.
+ ///
+ public void DeleteFacebookInstantGames(DeleteFacebookInstantGamesRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Google addon on a title.
+ ///
+ public void DeleteGoogle(DeleteGoogleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Kongregate addon on a title.
+ ///
+ public void DeleteKongregate(DeleteKongregateRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Nintendo addon on a title.
+ ///
+ public void DeleteNintendo(DeleteNintendoRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the PSN addon on a title.
+ ///
+ public void DeletePSN(DeletePSNRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Steam addon on a title.
+ ///
+ public void DeleteSteam(DeleteSteamRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Deletes the Twitch addon on a title.
+ ///
+ public void DeleteTwitch(DeleteTwitchRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Apple addon on a title, omits secrets.
+ ///
+ public void GetApple(GetAppleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Facebook addon on a title, omits secrets.
+ ///
+ public void GetFacebook(GetFacebookRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Facebook Instant Games addon on a title, omits secrets.
+ ///
+ public void GetFacebookInstantGames(GetFacebookInstantGamesRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Google addon on a title, omits secrets.
+ ///
+ public void GetGoogle(GetGoogleRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Kongregate addon on a title, omits secrets.
+ ///
+ public void GetKongregate(GetKongregateRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Nintendo addon on a title, omits secrets.
+ ///
+ public void GetNintendo(GetNintendoRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the PSN addon on a title, omits secrets.
+ ///
+ public void GetPSN(GetPSNRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Steam addon on a title, omits secrets.
+ ///
+ public void GetSteam(GetSteamRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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);
+ }
+
+ ///
+ /// Gets information of the Twitch addon on a title, omits secrets.
+ ///
+ public void GetTwitch(GetTwitchRequest request, Action resultCallback, Action errorCallback, object customData = null, Dictionary 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
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonModels.cs b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonModels.cs
new file mode 100644
index 000000000..f7926fe8f
--- /dev/null
+++ b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabAddonModels.cs
@@ -0,0 +1,781 @@
+#if !DISABLE_PLAYFABENTITY_API
+using System;
+using System.Collections.Generic;
+using PlayFab.SharedModels;
+
+namespace PlayFab.AddonModels
+{
+ [Serializable]
+ public class CreateOrUpdateAppleRequest : PlayFabRequestCommon
+ {
+ ///
+ /// iOS App Bundle ID obtained after setting up your app in the App Store.
+ ///
+ public string AppBundleId;
+ ///
+ /// iOS App Shared Secret obtained after setting up your app in the App Store.
+ ///
+ public string AppSharedSecret;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ ///
+ /// 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.
+ ///
+ public bool? IgnoreExpirationDate;
+ ///
+ /// Require secure authentication only for this app.
+ ///
+ public bool? RequireSecureAuthentication;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateAppleResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateFacebookInstantGamesRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Facebook App ID obtained after setting up your app in Facebook Instant Games.
+ ///
+ public string AppID;
+ ///
+ /// Facebook App Secret obtained after setting up your app in Facebook Instant Games.
+ ///
+ public string AppSecret;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateFacebookInstantGamesResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateFacebookRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Facebook App ID obtained after setting up your app in Facebook.
+ ///
+ public string AppID;
+ ///
+ /// Facebook App Secret obtained after setting up your app in Facebook.
+ ///
+ public string AppSecret;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ ///
+ /// Email address for purchase dispute notifications.
+ ///
+ public string NotificationEmail;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateFacebookResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateGoogleRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Google App License Key obtained after setting up your app in the Google Play developer portal. Required if using Google
+ /// receipt validation.
+ ///
+ public string AppLicenseKey;
+ ///
+ /// Google App Package ID obtained after setting up your app in the Google Play developer portal. Required if using Google
+ /// receipt validation.
+ ///
+ public string AppPackageID;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ ///
+ /// Google OAuth Client ID obtained through the Google Developer Console by creating a new set of "OAuth Client ID".
+ /// Required if using Google Authentication.
+ ///
+ public string OAuthClientID;
+ ///
+ /// Google OAuth Client Secret obtained through the Google Developer Console by creating a new set of "OAuth Client ID".
+ /// Required if using Google Authentication.
+ ///
+ public string OAuthClientSecret;
+ ///
+ /// Needed to enable pending purchase handling and subscription processing.
+ ///
+ public string ServiceAccountKey;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateGoogleResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateKongregateRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ ///
+ /// Kongregate Secret API Key obtained after setting up your game in your Kongregate developer account.
+ ///
+ public string SecretAPIKey;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateKongregateResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateNintendoRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Nintendo Switch Application ID, without the "0x" prefix.
+ ///
+ public string ApplicationID;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// List of Nintendo Environments, currently supporting up to 4. Needs Catalog enabled.
+ ///
+ public List Environments;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateNintendoResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdatePSNRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Client ID obtained after setting up your game with Sony. This one is associated with the existing PS4 marketplace.
+ ///
+ public string ClientID;
+ ///
+ /// Client secret obtained after setting up your game with Sony. This one is associated with the existing PS4 marketplace.
+ ///
+ public string ClientSecret;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ ///
+ /// 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.
+ ///
+ public string NextGenClientID;
+ ///
+ /// 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.
+ ///
+ public string NextGenClientSecret;
+ }
+
+ [Serializable]
+ public class CreateOrUpdatePSNResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateSteamRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Application ID obtained after setting up your app in Valve's developer portal.
+ ///
+ public string ApplicationId;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// Enforce usage of AzurePlayFab identity in user authentication tickets.
+ ///
+ public bool? EnforceServiceSpecificTickets;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ ///
+ /// Sercet Key obtained after setting up your app in Valve's developer portal.
+ ///
+ public string SecretKey;
+ ///
+ /// Use Steam Payments sandbox endpoint for test transactions.
+ ///
+ public bool? UseSandbox;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateSteamResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class CreateOrUpdateTwitchRequest : PlayFabRequestCommon
+ {
+ ///
+ /// Client ID obtained after creating your Twitch developer account.
+ ///
+ public string ClientID;
+ ///
+ /// Client Secret obtained after creating your Twitch developer account.
+ ///
+ public string ClientSecret;
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ ///
+ /// If an error should be returned if the addon already exists.
+ ///
+ public bool? ErrorIfExists;
+ }
+
+ [Serializable]
+ public class CreateOrUpdateTwitchResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteAppleRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteAppleResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteFacebookInstantGamesRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteFacebookInstantGamesResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteFacebookRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteFacebookResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteGoogleRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteGoogleResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteKongregateRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteKongregateResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteNintendoRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteNintendoResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeletePSNRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeletePSNResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteSteamRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteSteamResponse : PlayFabResultCommon
+ {
+ }
+
+ [Serializable]
+ public class DeleteTwitchRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class DeleteTwitchResponse : PlayFabResultCommon
+ {
+ }
+
+ ///
+ /// Combined entity type and ID structure which uniquely identifies a single entity.
+ ///
+ [Serializable]
+ public class EntityKey : PlayFabBaseModel
+ {
+ ///
+ /// Unique ID of the entity.
+ ///
+ public string Id;
+ ///
+ /// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
+ ///
+ public string Type;
+ }
+
+ [Serializable]
+ public class GetAppleRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetAppleResponse : PlayFabResultCommon
+ {
+ ///
+ /// iOS App Bundle ID obtained after setting up your app in the App Store.
+ ///
+ public string AppBundleId;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ ///
+ /// Ignore expiration date for identity tokens.
+ ///
+ public bool? IgnoreExpirationDate;
+ ///
+ /// Require secure authentication only for this app.
+ ///
+ public bool? RequireSecureAuthentication;
+ }
+
+ [Serializable]
+ public class GetFacebookInstantGamesRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetFacebookInstantGamesResponse : PlayFabResultCommon
+ {
+ ///
+ /// Facebook App ID obtained after setting up your app in Facebook Instant Games.
+ ///
+ public string AppID;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ }
+
+ [Serializable]
+ public class GetFacebookRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetFacebookResponse : PlayFabResultCommon
+ {
+ ///
+ /// Facebook App ID obtained after setting up your app in Facebook.
+ ///
+ public string AppID;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ ///
+ /// Email address for purchase dispute notifications.
+ ///
+ public string NotificationEmail;
+ }
+
+ [Serializable]
+ public class GetGoogleRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetGoogleResponse : PlayFabResultCommon
+ {
+ ///
+ /// Google App Package ID obtained after setting up your app in the Google Play developer portal. Required if using Google
+ /// receipt validation.
+ ///
+ public string AppPackageID;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ ///
+ /// Google OAuth Client ID obtained through the Google Developer Console by creating a new set of "OAuth Client ID".
+ /// Required if using Google Authentication.
+ ///
+ public string OAuthClientID;
+ }
+
+ [Serializable]
+ public class GetKongregateRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetKongregateResponse : PlayFabResultCommon
+ {
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ }
+
+ [Serializable]
+ public class GetNintendoRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetNintendoResponse : PlayFabResultCommon
+ {
+ ///
+ /// Nintendo Switch Application ID, without the "0x" prefix.
+ ///
+ public string ApplicationID;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ ///
+ /// List of Nintendo Environments, currently supporting up to 4.
+ ///
+ public List Environments;
+ }
+
+ [Serializable]
+ public class GetPSNRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetPSNResponse : PlayFabResultCommon
+ {
+ ///
+ /// Client ID obtained after setting up your game with Sony. This one is associated with the existing PS4 marketplace.
+ ///
+ public string ClientID;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ ///
+ /// 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.
+ ///
+ public string NextGenClientID;
+ }
+
+ [Serializable]
+ public class GetSteamRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetSteamResponse : PlayFabResultCommon
+ {
+ ///
+ /// Application ID obtained after setting up your game in Valve's developer portal.
+ ///
+ public string ApplicationId;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ ///
+ /// Enforce usage of AzurePlayFab identity in user authentication tickets.
+ ///
+ public bool? EnforceServiceSpecificTickets;
+ ///
+ /// Use Steam Payments sandbox endpoint for test transactions.
+ ///
+ public bool? UseSandbox;
+ }
+
+ [Serializable]
+ public class GetTwitchRequest : PlayFabRequestCommon
+ {
+ ///
+ /// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
+ ///
+ public Dictionary CustomTags;
+ ///
+ /// The optional entity to perform this action on. Defaults to the currently logged in entity.
+ ///
+ public EntityKey Entity;
+ }
+
+ [Serializable]
+ public class GetTwitchResponse : PlayFabResultCommon
+ {
+ ///
+ /// Client ID obtained after creating your Twitch developer account.
+ ///
+ public string ClientID;
+ ///
+ /// Addon status.
+ ///
+ public bool Created;
+ }
+
+ [Serializable]
+ public class NintendoEnvironment : PlayFabBaseModel
+ {
+ ///
+ /// Client ID for the Nintendo Environment.
+ ///
+ public string ClientID;
+ ///
+ /// Client Secret for the Nintendo Environment.
+ ///
+ public string ClientSecret;
+ ///
+ /// ID for the Nintendo Environment.
+ ///
+ public string ID;
+ }
+}
+#endif
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabEvents.cs b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabEvents.cs
new file mode 100644
index 000000000..544f4f350
--- /dev/null
+++ b/ExampleMacProject/Assets/PlayFabSDK/Addon/PlayFabEvents.cs
@@ -0,0 +1,64 @@
+#if !DISABLE_PLAYFABENTITY_API
+using PlayFab.AddonModels;
+
+namespace PlayFab.Events
+{
+ public partial class PlayFabEvents
+ {
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateAppleRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateAppleResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateFacebookRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateFacebookResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateFacebookInstantGamesRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateFacebookInstantGamesResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateGoogleRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateGoogleResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateKongregateRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateKongregateResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateNintendoRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateNintendoResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdatePSNRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdatePSNResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateSteamRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateSteamResultEvent;
+ public event PlayFabRequestEvent OnAddonCreateOrUpdateTwitchRequestEvent;
+ public event PlayFabResultEvent OnAddonCreateOrUpdateTwitchResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteAppleRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteAppleResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteFacebookRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteFacebookResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteFacebookInstantGamesRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteFacebookInstantGamesResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteGoogleRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteGoogleResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteKongregateRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteKongregateResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteNintendoRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteNintendoResultEvent;
+ public event PlayFabRequestEvent OnAddonDeletePSNRequestEvent;
+ public event PlayFabResultEvent OnAddonDeletePSNResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteSteamRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteSteamResultEvent;
+ public event PlayFabRequestEvent OnAddonDeleteTwitchRequestEvent;
+ public event PlayFabResultEvent OnAddonDeleteTwitchResultEvent;
+ public event PlayFabRequestEvent OnAddonGetAppleRequestEvent;
+ public event PlayFabResultEvent OnAddonGetAppleResultEvent;
+ public event PlayFabRequestEvent OnAddonGetFacebookRequestEvent;
+ public event PlayFabResultEvent OnAddonGetFacebookResultEvent;
+ public event PlayFabRequestEvent OnAddonGetFacebookInstantGamesRequestEvent;
+ public event PlayFabResultEvent OnAddonGetFacebookInstantGamesResultEvent;
+ public event PlayFabRequestEvent OnAddonGetGoogleRequestEvent;
+ public event PlayFabResultEvent OnAddonGetGoogleResultEvent;
+ public event PlayFabRequestEvent OnAddonGetKongregateRequestEvent;
+ public event PlayFabResultEvent OnAddonGetKongregateResultEvent;
+ public event PlayFabRequestEvent OnAddonGetNintendoRequestEvent;
+ public event PlayFabResultEvent OnAddonGetNintendoResultEvent;
+ public event PlayFabRequestEvent OnAddonGetPSNRequestEvent;
+ public event PlayFabResultEvent OnAddonGetPSNResultEvent;
+ public event PlayFabRequestEvent OnAddonGetSteamRequestEvent;
+ public event PlayFabResultEvent OnAddonGetSteamResultEvent;
+ public event PlayFabRequestEvent OnAddonGetTwitchRequestEvent;
+ public event PlayFabResultEvent OnAddonGetTwitchResultEvent;
+ }
+}
+#endif
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Admin/PlayFabAdminModels.cs b/ExampleMacProject/Assets/PlayFabSDK/Admin/PlayFabAdminModels.cs
index bfdb92df9..1ff04d1f0 100644
--- a/ExampleMacProject/Assets/PlayFabSDK/Admin/PlayFabAdminModels.cs
+++ b/ExampleMacProject/Assets/PlayFabSDK/Admin/PlayFabAdminModels.cs
@@ -2916,6 +2916,12 @@ public enum GenericErrorCodes
GameSaveManifestNotFound,
GameSaveManifestVersionAlreadyExists,
GameSaveConflictUpdatingManifest,
+ GameSaveManifestUpdatesNotAllowed,
+ GameSaveFileAlreadyExists,
+ GameSaveManifestVersionNotFinalized,
+ GameSaveUnknownFileInManifest,
+ GameSaveFileExceededReportedSize,
+ GameSaveFileNotUploaded,
StateShareForbidden,
StateShareTitleNotInFlight,
StateShareStateNotFound,
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Client/PlayFabClientModels.cs b/ExampleMacProject/Assets/PlayFabSDK/Client/PlayFabClientModels.cs
index 1b3801857..5a8585474 100644
--- a/ExampleMacProject/Assets/PlayFabSDK/Client/PlayFabClientModels.cs
+++ b/ExampleMacProject/Assets/PlayFabSDK/Client/PlayFabClientModels.cs
@@ -1914,8 +1914,9 @@ public class GetFriendsListRequest : PlayFabRequestCommon
///
/// 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.
///
[Serializable]
public class GetFriendsListResult : PlayFabResultCommon
@@ -4071,7 +4072,8 @@ public class LoginWithFacebookInstantGamesIdRequest : PlayFabRequestCommon
/// 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.
///
[Serializable]
public class LoginWithFacebookRequest : PlayFabRequestCommon
@@ -4081,6 +4083,10 @@ public class LoginWithFacebookRequest : PlayFabRequestCommon
///
public string AccessToken;
///
+ /// Token used for limited login authentication.
+ ///
+ public string AuthenticationToken;
+ ///
/// Automatically create a PlayFab account if one is not currently linked to this ID.
///
public bool? CreateAccount;
diff --git a/ExampleMacProject/Assets/PlayFabSDK/Leaderboards/PlayFabEvents.cs b/ExampleMacProject/Assets/PlayFabSDK/Leaderboards/PlayFabEvents.cs
deleted file mode 100644
index 66e6508e6..000000000
--- a/ExampleMacProject/Assets/PlayFabSDK/Leaderboards/PlayFabEvents.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-#if !DISABLE_PLAYFABENTITY_API
-using PlayFab.LeaderboardsModels;
-
-namespace PlayFab.Events
-{
- public partial class PlayFabEvents
- {
- public event PlayFabRequestEvent OnLeaderboardsCreateLeaderboardDefinitionRequestEvent;
- public event PlayFabResultEvent OnLeaderboardsCreateLeaderboardDefinitionResultEvent;
- public event PlayFabRequestEvent OnLeaderboardsCreateStatisticDefinitionRequestEvent;
- public event PlayFabResultEvent OnLeaderboardsCreateStatisticDefinitionResultEvent;
- public event PlayFabRequestEvent OnLeaderboardsDeleteLeaderboardDefinitionRequestEvent;
- public event PlayFabResultEvent OnLeaderboardsDeleteLeaderboardDefinitionResultEvent;
- public event PlayFabRequestEvent OnLeaderboardsDeleteLeaderboardEntriesRequestEvent;
- public event PlayFabResultEvent