From 8daac2c4c7a38fbc176a2a49562b4de771fe7530 Mon Sep 17 00:00:00 2001 From: PlayFab Jenkins Bot Date: Tue, 21 Apr 2020 19:13:40 +0000 Subject: [PATCH] https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#200421 --- code/include/playfab/PlayFabAdminDataModels.h | 11 + code/include/playfab/PlayFabClientApi.h | 14 +- .../include/playfab/PlayFabClientDataModels.h | 640 +++++++++++++++++- .../playfab/PlayFabClientInstanceApi.h | 14 +- code/include/playfab/PlayFabError.h | 1 + code/include/playfab/PlayFabEventPipeline.h | 6 + code/include/playfab/PlayFabMultiplayerApi.h | 2 + .../playfab/PlayFabMultiplayerDataModels.h | 29 + .../playfab/PlayFabMultiplayerInstanceApi.h | 2 + .../include/playfab/PlayFabServerDataModels.h | 11 + code/source/playfab/PlayFabClientApi.cpp | 303 ++++++++- .../playfab/PlayFabClientInstanceApi.cpp | 309 ++++++++- code/source/playfab/PlayFabEventPipeline.cpp | 3 + code/source/playfab/PlayFabMultiplayerApi.cpp | 49 ++ .../playfab/PlayFabMultiplayerInstanceApi.cpp | 50 ++ code/source/playfab/PlayFabSettings.cpp | 6 +- com.playfab.xplatcppsdk.v141.autopkg | 4 +- com.playfab.xplatxboxsdk.v141.autopkg | 4 +- 18 files changed, 1418 insertions(+), 40 deletions(-) diff --git a/code/include/playfab/PlayFabAdminDataModels.h b/code/include/playfab/PlayFabAdminDataModels.h index 86d86cb2..107a06c4 100644 --- a/code/include/playfab/PlayFabAdminDataModels.h +++ b/code/include/playfab/PlayFabAdminDataModels.h @@ -5388,6 +5388,7 @@ namespace PlayFab GenericErrorCodesPartyRequestsThrottledFromRateLimiter, GenericErrorCodesXboxServiceTooManyRequests, GenericErrorCodesNintendoSwitchNotEnabledForTitle, + GenericErrorCodesRequestMultiplayerServersThrottledFromRateLimiter, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -7955,6 +7956,11 @@ namespace PlayFab output = Json::Value("NintendoSwitchNotEnabledForTitle"); return; } + if (input == GenericErrorCodes::GenericErrorCodesRequestMultiplayerServersThrottledFromRateLimiter) + { + output = Json::Value("RequestMultiplayerServersThrottledFromRateLimiter"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -10858,6 +10864,11 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesNintendoSwitchNotEnabledForTitle; return; } + if (inputStr == "RequestMultiplayerServersThrottledFromRateLimiter") + { + output = GenericErrorCodes::GenericErrorCodesRequestMultiplayerServersThrottledFromRateLimiter; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; diff --git a/code/include/playfab/PlayFabClientApi.h b/code/include/playfab/PlayFabClientApi.h index 0e38c70a..132760b1 100644 --- a/code/include/playfab/PlayFabClientApi.h +++ b/code/include/playfab/PlayFabClientApi.h @@ -41,6 +41,7 @@ namespace PlayFab static void CreateSharedGroup(ClientModels::CreateSharedGroupRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void ExecuteCloudScript(ClientModels::ExecuteCloudScriptRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetAccountInfo(ClientModels::GetAccountInfoRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void GetAdPlacements(ClientModels::GetAdPlacementsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetAllUsersCharacters(ClientModels::ListUsersCharactersRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetCatalogItems(ClientModels::GetCatalogItemsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetCharacterData(ClientModels::GetCharacterDataRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -103,6 +104,7 @@ namespace PlayFab static void LinkGoogleAccount(ClientModels::LinkGoogleAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LinkIOSDeviceID(ClientModels::LinkIOSDeviceIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LinkKongregate(ClientModels::LinkKongregateAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void LinkNintendoSwitchAccount(ClientModels::LinkNintendoSwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LinkNintendoSwitchDeviceId(ClientModels::LinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LinkOpenIdConnect(ClientModels::LinkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LinkPSNAccount(ClientModels::LinkPSNAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -120,6 +122,7 @@ namespace PlayFab static void LoginWithGoogleAccount(ClientModels::LoginWithGoogleAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LoginWithIOSDeviceID(ClientModels::LoginWithIOSDeviceIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LoginWithKongregate(ClientModels::LoginWithKongregateRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void LoginWithNintendoSwitchAccount(ClientModels::LoginWithNintendoSwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LoginWithNintendoSwitchDeviceId(ClientModels::LoginWithNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LoginWithOpenIdConnect(ClientModels::LoginWithOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void LoginWithPlayFab(ClientModels::LoginWithPlayFabRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -141,9 +144,11 @@ namespace PlayFab static void RemoveFriend(ClientModels::RemoveFriendRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void RemoveGenericID(ClientModels::RemoveGenericIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void RemoveSharedGroupMembers(ClientModels::RemoveSharedGroupMembersRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void ReportAdActivity(ClientModels::ReportAdActivityRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void ReportDeviceInfo(ClientModels::DeviceInfoRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void ReportPlayer(ClientModels::ReportPlayerClientRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void RestoreIOSPurchases(ClientModels::RestoreIOSPurchasesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void RewardAdActivity(ClientModels::RewardAdActivityRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void SendAccountRecoveryEmail(ClientModels::SendAccountRecoveryEmailRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void SetFriendTags(ClientModels::SetFriendTagsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void SetPlayerSecret(ClientModels::SetPlayerSecretRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -159,8 +164,9 @@ namespace PlayFab static void UnlinkGoogleAccount(ClientModels::UnlinkGoogleAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void UnlinkIOSDeviceID(ClientModels::UnlinkIOSDeviceIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void UnlinkKongregate(ClientModels::UnlinkKongregateAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void UnlinkNintendoSwitchAccount(ClientModels::UnlinkNintendoSwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void UnlinkNintendoSwitchDeviceId(ClientModels::UnlinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); - static void UnlinkOpenIdConnect(ClientModels::UninkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void UnlinkOpenIdConnect(ClientModels::UnlinkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void UnlinkPSNAccount(ClientModels::UnlinkPSNAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void UnlinkSteamAccount(ClientModels::UnlinkSteamAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void UnlinkTwitch(ClientModels::UnlinkTwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -206,6 +212,7 @@ namespace PlayFab static void OnCreateSharedGroupResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnExecuteCloudScriptResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetAccountInfoResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnGetAdPlacementsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetAllUsersCharactersResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetCatalogItemsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetCharacterDataResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -268,6 +275,7 @@ namespace PlayFab static void OnLinkGoogleAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLinkIOSDeviceIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLinkKongregateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnLinkNintendoSwitchAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLinkNintendoSwitchDeviceIdResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLinkOpenIdConnectResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLinkPSNAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -285,6 +293,7 @@ namespace PlayFab static void OnLoginWithGoogleAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLoginWithIOSDeviceIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLoginWithKongregateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnLoginWithNintendoSwitchAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLoginWithNintendoSwitchDeviceIdResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLoginWithOpenIdConnectResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnLoginWithPlayFabResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -306,9 +315,11 @@ namespace PlayFab static void OnRemoveFriendResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnRemoveGenericIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnRemoveSharedGroupMembersResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnReportAdActivityResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnReportDeviceInfoResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnReportPlayerResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnRestoreIOSPurchasesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnRewardAdActivityResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnSendAccountRecoveryEmailResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnSetFriendTagsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnSetPlayerSecretResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -324,6 +335,7 @@ namespace PlayFab static void OnUnlinkGoogleAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnUnlinkIOSDeviceIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnUnlinkKongregateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnUnlinkNintendoSwitchAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnUnlinkNintendoSwitchDeviceIdResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnUnlinkOpenIdConnectResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnUnlinkPSNAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabClientDataModels.h b/code/include/playfab/PlayFabClientDataModels.h index 5fe8c5a5..fcfbfbf1 100644 --- a/code/include/playfab/PlayFabClientDataModels.h +++ b/code/include/playfab/PlayFabClientDataModels.h @@ -10,6 +10,66 @@ namespace PlayFab namespace ClientModels { // Client Enums + enum class AdActivity + { + AdActivityOpened, + AdActivityClosed, + AdActivityStart, + AdActivityEnd + }; + + inline void ToJsonEnum(const AdActivity input, Json::Value& output) + { + if (input == AdActivity::AdActivityOpened) + { + output = Json::Value("Opened"); + return; + } + if (input == AdActivity::AdActivityClosed) + { + output = Json::Value("Closed"); + return; + } + if (input == AdActivity::AdActivityStart) + { + output = Json::Value("Start"); + return; + } + if (input == AdActivity::AdActivityEnd) + { + output = Json::Value("End"); + return; + } + } + inline void FromJsonEnum(const Json::Value& input, AdActivity& output) + { + if (!input.isString()) + { + return; + } + const std::string& inputStr = input.asString(); + if (inputStr == "Opened") + { + output = AdActivity::AdActivityOpened; + return; + } + if (inputStr == "Closed") + { + output = AdActivity::AdActivityClosed; + return; + } + if (inputStr == "Start") + { + output = AdActivity::AdActivityStart; + return; + } + if (inputStr == "End") + { + output = AdActivity::AdActivityEnd; + return; + } + } + enum class CloudScriptRevisionOption { CloudScriptRevisionOptionLive, @@ -6726,6 +6786,153 @@ namespace PlayFab } }; + struct AdPlacementDetails : public PlayFabBaseModel + { + std::string PlacementId; + std::string PlacementName; + Boxed PlacementViewsRemaining; + Boxed PlacementViewsResetMinutes; + std::string RewardAssetUrl; + std::string RewardDescription; + std::string RewardId; + std::string RewardName; + + AdPlacementDetails() : + PlayFabBaseModel(), + PlacementId(), + PlacementName(), + PlacementViewsRemaining(), + PlacementViewsResetMinutes(), + RewardAssetUrl(), + RewardDescription(), + RewardId(), + RewardName() + {} + + AdPlacementDetails(const AdPlacementDetails& src) : + PlayFabBaseModel(), + PlacementId(src.PlacementId), + PlacementName(src.PlacementName), + PlacementViewsRemaining(src.PlacementViewsRemaining), + PlacementViewsResetMinutes(src.PlacementViewsResetMinutes), + RewardAssetUrl(src.RewardAssetUrl), + RewardDescription(src.RewardDescription), + RewardId(src.RewardId), + RewardName(src.RewardName) + {} + + ~AdPlacementDetails() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["PlacementId"], PlacementId); + FromJsonUtilS(input["PlacementName"], PlacementName); + FromJsonUtilP(input["PlacementViewsRemaining"], PlacementViewsRemaining); + FromJsonUtilP(input["PlacementViewsResetMinutes"], PlacementViewsResetMinutes); + FromJsonUtilS(input["RewardAssetUrl"], RewardAssetUrl); + FromJsonUtilS(input["RewardDescription"], RewardDescription); + FromJsonUtilS(input["RewardId"], RewardId); + FromJsonUtilS(input["RewardName"], RewardName); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_PlacementId; ToJsonUtilS(PlacementId, each_PlacementId); output["PlacementId"] = each_PlacementId; + Json::Value each_PlacementName; ToJsonUtilS(PlacementName, each_PlacementName); output["PlacementName"] = each_PlacementName; + Json::Value each_PlacementViewsRemaining; ToJsonUtilP(PlacementViewsRemaining, each_PlacementViewsRemaining); output["PlacementViewsRemaining"] = each_PlacementViewsRemaining; + Json::Value each_PlacementViewsResetMinutes; ToJsonUtilP(PlacementViewsResetMinutes, each_PlacementViewsResetMinutes); output["PlacementViewsResetMinutes"] = each_PlacementViewsResetMinutes; + Json::Value each_RewardAssetUrl; ToJsonUtilS(RewardAssetUrl, each_RewardAssetUrl); output["RewardAssetUrl"] = each_RewardAssetUrl; + Json::Value each_RewardDescription; ToJsonUtilS(RewardDescription, each_RewardDescription); output["RewardDescription"] = each_RewardDescription; + Json::Value each_RewardId; ToJsonUtilS(RewardId, each_RewardId); output["RewardId"] = each_RewardId; + Json::Value each_RewardName; ToJsonUtilS(RewardName, each_RewardName); output["RewardName"] = each_RewardName; + return output; + } + }; + + struct AdRewardItemGranted : public PlayFabBaseModel + { + std::string CatalogId; + std::string DisplayName; + std::string InstanceId; + std::string ItemId; + + AdRewardItemGranted() : + PlayFabBaseModel(), + CatalogId(), + DisplayName(), + InstanceId(), + ItemId() + {} + + AdRewardItemGranted(const AdRewardItemGranted& src) : + PlayFabBaseModel(), + CatalogId(src.CatalogId), + DisplayName(src.DisplayName), + InstanceId(src.InstanceId), + ItemId(src.ItemId) + {} + + ~AdRewardItemGranted() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["CatalogId"], CatalogId); + FromJsonUtilS(input["DisplayName"], DisplayName); + FromJsonUtilS(input["InstanceId"], InstanceId); + FromJsonUtilS(input["ItemId"], ItemId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_CatalogId; ToJsonUtilS(CatalogId, each_CatalogId); output["CatalogId"] = each_CatalogId; + Json::Value each_DisplayName; ToJsonUtilS(DisplayName, each_DisplayName); output["DisplayName"] = each_DisplayName; + Json::Value each_InstanceId; ToJsonUtilS(InstanceId, each_InstanceId); output["InstanceId"] = each_InstanceId; + Json::Value each_ItemId; ToJsonUtilS(ItemId, each_ItemId); output["ItemId"] = each_ItemId; + return output; + } + }; + + struct AdRewardResults : public PlayFabBaseModel + { + std::list GrantedItems; + std::map GrantedVirtualCurrencies; + std::map IncrementedStatistics; + + AdRewardResults() : + PlayFabBaseModel(), + GrantedItems(), + GrantedVirtualCurrencies(), + IncrementedStatistics() + {} + + AdRewardResults(const AdRewardResults& src) : + PlayFabBaseModel(), + GrantedItems(src.GrantedItems), + GrantedVirtualCurrencies(src.GrantedVirtualCurrencies), + IncrementedStatistics(src.IncrementedStatistics) + {} + + ~AdRewardResults() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilO(input["GrantedItems"], GrantedItems); + FromJsonUtilP(input["GrantedVirtualCurrencies"], GrantedVirtualCurrencies); + FromJsonUtilP(input["IncrementedStatistics"], IncrementedStatistics); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_GrantedItems; ToJsonUtilO(GrantedItems, each_GrantedItems); output["GrantedItems"] = each_GrantedItems; + Json::Value each_GrantedVirtualCurrencies; ToJsonUtilP(GrantedVirtualCurrencies, each_GrantedVirtualCurrencies); output["GrantedVirtualCurrencies"] = each_GrantedVirtualCurrencies; + Json::Value each_IncrementedStatistics; ToJsonUtilP(IncrementedStatistics, each_IncrementedStatistics); output["IncrementedStatistics"] = each_IncrementedStatistics; + return output; + } + }; + struct AndroidDevicePushNotificationRegistrationRequest : public PlayFabRequestCommon { std::string ConfirmationMessage; @@ -10067,6 +10274,103 @@ namespace PlayFab } }; + struct NameIdentifier : public PlayFabBaseModel + { + std::string Id; + std::string Name; + + NameIdentifier() : + PlayFabBaseModel(), + Id(), + Name() + {} + + NameIdentifier(const NameIdentifier& src) : + PlayFabBaseModel(), + Id(src.Id), + Name(src.Name) + {} + + ~NameIdentifier() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["Id"], Id); + FromJsonUtilS(input["Name"], Name); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Id; ToJsonUtilS(Id, each_Id); output["Id"] = each_Id; + Json::Value each_Name; ToJsonUtilS(Name, each_Name); output["Name"] = each_Name; + return output; + } + }; + + struct GetAdPlacementsRequest : public PlayFabRequestCommon + { + std::string AppId; + Boxed Identifier; + + GetAdPlacementsRequest() : + PlayFabRequestCommon(), + AppId(), + Identifier() + {} + + GetAdPlacementsRequest(const GetAdPlacementsRequest& src) : + PlayFabRequestCommon(), + AppId(src.AppId), + Identifier(src.Identifier) + {} + + ~GetAdPlacementsRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["AppId"], AppId); + FromJsonUtilO(input["Identifier"], Identifier); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_AppId; ToJsonUtilS(AppId, each_AppId); output["AppId"] = each_AppId; + Json::Value each_Identifier; ToJsonUtilO(Identifier, each_Identifier); output["Identifier"] = each_Identifier; + return output; + } + }; + + struct GetAdPlacementsResult : public PlayFabResultCommon + { + std::list AdPlacements; + + GetAdPlacementsResult() : + PlayFabResultCommon(), + AdPlacements() + {} + + GetAdPlacementsResult(const GetAdPlacementsResult& src) : + PlayFabResultCommon(), + AdPlacements(src.AdPlacements) + {} + + ~GetAdPlacementsResult() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilO(input["AdPlacements"], AdPlacements); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_AdPlacements; ToJsonUtilO(AdPlacements, each_AdPlacements); output["AdPlacements"] = each_AdPlacements; + return output; + } + }; + struct GetCatalogItemsRequest : public PlayFabRequestCommon { std::string CatalogVersion; @@ -14697,6 +15001,45 @@ namespace PlayFab } }; + struct LinkNintendoSwitchAccountRequest : public PlayFabRequestCommon + { + std::string EnvironmentId; + Boxed ForceLink; + std::string IdentityToken; + + LinkNintendoSwitchAccountRequest() : + PlayFabRequestCommon(), + EnvironmentId(), + ForceLink(), + IdentityToken() + {} + + LinkNintendoSwitchAccountRequest(const LinkNintendoSwitchAccountRequest& src) : + PlayFabRequestCommon(), + EnvironmentId(src.EnvironmentId), + ForceLink(src.ForceLink), + IdentityToken(src.IdentityToken) + {} + + ~LinkNintendoSwitchAccountRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["EnvironmentId"], EnvironmentId); + FromJsonUtilP(input["ForceLink"], ForceLink); + FromJsonUtilS(input["IdentityToken"], IdentityToken); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_EnvironmentId; ToJsonUtilS(EnvironmentId, each_EnvironmentId); output["EnvironmentId"] = each_EnvironmentId; + Json::Value each_ForceLink; ToJsonUtilP(ForceLink, each_ForceLink); output["ForceLink"] = each_ForceLink; + Json::Value each_IdentityToken; ToJsonUtilS(IdentityToken, each_IdentityToken); output["IdentityToken"] = each_IdentityToken; + return output; + } + }; + struct LinkNintendoSwitchDeviceIdRequest : public PlayFabRequestCommon { Boxed ForceLink; @@ -15908,6 +16251,65 @@ namespace PlayFab } }; + struct LoginWithNintendoSwitchAccountRequest : public PlayFabRequestCommon + { + Boxed CreateAccount; + std::string EncryptedRequest; + std::string EnvironmentId; + std::string IdentityToken; + Boxed InfoRequestParameters; + std::string PlayerSecret; + std::string TitleId; + + LoginWithNintendoSwitchAccountRequest() : + PlayFabRequestCommon(), + CreateAccount(), + EncryptedRequest(), + EnvironmentId(), + IdentityToken(), + InfoRequestParameters(), + PlayerSecret(), + TitleId() + {} + + LoginWithNintendoSwitchAccountRequest(const LoginWithNintendoSwitchAccountRequest& src) : + PlayFabRequestCommon(), + CreateAccount(src.CreateAccount), + EncryptedRequest(src.EncryptedRequest), + EnvironmentId(src.EnvironmentId), + IdentityToken(src.IdentityToken), + InfoRequestParameters(src.InfoRequestParameters), + PlayerSecret(src.PlayerSecret), + TitleId(src.TitleId) + {} + + ~LoginWithNintendoSwitchAccountRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilP(input["CreateAccount"], CreateAccount); + FromJsonUtilS(input["EncryptedRequest"], EncryptedRequest); + FromJsonUtilS(input["EnvironmentId"], EnvironmentId); + FromJsonUtilS(input["IdentityToken"], IdentityToken); + FromJsonUtilO(input["InfoRequestParameters"], InfoRequestParameters); + FromJsonUtilS(input["PlayerSecret"], PlayerSecret); + FromJsonUtilS(input["TitleId"], TitleId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_CreateAccount; ToJsonUtilP(CreateAccount, each_CreateAccount); output["CreateAccount"] = each_CreateAccount; + Json::Value each_EncryptedRequest; ToJsonUtilS(EncryptedRequest, each_EncryptedRequest); output["EncryptedRequest"] = each_EncryptedRequest; + Json::Value each_EnvironmentId; ToJsonUtilS(EnvironmentId, each_EnvironmentId); output["EnvironmentId"] = each_EnvironmentId; + Json::Value each_IdentityToken; ToJsonUtilS(IdentityToken, each_IdentityToken); output["IdentityToken"] = each_IdentityToken; + Json::Value each_InfoRequestParameters; ToJsonUtilO(InfoRequestParameters, each_InfoRequestParameters); output["InfoRequestParameters"] = each_InfoRequestParameters; + Json::Value each_PlayerSecret; ToJsonUtilS(PlayerSecret, each_PlayerSecret); output["PlayerSecret"] = each_PlayerSecret; + Json::Value each_TitleId; ToJsonUtilS(TitleId, each_TitleId); output["TitleId"] = each_TitleId; + return output; + } + }; + struct LoginWithNintendoSwitchDeviceIdRequest : public PlayFabRequestCommon { Boxed CreateAccount; @@ -17428,6 +17830,69 @@ namespace PlayFab } }; + struct ReportAdActivityRequest : public PlayFabRequestCommon + { + AdActivity Activity; + std::string PlacementId; + std::string RewardId; + + ReportAdActivityRequest() : + PlayFabRequestCommon(), + Activity(), + PlacementId(), + RewardId() + {} + + ReportAdActivityRequest(const ReportAdActivityRequest& src) : + PlayFabRequestCommon(), + Activity(src.Activity), + PlacementId(src.PlacementId), + RewardId(src.RewardId) + {} + + ~ReportAdActivityRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonEnum(input["Activity"], Activity); + FromJsonUtilS(input["PlacementId"], PlacementId); + FromJsonUtilS(input["RewardId"], RewardId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Activity; ToJsonEnum(Activity, each_Activity); output["Activity"] = each_Activity; + Json::Value each_PlacementId; ToJsonUtilS(PlacementId, each_PlacementId); output["PlacementId"] = each_PlacementId; + Json::Value each_RewardId; ToJsonUtilS(RewardId, each_RewardId); output["RewardId"] = each_RewardId; + return output; + } + }; + + struct ReportAdActivityResult : public PlayFabResultCommon + { + + ReportAdActivityResult() : + PlayFabResultCommon() + {} + + ReportAdActivityResult(const ReportAdActivityResult&) : + PlayFabResultCommon() + {} + + ~ReportAdActivityResult() = default; + + void FromJson(const Json::Value&) override + { + } + + Json::Value ToJson() const override + { + Json::Value output; + return output; + } + }; + struct ReportPlayerClientRequest : public PlayFabRequestCommon { std::string Comment; @@ -17554,6 +18019,99 @@ namespace PlayFab } }; + struct RewardAdActivityRequest : public PlayFabRequestCommon + { + std::string PlacementId; + std::string RewardId; + + RewardAdActivityRequest() : + PlayFabRequestCommon(), + PlacementId(), + RewardId() + {} + + RewardAdActivityRequest(const RewardAdActivityRequest& src) : + PlayFabRequestCommon(), + PlacementId(src.PlacementId), + RewardId(src.RewardId) + {} + + ~RewardAdActivityRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["PlacementId"], PlacementId); + FromJsonUtilS(input["RewardId"], RewardId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_PlacementId; ToJsonUtilS(PlacementId, each_PlacementId); output["PlacementId"] = each_PlacementId; + Json::Value each_RewardId; ToJsonUtilS(RewardId, each_RewardId); output["RewardId"] = each_RewardId; + return output; + } + }; + + struct RewardAdActivityResult : public PlayFabResultCommon + { + std::string AdActivityEventId; + std::list DebugResults; + std::string PlacementId; + std::string PlacementName; + Boxed PlacementViewsRemaining; + Boxed PlacementViewsResetMinutes; + Boxed RewardResults; + + RewardAdActivityResult() : + PlayFabResultCommon(), + AdActivityEventId(), + DebugResults(), + PlacementId(), + PlacementName(), + PlacementViewsRemaining(), + PlacementViewsResetMinutes(), + RewardResults() + {} + + RewardAdActivityResult(const RewardAdActivityResult& src) : + PlayFabResultCommon(), + AdActivityEventId(src.AdActivityEventId), + DebugResults(src.DebugResults), + PlacementId(src.PlacementId), + PlacementName(src.PlacementName), + PlacementViewsRemaining(src.PlacementViewsRemaining), + PlacementViewsResetMinutes(src.PlacementViewsResetMinutes), + RewardResults(src.RewardResults) + {} + + ~RewardAdActivityResult() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["AdActivityEventId"], AdActivityEventId); + FromJsonUtilS(input["DebugResults"], DebugResults); + FromJsonUtilS(input["PlacementId"], PlacementId); + FromJsonUtilS(input["PlacementName"], PlacementName); + FromJsonUtilP(input["PlacementViewsRemaining"], PlacementViewsRemaining); + FromJsonUtilP(input["PlacementViewsResetMinutes"], PlacementViewsResetMinutes); + FromJsonUtilO(input["RewardResults"], RewardResults); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_AdActivityEventId; ToJsonUtilS(AdActivityEventId, each_AdActivityEventId); output["AdActivityEventId"] = each_AdActivityEventId; + Json::Value each_DebugResults; ToJsonUtilS(DebugResults, each_DebugResults); output["DebugResults"] = each_DebugResults; + Json::Value each_PlacementId; ToJsonUtilS(PlacementId, each_PlacementId); output["PlacementId"] = each_PlacementId; + Json::Value each_PlacementName; ToJsonUtilS(PlacementName, each_PlacementName); output["PlacementName"] = each_PlacementName; + Json::Value each_PlacementViewsRemaining; ToJsonUtilP(PlacementViewsRemaining, each_PlacementViewsRemaining); output["PlacementViewsRemaining"] = each_PlacementViewsRemaining; + Json::Value each_PlacementViewsResetMinutes; ToJsonUtilP(PlacementViewsResetMinutes, each_PlacementViewsResetMinutes); output["PlacementViewsResetMinutes"] = each_PlacementViewsResetMinutes; + Json::Value each_RewardResults; ToJsonUtilO(RewardResults, each_RewardResults); output["RewardResults"] = each_RewardResults; + return output; + } + }; + struct SendAccountRecoveryEmailRequest : public PlayFabRequestCommon { std::string Email; @@ -18007,35 +18565,6 @@ namespace PlayFab } }; - struct UninkOpenIdConnectRequest : public PlayFabRequestCommon - { - std::string ConnectionId; - - UninkOpenIdConnectRequest() : - PlayFabRequestCommon(), - ConnectionId() - {} - - UninkOpenIdConnectRequest(const UninkOpenIdConnectRequest& src) : - PlayFabRequestCommon(), - ConnectionId(src.ConnectionId) - {} - - ~UninkOpenIdConnectRequest() = default; - - void FromJson(const Json::Value& input) override - { - FromJsonUtilS(input["ConnectionId"], ConnectionId); - } - - Json::Value ToJson() const override - { - Json::Value output; - Json::Value each_ConnectionId; ToJsonUtilS(ConnectionId, each_ConnectionId); output["ConnectionId"] = each_ConnectionId; - return output; - } - }; - struct UnlinkAndroidDeviceIDRequest : public PlayFabRequestCommon { std::string AndroidDeviceId; @@ -18464,6 +18993,30 @@ namespace PlayFab } }; + struct UnlinkNintendoSwitchAccountRequest : public PlayFabRequestCommon + { + + UnlinkNintendoSwitchAccountRequest() : + PlayFabRequestCommon() + {} + + UnlinkNintendoSwitchAccountRequest(const UnlinkNintendoSwitchAccountRequest&) : + PlayFabRequestCommon() + {} + + ~UnlinkNintendoSwitchAccountRequest() = default; + + void FromJson(const Json::Value&) override + { + } + + Json::Value ToJson() const override + { + Json::Value output; + return output; + } + }; + struct UnlinkNintendoSwitchDeviceIdRequest : public PlayFabRequestCommon { std::string NintendoSwitchDeviceId; @@ -18517,6 +19070,35 @@ namespace PlayFab } }; + struct UnlinkOpenIdConnectRequest : public PlayFabRequestCommon + { + std::string ConnectionId; + + UnlinkOpenIdConnectRequest() : + PlayFabRequestCommon(), + ConnectionId() + {} + + UnlinkOpenIdConnectRequest(const UnlinkOpenIdConnectRequest& src) : + PlayFabRequestCommon(), + ConnectionId(src.ConnectionId) + {} + + ~UnlinkOpenIdConnectRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["ConnectionId"], ConnectionId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_ConnectionId; ToJsonUtilS(ConnectionId, each_ConnectionId); output["ConnectionId"] = each_ConnectionId; + return output; + } + }; + struct UnlinkPSNAccountRequest : public PlayFabRequestCommon { diff --git a/code/include/playfab/PlayFabClientInstanceApi.h b/code/include/playfab/PlayFabClientInstanceApi.h index 109b0c72..f031ecec 100644 --- a/code/include/playfab/PlayFabClientInstanceApi.h +++ b/code/include/playfab/PlayFabClientInstanceApi.h @@ -59,6 +59,7 @@ namespace PlayFab void CreateSharedGroup(ClientModels::CreateSharedGroupRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void ExecuteCloudScript(ClientModels::ExecuteCloudScriptRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetAccountInfo(ClientModels::GetAccountInfoRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void GetAdPlacements(ClientModels::GetAdPlacementsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetAllUsersCharacters(ClientModels::ListUsersCharactersRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetCatalogItems(ClientModels::GetCatalogItemsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetCharacterData(ClientModels::GetCharacterDataRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -121,6 +122,7 @@ namespace PlayFab void LinkGoogleAccount(ClientModels::LinkGoogleAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LinkIOSDeviceID(ClientModels::LinkIOSDeviceIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LinkKongregate(ClientModels::LinkKongregateAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void LinkNintendoSwitchAccount(ClientModels::LinkNintendoSwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LinkNintendoSwitchDeviceId(ClientModels::LinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LinkOpenIdConnect(ClientModels::LinkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LinkPSNAccount(ClientModels::LinkPSNAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -138,6 +140,7 @@ namespace PlayFab void LoginWithGoogleAccount(ClientModels::LoginWithGoogleAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LoginWithIOSDeviceID(ClientModels::LoginWithIOSDeviceIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LoginWithKongregate(ClientModels::LoginWithKongregateRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void LoginWithNintendoSwitchAccount(ClientModels::LoginWithNintendoSwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LoginWithNintendoSwitchDeviceId(ClientModels::LoginWithNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LoginWithOpenIdConnect(ClientModels::LoginWithOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void LoginWithPlayFab(ClientModels::LoginWithPlayFabRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -159,9 +162,11 @@ namespace PlayFab void RemoveFriend(ClientModels::RemoveFriendRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void RemoveGenericID(ClientModels::RemoveGenericIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void RemoveSharedGroupMembers(ClientModels::RemoveSharedGroupMembersRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void ReportAdActivity(ClientModels::ReportAdActivityRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void ReportDeviceInfo(ClientModels::DeviceInfoRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void ReportPlayer(ClientModels::ReportPlayerClientRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void RestoreIOSPurchases(ClientModels::RestoreIOSPurchasesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void RewardAdActivity(ClientModels::RewardAdActivityRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void SendAccountRecoveryEmail(ClientModels::SendAccountRecoveryEmailRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void SetFriendTags(ClientModels::SetFriendTagsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void SetPlayerSecret(ClientModels::SetPlayerSecretRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -177,8 +182,9 @@ namespace PlayFab void UnlinkGoogleAccount(ClientModels::UnlinkGoogleAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void UnlinkIOSDeviceID(ClientModels::UnlinkIOSDeviceIDRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void UnlinkKongregate(ClientModels::UnlinkKongregateAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void UnlinkNintendoSwitchAccount(ClientModels::UnlinkNintendoSwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void UnlinkNintendoSwitchDeviceId(ClientModels::UnlinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); - void UnlinkOpenIdConnect(ClientModels::UninkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void UnlinkOpenIdConnect(ClientModels::UnlinkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void UnlinkPSNAccount(ClientModels::UnlinkPSNAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void UnlinkSteamAccount(ClientModels::UnlinkSteamAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void UnlinkTwitch(ClientModels::UnlinkTwitchAccountRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -220,6 +226,7 @@ namespace PlayFab void OnCreateSharedGroupResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnExecuteCloudScriptResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetAccountInfoResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnGetAdPlacementsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetAllUsersCharactersResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetCatalogItemsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetCharacterDataResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -282,6 +289,7 @@ namespace PlayFab void OnLinkGoogleAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLinkIOSDeviceIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLinkKongregateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnLinkNintendoSwitchAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLinkNintendoSwitchDeviceIdResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLinkOpenIdConnectResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLinkPSNAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -299,6 +307,7 @@ namespace PlayFab void OnLoginWithGoogleAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLoginWithIOSDeviceIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLoginWithKongregateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnLoginWithNintendoSwitchAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLoginWithNintendoSwitchDeviceIdResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLoginWithOpenIdConnectResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnLoginWithPlayFabResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -320,9 +329,11 @@ namespace PlayFab void OnRemoveFriendResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnRemoveGenericIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnRemoveSharedGroupMembersResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnReportAdActivityResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnReportDeviceInfoResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnReportPlayerResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnRestoreIOSPurchasesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnRewardAdActivityResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnSendAccountRecoveryEmailResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnSetFriendTagsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnSetPlayerSecretResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); @@ -338,6 +349,7 @@ namespace PlayFab void OnUnlinkGoogleAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnUnlinkIOSDeviceIDResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnUnlinkKongregateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnUnlinkNintendoSwitchAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnUnlinkNintendoSwitchDeviceIdResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnUnlinkOpenIdConnectResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnUnlinkPSNAccountResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabError.h b/code/include/playfab/PlayFabError.h index 047b4f73..eba41988 100644 --- a/code/include/playfab/PlayFabError.h +++ b/code/include/playfab/PlayFabError.h @@ -507,6 +507,7 @@ namespace PlayFab PlayFabErrorPartyRequestsThrottledFromRateLimiter = 1504, PlayFabErrorXboxServiceTooManyRequests = 1505, PlayFabErrorNintendoSwitchNotEnabledForTitle = 1506, + PlayFabErrorRequestMultiplayerServersThrottledFromRateLimiter = 1507, PlayFabErrorMatchmakingEntityInvalid = 2001, PlayFabErrorMatchmakingPlayerAttributesInvalid = 2002, PlayFabErrorMatchmakingQueueNotFound = 2016, diff --git a/code/include/playfab/PlayFabEventPipeline.h b/code/include/playfab/PlayFabEventPipeline.h index 856d0545..351ee372 100644 --- a/code/include/playfab/PlayFabEventPipeline.h +++ b/code/include/playfab/PlayFabEventPipeline.h @@ -23,6 +23,9 @@ namespace PlayFab /// /// Settings for any event pipeline + /// NOTE: settings are expected to be set prior to calling PlayFabEventPipeline::Start() + /// changing them after PlayFabEventPipeline::Start() may cause threading issues + /// users should not expect changes made to settings to take effect after ::Start is called unless the pipeline is destroyed and re-created /// class PlayFabEventPipelineSettings { @@ -66,6 +69,9 @@ namespace PlayFab PlayFabEventPipeline& operator=(const PlayFabEventPipeline& source) = delete; // disable assignment PlayFabEventPipeline& operator=(PlayFabEventPipeline&& other) = delete; // disable move assignment + // NOTE: settings are expected to be set prior to calling PlayFabEventPipeline::Start() + // changing them after PlayFabEventPipeline::Start() may cause threading issues + // users should not expect changes made to settings to take effect after ::Start is called unless the pipeline is destroyed and re-created std::shared_ptr GetSettings() const; virtual void Start() override; virtual void IntakeEvent(std::shared_ptr request) override; diff --git a/code/include/playfab/PlayFabMultiplayerApi.h b/code/include/playfab/PlayFabMultiplayerApi.h index c2880310..cc9e5143 100644 --- a/code/include/playfab/PlayFabMultiplayerApi.h +++ b/code/include/playfab/PlayFabMultiplayerApi.h @@ -37,6 +37,7 @@ namespace PlayFab static void DeleteBuildAlias(MultiplayerModels::DeleteBuildAliasRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void DeleteBuildRegion(MultiplayerModels::DeleteBuildRegionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void DeleteCertificate(MultiplayerModels::DeleteCertificateRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void DeleteContainerImageRepository(MultiplayerModels::DeleteContainerImageRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void DeleteRemoteUser(MultiplayerModels::DeleteRemoteUserRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void EnableMultiplayerServersForTitle(MultiplayerModels::EnableMultiplayerServersForTitleRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetAssetUploadUrl(MultiplayerModels::GetAssetUploadUrlRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -98,6 +99,7 @@ namespace PlayFab static void OnDeleteBuildAliasResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnDeleteBuildRegionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnDeleteCertificateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnDeleteContainerImageRepositoryResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnDeleteRemoteUserResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnEnableMultiplayerServersForTitleResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetAssetUploadUrlResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabMultiplayerDataModels.h b/code/include/playfab/PlayFabMultiplayerDataModels.h index 029e3ae7..2b091bb3 100644 --- a/code/include/playfab/PlayFabMultiplayerDataModels.h +++ b/code/include/playfab/PlayFabMultiplayerDataModels.h @@ -2850,6 +2850,35 @@ namespace PlayFab } }; + struct DeleteContainerImageRequest : public PlayFabRequestCommon + { + std::string ImageName; + + DeleteContainerImageRequest() : + PlayFabRequestCommon(), + ImageName() + {} + + DeleteContainerImageRequest(const DeleteContainerImageRequest& src) : + PlayFabRequestCommon(), + ImageName(src.ImageName) + {} + + ~DeleteContainerImageRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["ImageName"], ImageName); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_ImageName; ToJsonUtilS(ImageName, each_ImageName); output["ImageName"] = each_ImageName; + return output; + } + }; + struct DeleteRemoteUserRequest : public PlayFabRequestCommon { std::string BuildId; diff --git a/code/include/playfab/PlayFabMultiplayerInstanceApi.h b/code/include/playfab/PlayFabMultiplayerInstanceApi.h index a22a4101..3afeb7a1 100644 --- a/code/include/playfab/PlayFabMultiplayerInstanceApi.h +++ b/code/include/playfab/PlayFabMultiplayerInstanceApi.h @@ -53,6 +53,7 @@ namespace PlayFab void DeleteBuildAlias(MultiplayerModels::DeleteBuildAliasRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void DeleteBuildRegion(MultiplayerModels::DeleteBuildRegionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void DeleteCertificate(MultiplayerModels::DeleteCertificateRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void DeleteContainerImageRepository(MultiplayerModels::DeleteContainerImageRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void DeleteRemoteUser(MultiplayerModels::DeleteRemoteUserRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void EnableMultiplayerServersForTitle(MultiplayerModels::EnableMultiplayerServersForTitleRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetAssetUploadUrl(MultiplayerModels::GetAssetUploadUrlRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -110,6 +111,7 @@ namespace PlayFab void OnDeleteBuildAliasResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnDeleteBuildRegionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnDeleteCertificateResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnDeleteContainerImageRepositoryResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnDeleteRemoteUserResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnEnableMultiplayerServersForTitleResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetAssetUploadUrlResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabServerDataModels.h b/code/include/playfab/PlayFabServerDataModels.h index 9e7f3189..cbb12ddd 100644 --- a/code/include/playfab/PlayFabServerDataModels.h +++ b/code/include/playfab/PlayFabServerDataModels.h @@ -5290,6 +5290,7 @@ namespace PlayFab GenericErrorCodesPartyRequestsThrottledFromRateLimiter, GenericErrorCodesXboxServiceTooManyRequests, GenericErrorCodesNintendoSwitchNotEnabledForTitle, + GenericErrorCodesRequestMultiplayerServersThrottledFromRateLimiter, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -7857,6 +7858,11 @@ namespace PlayFab output = Json::Value("NintendoSwitchNotEnabledForTitle"); return; } + if (input == GenericErrorCodes::GenericErrorCodesRequestMultiplayerServersThrottledFromRateLimiter) + { + output = Json::Value("RequestMultiplayerServersThrottledFromRateLimiter"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -10760,6 +10766,11 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesNintendoSwitchNotEnabledForTitle; return; } + if (inputStr == "RequestMultiplayerServersThrottledFromRateLimiter") + { + output = GenericErrorCodes::GenericErrorCodesRequestMultiplayerServersThrottledFromRateLimiter; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; diff --git a/code/source/playfab/PlayFabClientApi.cpp b/code/source/playfab/PlayFabClientApi.cpp index d6d91c36..f3089a91 100644 --- a/code/source/playfab/PlayFabClientApi.cpp +++ b/code/source/playfab/PlayFabClientApi.cpp @@ -863,6 +863,55 @@ namespace PlayFab } } + void PlayFabClientAPI::GetAdPlacements( + GetAdPlacementsRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/GetAdPlacements", + headers, + jsonAsString, + OnGetAdPlacementsResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientAPI::OnGetAdPlacementsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + GetAdPlacementsResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientAPI::GetAllUsersCharacters( ListUsersCharactersRequest& request, const ProcessApiCallback callback, @@ -3899,6 +3948,55 @@ namespace PlayFab } } + void PlayFabClientAPI::LinkNintendoSwitchAccount( + LinkNintendoSwitchAccountRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/LinkNintendoSwitchAccount", + headers, + jsonAsString, + OnLinkNintendoSwitchAccountResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientAPI::OnLinkNintendoSwitchAccountResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + EmptyResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientAPI::LinkNintendoSwitchDeviceId( LinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, @@ -4802,6 +4900,62 @@ namespace PlayFab } } + void PlayFabClientAPI::LoginWithNintendoSwitchAccount( + LoginWithNintendoSwitchAccountRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + if (request.TitleId.empty()) + { + request.TitleId = settings->titleId; + } + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/LoginWithNintendoSwitchAccount", + headers, + jsonAsString, + OnLoginWithNintendoSwitchAccountResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientAPI::OnLoginWithNintendoSwitchAccountResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + LoginResult outResult; + if (ValidateResult(outResult, container)) + { outResult.authenticationContext = std::make_shared(); + outResult.authenticationContext->HandlePlayFabLogin(outResult.PlayFabId, outResult.SessionTicket, outResult.EntityToken->Entity->Id, outResult.EntityToken->Entity->Type, outResult.EntityToken->EntityToken); + context->HandlePlayFabLogin(outResult.PlayFabId, outResult.SessionTicket, outResult.EntityToken->Entity->Id, outResult.EntityToken->Entity->Type, outResult.EntityToken->EntityToken); + MultiStepClientLogin(context, outResult.SettingsForUser->NeedsAttribution); + + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientAPI::LoginWithNintendoSwitchDeviceId( LoginWithNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, @@ -5899,6 +6053,55 @@ namespace PlayFab } } + void PlayFabClientAPI::ReportAdActivity( + ReportAdActivityRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/ReportAdActivity", + headers, + jsonAsString, + OnReportAdActivityResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientAPI::OnReportAdActivityResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + ReportAdActivityResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientAPI::ReportDeviceInfo( DeviceInfoRequest& request, const ProcessApiCallback callback, @@ -6046,6 +6249,55 @@ namespace PlayFab } } + void PlayFabClientAPI::RewardAdActivity( + RewardAdActivityRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/RewardAdActivity", + headers, + jsonAsString, + OnRewardAdActivityResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientAPI::OnRewardAdActivityResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + RewardAdActivityResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientAPI::SendAccountRecoveryEmail( SendAccountRecoveryEmailRequest& request, const ProcessApiCallback callback, @@ -6780,6 +7032,55 @@ namespace PlayFab } } + void PlayFabClientAPI::UnlinkNintendoSwitchAccount( + UnlinkNintendoSwitchAccountRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/UnlinkNintendoSwitchAccount", + headers, + jsonAsString, + OnUnlinkNintendoSwitchAccountResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientAPI::OnUnlinkNintendoSwitchAccountResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + EmptyResponse outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientAPI::UnlinkNintendoSwitchDeviceId( UnlinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, @@ -6830,7 +7131,7 @@ namespace PlayFab } void PlayFabClientAPI::UnlinkOpenIdConnect( - UninkOpenIdConnectRequest& request, + UnlinkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback, void* customData diff --git a/code/source/playfab/PlayFabClientInstanceApi.cpp b/code/source/playfab/PlayFabClientInstanceApi.cpp index 9a6d36b3..3af85499 100644 --- a/code/source/playfab/PlayFabClientInstanceApi.cpp +++ b/code/source/playfab/PlayFabClientInstanceApi.cpp @@ -913,6 +913,56 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::GetAdPlacements( + GetAdPlacementsRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/GetAdPlacements", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnGetAdPlacementsResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientInstanceAPI::OnGetAdPlacementsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + GetAdPlacementsResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientInstanceAPI::GetAllUsersCharacters( ListUsersCharactersRequest& request, const ProcessApiCallback callback, @@ -4011,6 +4061,56 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::LinkNintendoSwitchAccount( + LinkNintendoSwitchAccountRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/LinkNintendoSwitchAccount", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnLinkNintendoSwitchAccountResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientInstanceAPI::OnLinkNintendoSwitchAccountResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + EmptyResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientInstanceAPI::LinkNintendoSwitchDeviceId( LinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, @@ -4931,6 +5031,63 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::LoginWithNintendoSwitchAccount( + LoginWithNintendoSwitchAccountRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + if (request.TitleId.empty()) + { + request.TitleId = settings->titleId; + } + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/LoginWithNintendoSwitchAccount", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnLoginWithNintendoSwitchAccountResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientInstanceAPI::OnLoginWithNintendoSwitchAccountResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + LoginResult outResult; + if (ValidateResult(outResult, container)) + { outResult.authenticationContext = std::make_shared(); + outResult.authenticationContext->HandlePlayFabLogin(outResult.PlayFabId, outResult.SessionTicket, outResult.EntityToken->Entity->Id, outResult.EntityToken->Entity->Type, outResult.EntityToken->EntityToken); + context->HandlePlayFabLogin(outResult.PlayFabId, outResult.SessionTicket, outResult.EntityToken->Entity->Id, outResult.EntityToken->Entity->Type, outResult.EntityToken->EntityToken); + MultiStepClientLogin(context, outResult.SettingsForUser->NeedsAttribution); + + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientInstanceAPI::LoginWithNintendoSwitchDeviceId( LoginWithNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, @@ -6049,6 +6206,56 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::ReportAdActivity( + ReportAdActivityRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/ReportAdActivity", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnReportAdActivityResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientInstanceAPI::OnReportAdActivityResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + ReportAdActivityResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientInstanceAPI::ReportDeviceInfo( DeviceInfoRequest& request, const ProcessApiCallback callback, @@ -6199,6 +6406,56 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::RewardAdActivity( + RewardAdActivityRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/RewardAdActivity", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnRewardAdActivityResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientInstanceAPI::OnRewardAdActivityResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + RewardAdActivityResult outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientInstanceAPI::SendAccountRecoveryEmail( SendAccountRecoveryEmailRequest& request, const ProcessApiCallback callback, @@ -6948,6 +7205,56 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::UnlinkNintendoSwitchAccount( + UnlinkNintendoSwitchAccountRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/UnlinkNintendoSwitchAccount", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnUnlinkNintendoSwitchAccountResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabClientInstanceAPI::OnUnlinkNintendoSwitchAccountResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + EmptyResponse outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabClientInstanceAPI::UnlinkNintendoSwitchDeviceId( UnlinkNintendoSwitchDeviceIdRequest& request, const ProcessApiCallback callback, @@ -6999,7 +7306,7 @@ namespace PlayFab } void PlayFabClientInstanceAPI::UnlinkOpenIdConnect( - UninkOpenIdConnectRequest& request, + UnlinkOpenIdConnectRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback, void* customData diff --git a/code/source/playfab/PlayFabEventPipeline.cpp b/code/source/playfab/PlayFabEventPipeline.cpp index 2491c411..febc15a3 100644 --- a/code/source/playfab/PlayFabEventPipeline.cpp +++ b/code/source/playfab/PlayFabEventPipeline.cpp @@ -69,6 +69,9 @@ namespace PlayFab } } + // NOTE: settings are expected to be set prior to calling PlayFabEventPipeline::Start() + // changing them after PlayFabEventPipeline::Start() may cause threading issues + // users should not expect changes made to settings to take effect after ::Start is called unless the pipeline is destroyed and re-created std::shared_ptr PlayFabEventPipeline::GetSettings() const { return this->settings; diff --git a/code/source/playfab/PlayFabMultiplayerApi.cpp b/code/source/playfab/PlayFabMultiplayerApi.cpp index f3afdfa8..135264d9 100644 --- a/code/source/playfab/PlayFabMultiplayerApi.cpp +++ b/code/source/playfab/PlayFabMultiplayerApi.cpp @@ -813,6 +813,55 @@ namespace PlayFab } } + void PlayFabMultiplayerAPI::DeleteContainerImageRepository( + DeleteContainerImageRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-EntityToken", context->entityToken); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/MultiplayerServer/DeleteContainerImageRepository", + headers, + jsonAsString, + OnDeleteContainerImageRepositoryResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabMultiplayerAPI::OnDeleteContainerImageRepositoryResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + EmptyResponse outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabMultiplayerAPI::DeleteRemoteUser( DeleteRemoteUserRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabMultiplayerInstanceApi.cpp b/code/source/playfab/PlayFabMultiplayerInstanceApi.cpp index c0368a28..f061edcc 100644 --- a/code/source/playfab/PlayFabMultiplayerInstanceApi.cpp +++ b/code/source/playfab/PlayFabMultiplayerInstanceApi.cpp @@ -859,6 +859,56 @@ namespace PlayFab } } + void PlayFabMultiplayerInstanceAPI::DeleteContainerImageRepository( + DeleteContainerImageRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-EntityToken", context->entityToken); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/MultiplayerServer/DeleteContainerImageRepository", + headers, + jsonAsString, + std::bind(&PlayFabMultiplayerInstanceAPI::OnDeleteContainerImageRepositoryResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabMultiplayerInstanceAPI::OnDeleteContainerImageRepositoryResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + EmptyResponse outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabMultiplayerInstanceAPI::DeleteRemoteUser( DeleteRemoteUserRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabSettings.cpp b/code/source/playfab/PlayFabSettings.cpp index 7adbabb6..bfa4d685 100644 --- a/code/source/playfab/PlayFabSettings.cpp +++ b/code/source/playfab/PlayFabSettings.cpp @@ -6,9 +6,9 @@ namespace PlayFab { // Control whether all callbacks are threaded or whether the user manually controls callback timing from their main-thread bool PlayFabSettings::threadedCallbacks = false; - const std::string PlayFabSettings::sdkVersion = "3.27.200402"; - const std::string PlayFabSettings::buildIdentifier = "jbuild_xplatcppsdk__sdk-genericslave-3_2"; - const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.27.200402"; + const std::string PlayFabSettings::sdkVersion = "3.28.200421"; + const std::string PlayFabSettings::buildIdentifier = "jbuild_xplatcppsdk__sdk-genericslave-1_1"; + const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.28.200421"; std::string PlayFabSettings::productionEnvironmentURL = ".playfabapi.com"; ErrorCallback PlayFabSettings::globalErrorHandler = nullptr; diff --git a/com.playfab.xplatcppsdk.v141.autopkg b/com.playfab.xplatcppsdk.v141.autopkg index fa0e91f9..abdc09a3 100644 --- a/com.playfab.xplatcppsdk.v141.autopkg +++ b/com.playfab.xplatcppsdk.v141.autopkg @@ -8,7 +8,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatcppsdk.v141"; - version : 3.27.200402; + version : 3.28.200421; title: "PlayFab Cross Platform C++ Sdk for Visual Studio 2017"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -18,7 +18,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#200402"; + releaseNotes: "https://api.playfab.com/releaseNotes/#200421"; copyright: "Copyright 2020"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatxboxsdk.v141.autopkg b/com.playfab.xplatxboxsdk.v141.autopkg index f4c848b0..ab425e7f 100644 --- a/com.playfab.xplatxboxsdk.v141.autopkg +++ b/com.playfab.xplatxboxsdk.v141.autopkg @@ -18,7 +18,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatxboxsdk.v141"; - version : 3.27.200402; + version : 3.28.200421; title: "PlayFab Xbox Platform C++ Sdk for Visual Studio 2017"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -28,7 +28,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#200402"; + releaseNotes: "https://api.playfab.com/releaseNotes/#200421"; copyright: "Copyright 2020"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native, xbox };