From 5e30853ee03a22194395ae25bc582dc3fad7f0ec Mon Sep 17 00:00:00 2001 From: PlayFab SDK Team Date: Mon, 6 Mar 2023 23:17:37 +0000 Subject: [PATCH] https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#230306 --- code/include/playfab/PlayFabAdminDataModels.h | 121 ++++++++++++++++++ .../include/playfab/PlayFabClientDataModels.h | 5 + .../playfab/PlayFabEconomyDataModels.h | 49 ++++++- code/include/playfab/PlayFabError.h | 11 ++ .../include/playfab/PlayFabServerDataModels.h | 121 ++++++++++++++++++ code/source/playfab/PlayFabSettings.cpp | 4 +- com.playfab.xplatcppsdk.v141.autopkg | 4 +- com.playfab.xplatcppsdk.v141.nuspec | 4 +- com.playfab.xplatcppsdk.v142.autopkg | 4 +- com.playfab.xplatcppsdk.v142.nuspec | 4 +- com.playfab.xplatxboxsdk.v141.autopkg | 4 +- 11 files changed, 317 insertions(+), 14 deletions(-) diff --git a/code/include/playfab/PlayFabAdminDataModels.h b/code/include/playfab/PlayFabAdminDataModels.h index 8665f6cf..0b684a06 100644 --- a/code/include/playfab/PlayFabAdminDataModels.h +++ b/code/include/playfab/PlayFabAdminDataModels.h @@ -5495,6 +5495,12 @@ namespace PlayFab GenericErrorCodesAnalysisSubscriptionManagementInvalidInput, GenericErrorCodesInvalidGameCenterId, GenericErrorCodesInvalidNintendoSwitchAccountId, + GenericErrorCodesEntityAPIKeysNotSupported, + GenericErrorCodesIpAddressBanned, + GenericErrorCodesEntityLineageBanned, + GenericErrorCodesNamespaceMismatch, + GenericErrorCodesInvalidServiceConfiguration, + GenericErrorCodesInvalidNamespaceMismatch, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -5641,6 +5647,11 @@ namespace PlayFab GenericErrorCodesEventSamplingInvalidEventNamespace, GenericErrorCodesEventSamplingInvalidEventName, GenericErrorCodesEventSamplingRatioNotFound, + GenericErrorCodesTelemetryKeyNotFound, + GenericErrorCodesTelemetryKeyInvalidName, + GenericErrorCodesTelemetryKeyAlreadyExists, + GenericErrorCodesTelemetryKeyInvalid, + GenericErrorCodesTelemetryKeyCountOverLimit, GenericErrorCodesEventSinkConnectionInvalid, GenericErrorCodesEventSinkConnectionUnauthorized, GenericErrorCodesEventSinkRegionInvalid, @@ -8375,6 +8386,36 @@ namespace PlayFab output = Json::Value("InvalidNintendoSwitchAccountId"); return; } + if (input == GenericErrorCodes::GenericErrorCodesEntityAPIKeysNotSupported) + { + output = Json::Value("EntityAPIKeysNotSupported"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesIpAddressBanned) + { + output = Json::Value("IpAddressBanned"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesEntityLineageBanned) + { + output = Json::Value("EntityLineageBanned"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesNamespaceMismatch) + { + output = Json::Value("NamespaceMismatch"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesInvalidServiceConfiguration) + { + output = Json::Value("InvalidServiceConfiguration"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesInvalidNamespaceMismatch) + { + output = Json::Value("InvalidNamespaceMismatch"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -9105,6 +9146,31 @@ namespace PlayFab output = Json::Value("EventSamplingRatioNotFound"); return; } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyNotFound) + { + output = Json::Value("TelemetryKeyNotFound"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalidName) + { + output = Json::Value("TelemetryKeyInvalidName"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyAlreadyExists) + { + output = Json::Value("TelemetryKeyAlreadyExists"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalid) + { + output = Json::Value("TelemetryKeyInvalid"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyCountOverLimit) + { + output = Json::Value("TelemetryKeyCountOverLimit"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesEventSinkConnectionInvalid) { output = Json::Value("EventSinkConnectionInvalid"); @@ -11903,6 +11969,36 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesInvalidNintendoSwitchAccountId; return; } + if (inputStr == "EntityAPIKeysNotSupported") + { + output = GenericErrorCodes::GenericErrorCodesEntityAPIKeysNotSupported; + return; + } + if (inputStr == "IpAddressBanned") + { + output = GenericErrorCodes::GenericErrorCodesIpAddressBanned; + return; + } + if (inputStr == "EntityLineageBanned") + { + output = GenericErrorCodes::GenericErrorCodesEntityLineageBanned; + return; + } + if (inputStr == "NamespaceMismatch") + { + output = GenericErrorCodes::GenericErrorCodesNamespaceMismatch; + return; + } + if (inputStr == "InvalidServiceConfiguration") + { + output = GenericErrorCodes::GenericErrorCodesInvalidServiceConfiguration; + return; + } + if (inputStr == "InvalidNamespaceMismatch") + { + output = GenericErrorCodes::GenericErrorCodesInvalidNamespaceMismatch; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; @@ -12633,6 +12729,31 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesEventSamplingRatioNotFound; return; } + if (inputStr == "TelemetryKeyNotFound") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyNotFound; + return; + } + if (inputStr == "TelemetryKeyInvalidName") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalidName; + return; + } + if (inputStr == "TelemetryKeyAlreadyExists") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyAlreadyExists; + return; + } + if (inputStr == "TelemetryKeyInvalid") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalid; + return; + } + if (inputStr == "TelemetryKeyCountOverLimit") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyCountOverLimit; + return; + } if (inputStr == "EventSinkConnectionInvalid") { output = GenericErrorCodes::GenericErrorCodesEventSinkConnectionInvalid; diff --git a/code/include/playfab/PlayFabClientDataModels.h b/code/include/playfab/PlayFabClientDataModels.h index ce574daa..f53b0610 100644 --- a/code/include/playfab/PlayFabClientDataModels.h +++ b/code/include/playfab/PlayFabClientDataModels.h @@ -16730,6 +16730,7 @@ namespace PlayFab Boxed InfoRequestParameters; std::string PlayerSecret; std::string ServerAuthCode; + Boxed SetEmail; std::string TitleId; LoginWithGoogleAccountRequest() : @@ -16740,6 +16741,7 @@ namespace PlayFab InfoRequestParameters(), PlayerSecret(), ServerAuthCode(), + SetEmail(), TitleId() {} @@ -16751,6 +16753,7 @@ namespace PlayFab InfoRequestParameters(src.InfoRequestParameters), PlayerSecret(src.PlayerSecret), ServerAuthCode(src.ServerAuthCode), + SetEmail(src.SetEmail), TitleId(src.TitleId) {} @@ -16764,6 +16767,7 @@ namespace PlayFab FromJsonUtilO(input["InfoRequestParameters"], InfoRequestParameters); FromJsonUtilS(input["PlayerSecret"], PlayerSecret); FromJsonUtilS(input["ServerAuthCode"], ServerAuthCode); + FromJsonUtilP(input["SetEmail"], SetEmail); FromJsonUtilS(input["TitleId"], TitleId); } @@ -16776,6 +16780,7 @@ namespace PlayFab 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_ServerAuthCode; ToJsonUtilS(ServerAuthCode, each_ServerAuthCode); output["ServerAuthCode"] = each_ServerAuthCode; + Json::Value each_SetEmail; ToJsonUtilP(SetEmail, each_SetEmail); output["SetEmail"] = each_SetEmail; Json::Value each_TitleId; ToJsonUtilS(TitleId, each_TitleId); output["TitleId"] = each_TitleId; return output; } diff --git a/code/include/playfab/PlayFabEconomyDataModels.h b/code/include/playfab/PlayFabEconomyDataModels.h index b37649ae..65547068 100644 --- a/code/include/playfab/PlayFabEconomyDataModels.h +++ b/code/include/playfab/PlayFabEconomyDataModels.h @@ -3323,6 +3323,7 @@ namespace PlayFab Boxed Amount; std::string CollectionId; std::map CustomTags; + Boxed DurationInSeconds; Boxed Entity; std::string ETag; std::string IdempotencyId; @@ -3334,6 +3335,7 @@ namespace PlayFab Amount(), CollectionId(), CustomTags(), + DurationInSeconds(), Entity(), ETag(), IdempotencyId(), @@ -3346,6 +3348,7 @@ namespace PlayFab Amount(src.Amount), CollectionId(src.CollectionId), CustomTags(src.CustomTags), + DurationInSeconds(src.DurationInSeconds), Entity(src.Entity), ETag(src.ETag), IdempotencyId(src.IdempotencyId), @@ -3360,6 +3363,7 @@ namespace PlayFab FromJsonUtilP(input["Amount"], Amount); FromJsonUtilS(input["CollectionId"], CollectionId); FromJsonUtilS(input["CustomTags"], CustomTags); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); FromJsonUtilO(input["Entity"], Entity); FromJsonUtilS(input["ETag"], ETag); FromJsonUtilS(input["IdempotencyId"], IdempotencyId); @@ -3373,6 +3377,7 @@ namespace PlayFab Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; Json::Value each_CollectionId; ToJsonUtilS(CollectionId, each_CollectionId); output["CollectionId"] = each_CollectionId; Json::Value each_CustomTags; ToJsonUtilS(CustomTags, each_CustomTags); output["CustomTags"] = each_CustomTags; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; Json::Value each_Entity; ToJsonUtilO(Entity, each_Entity); output["Entity"] = each_Entity; Json::Value each_ETag; ToJsonUtilS(ETag, each_ETag); output["ETag"] = each_ETag; Json::Value each_IdempotencyId; ToJsonUtilS(IdempotencyId, each_IdempotencyId); output["IdempotencyId"] = each_IdempotencyId; @@ -3897,15 +3902,18 @@ namespace PlayFab struct CatalogPrice : public PlayFabBaseModel { std::list Amounts; + Boxed UnitDurationInSeconds; CatalogPrice() : PlayFabBaseModel(), - Amounts() + Amounts(), + UnitDurationInSeconds() {} CatalogPrice(const CatalogPrice& src) : PlayFabBaseModel(), - Amounts(src.Amounts) + Amounts(src.Amounts), + UnitDurationInSeconds(src.UnitDurationInSeconds) {} ~CatalogPrice() = default; @@ -3913,12 +3921,14 @@ namespace PlayFab void FromJson(const Json::Value& input) override { FromJsonUtilO(input["Amounts"], Amounts); + FromJsonUtilP(input["UnitDurationInSeconds"], UnitDurationInSeconds); } Json::Value ToJson() const override { Json::Value output; Json::Value each_Amounts; ToJsonUtilO(Amounts, each_Amounts); output["Amounts"] = each_Amounts; + Json::Value each_UnitDurationInSeconds; ToJsonUtilP(UnitDurationInSeconds, each_UnitDurationInSeconds); output["UnitDurationInSeconds"] = each_UnitDurationInSeconds; return output; } }; @@ -4291,6 +4301,7 @@ namespace PlayFab Boxed CreationDate; Boxed CreatorEntity; std::list DeepLinks; + std::string DefaultStackId; std::map Description; Json::Value DisplayProperties; std::string DisplayVersion; @@ -4320,6 +4331,7 @@ namespace PlayFab CreationDate(), CreatorEntity(), DeepLinks(), + DefaultStackId(), Description(), DisplayProperties(), DisplayVersion(), @@ -4350,6 +4362,7 @@ namespace PlayFab CreationDate(src.CreationDate), CreatorEntity(src.CreatorEntity), DeepLinks(src.DeepLinks), + DefaultStackId(src.DefaultStackId), Description(src.Description), DisplayProperties(src.DisplayProperties), DisplayVersion(src.DisplayVersion), @@ -4382,6 +4395,7 @@ namespace PlayFab FromJsonUtilT(input["CreationDate"], CreationDate); FromJsonUtilO(input["CreatorEntity"], CreatorEntity); FromJsonUtilO(input["DeepLinks"], DeepLinks); + FromJsonUtilS(input["DefaultStackId"], DefaultStackId); FromJsonUtilS(input["Description"], Description); DisplayProperties = input["DisplayProperties"]; FromJsonUtilS(input["DisplayVersion"], DisplayVersion); @@ -4413,6 +4427,7 @@ namespace PlayFab Json::Value each_CreationDate; ToJsonUtilT(CreationDate, each_CreationDate); output["CreationDate"] = each_CreationDate; Json::Value each_CreatorEntity; ToJsonUtilO(CreatorEntity, each_CreatorEntity); output["CreatorEntity"] = each_CreatorEntity; Json::Value each_DeepLinks; ToJsonUtilO(DeepLinks, each_DeepLinks); output["DeepLinks"] = each_DeepLinks; + Json::Value each_DefaultStackId; ToJsonUtilS(DefaultStackId, each_DefaultStackId); output["DefaultStackId"] = each_DefaultStackId; Json::Value each_Description; ToJsonUtilS(Description, each_Description); output["Description"] = each_Description; output["DisplayProperties"] = DisplayProperties; Json::Value each_DisplayVersion; ToJsonUtilS(DisplayVersion, each_DisplayVersion); output["DisplayVersion"] = each_DisplayVersion; @@ -5019,6 +5034,7 @@ namespace PlayFab { Boxed Amount; bool DeleteEmptyStacks; + Boxed DurationInSeconds; Boxed Item; Boxed NewStackValues; std::list PriceAmounts; @@ -5028,6 +5044,7 @@ namespace PlayFab PlayFabBaseModel(), Amount(), DeleteEmptyStacks(), + DurationInSeconds(), Item(), NewStackValues(), PriceAmounts(), @@ -5038,6 +5055,7 @@ namespace PlayFab PlayFabBaseModel(), Amount(src.Amount), DeleteEmptyStacks(src.DeleteEmptyStacks), + DurationInSeconds(src.DurationInSeconds), Item(src.Item), NewStackValues(src.NewStackValues), PriceAmounts(src.PriceAmounts), @@ -5050,6 +5068,7 @@ namespace PlayFab { FromJsonUtilP(input["Amount"], Amount); FromJsonUtilP(input["DeleteEmptyStacks"], DeleteEmptyStacks); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); FromJsonUtilO(input["Item"], Item); FromJsonUtilO(input["NewStackValues"], NewStackValues); FromJsonUtilO(input["PriceAmounts"], PriceAmounts); @@ -5061,6 +5080,7 @@ namespace PlayFab Json::Value output; Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; Json::Value each_DeleteEmptyStacks; ToJsonUtilP(DeleteEmptyStacks, each_DeleteEmptyStacks); output["DeleteEmptyStacks"] = each_DeleteEmptyStacks; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; Json::Value each_Item; ToJsonUtilO(Item, each_Item); output["Item"] = each_Item; Json::Value each_NewStackValues; ToJsonUtilO(NewStackValues, each_NewStackValues); output["NewStackValues"] = each_NewStackValues; Json::Value each_PriceAmounts; ToJsonUtilO(PriceAmounts, each_PriceAmounts); output["PriceAmounts"] = each_PriceAmounts; @@ -5073,12 +5093,14 @@ namespace PlayFab { Boxed Amount; bool DeleteEmptyStacks; + Boxed DurationInSeconds; Boxed Item; SubtractInventoryItemsOperation() : PlayFabBaseModel(), Amount(), DeleteEmptyStacks(), + DurationInSeconds(), Item() {} @@ -5086,6 +5108,7 @@ namespace PlayFab PlayFabBaseModel(), Amount(src.Amount), DeleteEmptyStacks(src.DeleteEmptyStacks), + DurationInSeconds(src.DurationInSeconds), Item(src.Item) {} @@ -5095,6 +5118,7 @@ namespace PlayFab { FromJsonUtilP(input["Amount"], Amount); FromJsonUtilP(input["DeleteEmptyStacks"], DeleteEmptyStacks); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); FromJsonUtilO(input["Item"], Item); } @@ -5103,6 +5127,7 @@ namespace PlayFab Json::Value output; Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; Json::Value each_DeleteEmptyStacks; ToJsonUtilP(DeleteEmptyStacks, each_DeleteEmptyStacks); output["DeleteEmptyStacks"] = each_DeleteEmptyStacks; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; Json::Value each_Item; ToJsonUtilO(Item, each_Item); output["Item"] = each_Item; return output; } @@ -5161,6 +5186,7 @@ namespace PlayFab { Boxed Amount; Json::Value DisplayProperties; + Boxed ExpirationDate; std::string Id; std::string StackId; std::string Type; @@ -5169,6 +5195,7 @@ namespace PlayFab PlayFabBaseModel(), Amount(), DisplayProperties(), + ExpirationDate(), Id(), StackId(), Type() @@ -5178,6 +5205,7 @@ namespace PlayFab PlayFabBaseModel(), Amount(src.Amount), DisplayProperties(src.DisplayProperties), + ExpirationDate(src.ExpirationDate), Id(src.Id), StackId(src.StackId), Type(src.Type) @@ -5189,6 +5217,7 @@ namespace PlayFab { FromJsonUtilP(input["Amount"], Amount); DisplayProperties = input["DisplayProperties"]; + FromJsonUtilT(input["ExpirationDate"], ExpirationDate); FromJsonUtilS(input["Id"], Id); FromJsonUtilS(input["StackId"], StackId); FromJsonUtilS(input["Type"], Type); @@ -5199,6 +5228,7 @@ namespace PlayFab Json::Value output; Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; output["DisplayProperties"] = DisplayProperties; + Json::Value each_ExpirationDate; ToJsonUtilT(ExpirationDate, each_ExpirationDate); output["ExpirationDate"] = each_ExpirationDate; Json::Value each_Id; ToJsonUtilS(Id, each_Id); output["Id"] = each_Id; Json::Value each_StackId; ToJsonUtilS(StackId, each_StackId); output["StackId"] = each_StackId; Json::Value each_Type; ToJsonUtilS(Type, each_Type); output["Type"] = each_Type; @@ -6678,6 +6708,7 @@ namespace PlayFab struct TransactionOperation : public PlayFabBaseModel { Boxed Amount; + Boxed DurationInSeconds; std::string ItemId; std::string ItemType; std::string StackId; @@ -6686,6 +6717,7 @@ namespace PlayFab TransactionOperation() : PlayFabBaseModel(), Amount(), + DurationInSeconds(), ItemId(), ItemType(), StackId(), @@ -6695,6 +6727,7 @@ namespace PlayFab TransactionOperation(const TransactionOperation& src) : PlayFabBaseModel(), Amount(src.Amount), + DurationInSeconds(src.DurationInSeconds), ItemId(src.ItemId), ItemType(src.ItemType), StackId(src.StackId), @@ -6706,6 +6739,7 @@ namespace PlayFab void FromJson(const Json::Value& input) override { FromJsonUtilP(input["Amount"], Amount); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); FromJsonUtilS(input["ItemId"], ItemId); FromJsonUtilS(input["ItemType"], ItemType); FromJsonUtilS(input["StackId"], StackId); @@ -6716,6 +6750,7 @@ namespace PlayFab { Json::Value output; Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; Json::Value each_ItemId; ToJsonUtilS(ItemId, each_ItemId); output["ItemId"] = each_ItemId; Json::Value each_ItemType; ToJsonUtilS(ItemType, each_ItemType); output["ItemType"] = each_ItemType; Json::Value each_StackId; ToJsonUtilS(StackId, each_StackId); output["StackId"] = each_StackId; @@ -7081,6 +7116,7 @@ namespace PlayFab std::string CollectionId; std::map CustomTags; bool DeleteEmptyStacks; + Boxed DurationInSeconds; Boxed Entity; std::string ETag; std::string IdempotencyId; @@ -7095,6 +7131,7 @@ namespace PlayFab CollectionId(), CustomTags(), DeleteEmptyStacks(), + DurationInSeconds(), Entity(), ETag(), IdempotencyId(), @@ -7110,6 +7147,7 @@ namespace PlayFab CollectionId(src.CollectionId), CustomTags(src.CustomTags), DeleteEmptyStacks(src.DeleteEmptyStacks), + DurationInSeconds(src.DurationInSeconds), Entity(src.Entity), ETag(src.ETag), IdempotencyId(src.IdempotencyId), @@ -7127,6 +7165,7 @@ namespace PlayFab FromJsonUtilS(input["CollectionId"], CollectionId); FromJsonUtilS(input["CustomTags"], CustomTags); FromJsonUtilP(input["DeleteEmptyStacks"], DeleteEmptyStacks); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); FromJsonUtilO(input["Entity"], Entity); FromJsonUtilS(input["ETag"], ETag); FromJsonUtilS(input["IdempotencyId"], IdempotencyId); @@ -7143,6 +7182,7 @@ namespace PlayFab Json::Value each_CollectionId; ToJsonUtilS(CollectionId, each_CollectionId); output["CollectionId"] = each_CollectionId; Json::Value each_CustomTags; ToJsonUtilS(CustomTags, each_CustomTags); output["CustomTags"] = each_CustomTags; Json::Value each_DeleteEmptyStacks; ToJsonUtilP(DeleteEmptyStacks, each_DeleteEmptyStacks); output["DeleteEmptyStacks"] = each_DeleteEmptyStacks; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; Json::Value each_Entity; ToJsonUtilO(Entity, each_Entity); output["Entity"] = each_Entity; Json::Value each_ETag; ToJsonUtilS(ETag, each_ETag); output["ETag"] = each_ETag; Json::Value each_IdempotencyId; ToJsonUtilS(IdempotencyId, each_IdempotencyId); output["IdempotencyId"] = each_IdempotencyId; @@ -8428,6 +8468,7 @@ namespace PlayFab std::string CollectionId; std::map CustomTags; bool DeleteEmptyStacks; + Boxed DurationInSeconds; Boxed Entity; std::string ETag; std::string IdempotencyId; @@ -8439,6 +8480,7 @@ namespace PlayFab CollectionId(), CustomTags(), DeleteEmptyStacks(), + DurationInSeconds(), Entity(), ETag(), IdempotencyId(), @@ -8451,6 +8493,7 @@ namespace PlayFab CollectionId(src.CollectionId), CustomTags(src.CustomTags), DeleteEmptyStacks(src.DeleteEmptyStacks), + DurationInSeconds(src.DurationInSeconds), Entity(src.Entity), ETag(src.ETag), IdempotencyId(src.IdempotencyId), @@ -8465,6 +8508,7 @@ namespace PlayFab FromJsonUtilS(input["CollectionId"], CollectionId); FromJsonUtilS(input["CustomTags"], CustomTags); FromJsonUtilP(input["DeleteEmptyStacks"], DeleteEmptyStacks); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); FromJsonUtilO(input["Entity"], Entity); FromJsonUtilS(input["ETag"], ETag); FromJsonUtilS(input["IdempotencyId"], IdempotencyId); @@ -8478,6 +8522,7 @@ namespace PlayFab Json::Value each_CollectionId; ToJsonUtilS(CollectionId, each_CollectionId); output["CollectionId"] = each_CollectionId; Json::Value each_CustomTags; ToJsonUtilS(CustomTags, each_CustomTags); output["CustomTags"] = each_CustomTags; Json::Value each_DeleteEmptyStacks; ToJsonUtilP(DeleteEmptyStacks, each_DeleteEmptyStacks); output["DeleteEmptyStacks"] = each_DeleteEmptyStacks; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; Json::Value each_Entity; ToJsonUtilO(Entity, each_Entity); output["Entity"] = each_Entity; Json::Value each_ETag; ToJsonUtilS(ETag, each_ETag); output["ETag"] = each_ETag; Json::Value each_IdempotencyId; ToJsonUtilS(IdempotencyId, each_IdempotencyId); output["IdempotencyId"] = each_IdempotencyId; diff --git a/code/include/playfab/PlayFabError.h b/code/include/playfab/PlayFabError.h index c842968b..65361a15 100644 --- a/code/include/playfab/PlayFabError.h +++ b/code/include/playfab/PlayFabError.h @@ -554,6 +554,12 @@ namespace PlayFab PlayFabErrorAnalysisSubscriptionManagementInvalidInput = 1553, PlayFabErrorInvalidGameCenterId = 1554, PlayFabErrorInvalidNintendoSwitchAccountId = 1555, + PlayFabErrorEntityAPIKeysNotSupported = 1556, + PlayFabErrorIpAddressBanned = 1557, + PlayFabErrorEntityLineageBanned = 1558, + PlayFabErrorNamespaceMismatch = 1559, + PlayFabErrorInvalidServiceConfiguration = 1560, + PlayFabErrorInvalidNamespaceMismatch = 1561, PlayFabErrorMatchmakingEntityInvalid = 2001, PlayFabErrorMatchmakingPlayerAttributesInvalid = 2002, PlayFabErrorMatchmakingQueueNotFound = 2016, @@ -700,6 +706,11 @@ namespace PlayFab PlayFabErrorEventSamplingInvalidEventNamespace = 14001, PlayFabErrorEventSamplingInvalidEventName = 14002, PlayFabErrorEventSamplingRatioNotFound = 14003, + PlayFabErrorTelemetryKeyNotFound = 14200, + PlayFabErrorTelemetryKeyInvalidName = 14201, + PlayFabErrorTelemetryKeyAlreadyExists = 14202, + PlayFabErrorTelemetryKeyInvalid = 14203, + PlayFabErrorTelemetryKeyCountOverLimit = 14204, PlayFabErrorEventSinkConnectionInvalid = 15000, PlayFabErrorEventSinkConnectionUnauthorized = 15001, PlayFabErrorEventSinkRegionInvalid = 15002, diff --git a/code/include/playfab/PlayFabServerDataModels.h b/code/include/playfab/PlayFabServerDataModels.h index 8bbe1638..35386d74 100644 --- a/code/include/playfab/PlayFabServerDataModels.h +++ b/code/include/playfab/PlayFabServerDataModels.h @@ -5479,6 +5479,12 @@ namespace PlayFab GenericErrorCodesAnalysisSubscriptionManagementInvalidInput, GenericErrorCodesInvalidGameCenterId, GenericErrorCodesInvalidNintendoSwitchAccountId, + GenericErrorCodesEntityAPIKeysNotSupported, + GenericErrorCodesIpAddressBanned, + GenericErrorCodesEntityLineageBanned, + GenericErrorCodesNamespaceMismatch, + GenericErrorCodesInvalidServiceConfiguration, + GenericErrorCodesInvalidNamespaceMismatch, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -5625,6 +5631,11 @@ namespace PlayFab GenericErrorCodesEventSamplingInvalidEventNamespace, GenericErrorCodesEventSamplingInvalidEventName, GenericErrorCodesEventSamplingRatioNotFound, + GenericErrorCodesTelemetryKeyNotFound, + GenericErrorCodesTelemetryKeyInvalidName, + GenericErrorCodesTelemetryKeyAlreadyExists, + GenericErrorCodesTelemetryKeyInvalid, + GenericErrorCodesTelemetryKeyCountOverLimit, GenericErrorCodesEventSinkConnectionInvalid, GenericErrorCodesEventSinkConnectionUnauthorized, GenericErrorCodesEventSinkRegionInvalid, @@ -8359,6 +8370,36 @@ namespace PlayFab output = Json::Value("InvalidNintendoSwitchAccountId"); return; } + if (input == GenericErrorCodes::GenericErrorCodesEntityAPIKeysNotSupported) + { + output = Json::Value("EntityAPIKeysNotSupported"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesIpAddressBanned) + { + output = Json::Value("IpAddressBanned"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesEntityLineageBanned) + { + output = Json::Value("EntityLineageBanned"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesNamespaceMismatch) + { + output = Json::Value("NamespaceMismatch"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesInvalidServiceConfiguration) + { + output = Json::Value("InvalidServiceConfiguration"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesInvalidNamespaceMismatch) + { + output = Json::Value("InvalidNamespaceMismatch"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -9089,6 +9130,31 @@ namespace PlayFab output = Json::Value("EventSamplingRatioNotFound"); return; } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyNotFound) + { + output = Json::Value("TelemetryKeyNotFound"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalidName) + { + output = Json::Value("TelemetryKeyInvalidName"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyAlreadyExists) + { + output = Json::Value("TelemetryKeyAlreadyExists"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalid) + { + output = Json::Value("TelemetryKeyInvalid"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesTelemetryKeyCountOverLimit) + { + output = Json::Value("TelemetryKeyCountOverLimit"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesEventSinkConnectionInvalid) { output = Json::Value("EventSinkConnectionInvalid"); @@ -11887,6 +11953,36 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesInvalidNintendoSwitchAccountId; return; } + if (inputStr == "EntityAPIKeysNotSupported") + { + output = GenericErrorCodes::GenericErrorCodesEntityAPIKeysNotSupported; + return; + } + if (inputStr == "IpAddressBanned") + { + output = GenericErrorCodes::GenericErrorCodesIpAddressBanned; + return; + } + if (inputStr == "EntityLineageBanned") + { + output = GenericErrorCodes::GenericErrorCodesEntityLineageBanned; + return; + } + if (inputStr == "NamespaceMismatch") + { + output = GenericErrorCodes::GenericErrorCodesNamespaceMismatch; + return; + } + if (inputStr == "InvalidServiceConfiguration") + { + output = GenericErrorCodes::GenericErrorCodesInvalidServiceConfiguration; + return; + } + if (inputStr == "InvalidNamespaceMismatch") + { + output = GenericErrorCodes::GenericErrorCodesInvalidNamespaceMismatch; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; @@ -12617,6 +12713,31 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesEventSamplingRatioNotFound; return; } + if (inputStr == "TelemetryKeyNotFound") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyNotFound; + return; + } + if (inputStr == "TelemetryKeyInvalidName") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalidName; + return; + } + if (inputStr == "TelemetryKeyAlreadyExists") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyAlreadyExists; + return; + } + if (inputStr == "TelemetryKeyInvalid") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyInvalid; + return; + } + if (inputStr == "TelemetryKeyCountOverLimit") + { + output = GenericErrorCodes::GenericErrorCodesTelemetryKeyCountOverLimit; + return; + } if (inputStr == "EventSinkConnectionInvalid") { output = GenericErrorCodes::GenericErrorCodesEventSinkConnectionInvalid; diff --git a/code/source/playfab/PlayFabSettings.cpp b/code/source/playfab/PlayFabSettings.cpp index 0d05173d..66563550 100644 --- a/code/source/playfab/PlayFabSettings.cpp +++ b/code/source/playfab/PlayFabSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFab // Control whether all callbacks are threaded or whether the user manually controls callback timing from their main-thread // Note ANY api call may synchronously throw an exception if the title id is not set bool PlayFabSettings::threadedCallbacks = false; - const std::string PlayFabSettings::sdkVersion = "3.102.230220"; + const std::string PlayFabSettings::sdkVersion = "3.103.230306"; const std::string PlayFabSettings::buildIdentifier = "adobuild_xplatcppsdk_117"; - const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.102.230220"; + const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.103.230306"; 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 a8289a35..79a9f723 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.102.230220; + version : 3.103.230306; 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/#230220"; + releaseNotes: "https://api.playfab.com/releaseNotes/#230306"; copyright: "Copyright 2023"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatcppsdk.v141.nuspec b/com.playfab.xplatcppsdk.v141.nuspec index 1a590419..311f1450 100644 --- a/com.playfab.xplatcppsdk.v141.nuspec +++ b/com.playfab.xplatcppsdk.v141.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v141 - 3.102.230220 + 3.103.230306 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.102.230220 + https://api.playfab.com/releaseNotes/#3.103.230306 Microsoft Azure PlayFab XPlatCppSdk © Microsoft Corporation. All rights reserved. Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage diff --git a/com.playfab.xplatcppsdk.v142.autopkg b/com.playfab.xplatcppsdk.v142.autopkg index 20903716..eb70d5c2 100644 --- a/com.playfab.xplatcppsdk.v142.autopkg +++ b/com.playfab.xplatcppsdk.v142.autopkg @@ -8,7 +8,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatcppsdk.v142"; - version : 3.102.230220; + version : 3.103.230306; title: "PlayFab Cross Platform C++ Sdk for Visual Studio 2019+"; 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/#230220"; + releaseNotes: "https://api.playfab.com/releaseNotes/#230306"; copyright: "Copyright 2023"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatcppsdk.v142.nuspec b/com.playfab.xplatcppsdk.v142.nuspec index c24779d5..c627e4c3 100644 --- a/com.playfab.xplatcppsdk.v142.nuspec +++ b/com.playfab.xplatcppsdk.v142.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v142 - 3.102.230220 + 3.103.230306 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.102.230220 + https://api.playfab.com/releaseNotes/#3.103.230306 Microsoft Azure PlayFab XPlatCppSdk © Microsoft Corporation. All rights reserved. Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage diff --git a/com.playfab.xplatxboxsdk.v141.autopkg b/com.playfab.xplatxboxsdk.v141.autopkg index 5caee1c9..3d1a7939 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.102.230220; + version : 3.103.230306; 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/#230220"; + releaseNotes: "https://api.playfab.com/releaseNotes/#230306"; copyright: "Copyright 2023"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native, xbox };