Skip to content

Commit

Permalink
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#230623
Browse files Browse the repository at this point in the history
  • Loading branch information
PlayFab SDK Team authored and PlayFab SDK Team committed Jun 26, 2023
2 parents 9233425 + 4b8b0c9 commit 241e7bc
Show file tree
Hide file tree
Showing 14 changed files with 136 additions and 17 deletions.
24 changes: 23 additions & 1 deletion code/include/playfab/PlayFabAdminDataModels.h
Original file line number Diff line number Diff line change
Expand Up @@ -5680,7 +5680,9 @@ namespace PlayFab
GenericErrorCodesPlayerCustomPropertiesVersionMismatch,
GenericErrorCodesPlayerCustomPropertiesPropertyCountTooHigh,
GenericErrorCodesPlayerCustomPropertiesDuplicatePropertyName,
GenericErrorCodesPlayerCustomPropertiesPropertyDoesNotExist
GenericErrorCodesPlayerCustomPropertiesPropertyDoesNotExist,
GenericErrorCodesAddonAlreadyExists,
GenericErrorCodesAddonDoesntExist
};

inline void ToJsonEnum(const GenericErrorCodes input, Json::Value& output)
Expand Down Expand Up @@ -9330,6 +9332,16 @@ namespace PlayFab
output = Json::Value("PlayerCustomPropertiesPropertyDoesNotExist");
return;
}
if (input == GenericErrorCodes::GenericErrorCodesAddonAlreadyExists)
{
output = Json::Value("AddonAlreadyExists");
return;
}
if (input == GenericErrorCodes::GenericErrorCodesAddonDoesntExist)
{
output = Json::Value("AddonDoesntExist");
return;
}
}
inline void FromJsonEnum(const Json::Value& input, GenericErrorCodes& output)
{
Expand Down Expand Up @@ -12983,6 +12995,16 @@ namespace PlayFab
output = GenericErrorCodes::GenericErrorCodesPlayerCustomPropertiesPropertyDoesNotExist;
return;
}
if (inputStr == "AddonAlreadyExists")
{
output = GenericErrorCodes::GenericErrorCodesAddonAlreadyExists;
return;
}
if (inputStr == "AddonDoesntExist")
{
output = GenericErrorCodes::GenericErrorCodesAddonDoesntExist;
return;
}
}

enum class LoginIdentityProvider
Expand Down
5 changes: 5 additions & 0 deletions code/include/playfab/PlayFabEconomyDataModels.h
Original file line number Diff line number Diff line change
Expand Up @@ -8201,6 +8201,7 @@ namespace PlayFab
std::map<std::string, std::string> CustomTags;
Boxed<EntityKey> Entity;
std::string Filter;
std::string Language;
std::string OrderBy;
std::string Search;
std::string Select;
Expand All @@ -8213,6 +8214,7 @@ namespace PlayFab
CustomTags(),
Entity(),
Filter(),
Language(),
OrderBy(),
Search(),
Select(),
Expand All @@ -8226,6 +8228,7 @@ namespace PlayFab
CustomTags(src.CustomTags),
Entity(src.Entity),
Filter(src.Filter),
Language(src.Language),
OrderBy(src.OrderBy),
Search(src.Search),
Select(src.Select),
Expand All @@ -8241,6 +8244,7 @@ namespace PlayFab
FromJsonUtilS(input["CustomTags"], CustomTags);
FromJsonUtilO(input["Entity"], Entity);
FromJsonUtilS(input["Filter"], Filter);
FromJsonUtilS(input["Language"], Language);
FromJsonUtilS(input["OrderBy"], OrderBy);
FromJsonUtilS(input["Search"], Search);
FromJsonUtilS(input["Select"], Select);
Expand All @@ -8255,6 +8259,7 @@ namespace PlayFab
Json::Value each_CustomTags; ToJsonUtilS(CustomTags, each_CustomTags); output["CustomTags"] = each_CustomTags;
Json::Value each_Entity; ToJsonUtilO(Entity, each_Entity); output["Entity"] = each_Entity;
Json::Value each_Filter; ToJsonUtilS(Filter, each_Filter); output["Filter"] = each_Filter;
Json::Value each_Language; ToJsonUtilS(Language, each_Language); output["Language"] = each_Language;
Json::Value each_OrderBy; ToJsonUtilS(OrderBy, each_OrderBy); output["OrderBy"] = each_OrderBy;
Json::Value each_Search; ToJsonUtilS(Search, each_Search); output["Search"] = each_Search;
Json::Value each_Select; ToJsonUtilS(Select, each_Select); output["Select"] = each_Select;
Expand Down
2 changes: 2 additions & 0 deletions code/include/playfab/PlayFabError.h
Original file line number Diff line number Diff line change
Expand Up @@ -740,6 +740,8 @@ namespace PlayFab
PlayFabErrorPlayerCustomPropertiesPropertyCountTooHigh = 19005,
PlayFabErrorPlayerCustomPropertiesDuplicatePropertyName = 19006,
PlayFabErrorPlayerCustomPropertiesPropertyDoesNotExist = 19007,
PlayFabErrorAddonAlreadyExists = 19008,
PlayFabErrorAddonDoesntExist = 19009,
};

/// <summary>
Expand Down
1 change: 1 addition & 0 deletions code/include/playfab/PlayFabEventsApi.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ namespace PlayFab
// ------------ Generated API calls
static void WriteEvents(EventsModels::WriteEventsRequest& request, const ProcessApiCallback<EventsModels::WriteEventsResponse> callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr);
static void WriteTelemetryEvents(EventsModels::WriteEventsRequest& request, const ProcessApiCallback<EventsModels::WriteEventsResponse> callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr);
static void WriteTelemetryEvents(EventsModels::WriteEventsRequest& request, std::string telemetryKey, const ProcessApiCallback<EventsModels::WriteEventsResponse> callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr);

private:
PlayFabEventsAPI(); // Private constructor, static class should never have an instance
Expand Down
1 change: 1 addition & 0 deletions code/include/playfab/PlayFabEventsInstanceApi.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ namespace PlayFab
// ------------ Generated API calls
void WriteEvents(EventsModels::WriteEventsRequest& request, const ProcessApiCallback<EventsModels::WriteEventsResponse> callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr);
void WriteTelemetryEvents(EventsModels::WriteEventsRequest& request, const ProcessApiCallback<EventsModels::WriteEventsResponse> callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr);
void WriteTelemetryEvents(EventsModels::WriteEventsRequest& request, std::string telemetryKey, const ProcessApiCallback<EventsModels::WriteEventsResponse> callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr);

// ------------ Generated result handlers
void OnWriteEventsResult(int httpCode, const std::string& result, const std::shared_ptr<CallRequestContainerBase>& reqContainer);
Expand Down
24 changes: 23 additions & 1 deletion code/include/playfab/PlayFabServerDataModels.h
Original file line number Diff line number Diff line change
Expand Up @@ -5664,7 +5664,9 @@ namespace PlayFab
GenericErrorCodesPlayerCustomPropertiesVersionMismatch,
GenericErrorCodesPlayerCustomPropertiesPropertyCountTooHigh,
GenericErrorCodesPlayerCustomPropertiesDuplicatePropertyName,
GenericErrorCodesPlayerCustomPropertiesPropertyDoesNotExist
GenericErrorCodesPlayerCustomPropertiesPropertyDoesNotExist,
GenericErrorCodesAddonAlreadyExists,
GenericErrorCodesAddonDoesntExist
};

inline void ToJsonEnum(const GenericErrorCodes input, Json::Value& output)
Expand Down Expand Up @@ -9314,6 +9316,16 @@ namespace PlayFab
output = Json::Value("PlayerCustomPropertiesPropertyDoesNotExist");
return;
}
if (input == GenericErrorCodes::GenericErrorCodesAddonAlreadyExists)
{
output = Json::Value("AddonAlreadyExists");
return;
}
if (input == GenericErrorCodes::GenericErrorCodesAddonDoesntExist)
{
output = Json::Value("AddonDoesntExist");
return;
}
}
inline void FromJsonEnum(const Json::Value& input, GenericErrorCodes& output)
{
Expand Down Expand Up @@ -12967,6 +12979,16 @@ namespace PlayFab
output = GenericErrorCodes::GenericErrorCodesPlayerCustomPropertiesPropertyDoesNotExist;
return;
}
if (inputStr == "AddonAlreadyExists")
{
output = GenericErrorCodes::GenericErrorCodesAddonAlreadyExists;
return;
}
if (inputStr == "AddonDoesntExist")
{
output = GenericErrorCodes::GenericErrorCodesAddonDoesntExist;
return;
}
}

enum class LoginIdentityProvider
Expand Down
35 changes: 34 additions & 1 deletion code/source/playfab/PlayFabEventsApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ namespace PlayFab

http.MakePostRequest(std::unique_ptr<CallRequestContainerBase>(static_cast<CallRequestContainerBase*>(reqContainer.release())));
}

void PlayFabEventsAPI::OnWriteEventsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr<CallRequestContainerBase>& reqContainer)
{
CallRequestContainer& container = static_cast<CallRequestContainer&>(*reqContainer);
Expand Down Expand Up @@ -109,7 +109,40 @@ namespace PlayFab

http.MakePostRequest(std::unique_ptr<CallRequestContainerBase>(static_cast<CallRequestContainerBase*>(reqContainer.release())));
}

void PlayFabEventsAPI::WriteTelemetryEvents(
WriteEventsRequest& request,
std::string telemetryKey,
const ProcessApiCallback<WriteEventsResponse> callback,
const ErrorCallback errorCallback,
void* customData
)
{
std::shared_ptr<PlayFabAuthenticationContext> context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer;
std::shared_ptr<PlayFabApiSettings> settings = PlayFabSettings::staticSettings;

IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin<IPlayFabHttpPlugin>(PlayFabPluginContract::PlayFab_Transport);
const Json::Value requestJson = request.ToJson();
std::string jsonAsString = requestJson.toStyledString();

std::unordered_map<std::string, std::string> headers;
headers.emplace("X-TelemetryKey", telemetryKey);

auto reqContainer = std::unique_ptr<CallRequestContainer>(new CallRequestContainer(
"/Event/WriteTelemetryEvents",
headers,
jsonAsString,
OnWriteTelemetryEventsResult,
settings,
context,
customData));

reqContainer->successCallback = std::shared_ptr<void>((callback == nullptr) ? nullptr : new ProcessApiCallback<WriteEventsResponse>(callback));
reqContainer->errorCallback = errorCallback;

http.MakePostRequest(std::unique_ptr<CallRequestContainerBase>(static_cast<CallRequestContainerBase*>(reqContainer.release())));
}

void PlayFabEventsAPI::OnWriteTelemetryEventsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr<CallRequestContainerBase>& reqContainer)
{
CallRequestContainer& container = static_cast<CallRequestContainer&>(*reqContainer);
Expand Down
35 changes: 34 additions & 1 deletion code/source/playfab/PlayFabEventsInstanceApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ namespace PlayFab

http.MakePostRequest(std::unique_ptr<CallRequestContainerBase>(static_cast<CallRequestContainerBase*>(reqContainer.release())));
}

void PlayFabEventsInstanceAPI::OnWriteEventsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr<CallRequestContainerBase>& reqContainer)
{
CallRequestContainer& container = static_cast<CallRequestContainer&>(*reqContainer);
Expand Down Expand Up @@ -141,7 +141,40 @@ namespace PlayFab

http.MakePostRequest(std::unique_ptr<CallRequestContainerBase>(static_cast<CallRequestContainerBase*>(reqContainer.release())));
}

void PlayFabEventsInstanceAPI::WriteTelemetryEvents(
WriteEventsRequest& request,
std::string telemetryKey,
const ProcessApiCallback<WriteEventsResponse> callback,
const ErrorCallback errorCallback,
void* customData
)
{
std::shared_ptr<PlayFabAuthenticationContext> context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context;
std::shared_ptr<PlayFabApiSettings> settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings;

IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin<IPlayFabHttpPlugin>(PlayFabPluginContract::PlayFab_Transport);
const Json::Value requestJson = request.ToJson();
std::string jsonAsString = requestJson.toStyledString();

std::unordered_map<std::string, std::string> headers;
headers.emplace("X-TelemetryKey", telemetryKey);

auto reqContainer = std::unique_ptr<CallRequestContainer>(new CallRequestContainer(
"/Event/WriteTelemetryEvents",
headers,
jsonAsString,
std::bind(&PlayFabEventsInstanceAPI::OnWriteTelemetryEventsResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3),
settings,
context,
customData));

reqContainer->successCallback = std::shared_ptr<void>((callback == nullptr) ? nullptr : new ProcessApiCallback<WriteEventsResponse>(callback));
reqContainer->errorCallback = errorCallback;

http.MakePostRequest(std::unique_ptr<CallRequestContainerBase>(static_cast<CallRequestContainerBase*>(reqContainer.release())));
}

void PlayFabEventsInstanceAPI::OnWriteTelemetryEventsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr<CallRequestContainerBase>& reqContainer)
{
CallRequestContainer& container = static_cast<CallRequestContainer&>(*reqContainer);
Expand Down
6 changes: 3 additions & 3 deletions code/source/playfab/PlayFabSettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.111.230609";
const std::string PlayFabSettings::buildIdentifier = "adobuild_xplatcppsdk_118";
const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.111.230609";
const std::string PlayFabSettings::sdkVersion = "3.112.230623";
const std::string PlayFabSettings::buildIdentifier = "adobuild_xplatcppsdk_8";
const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.112.230623";
std::string PlayFabSettings::productionEnvironmentURL = ".playfabapi.com";

ErrorCallback PlayFabSettings::globalErrorHandler = nullptr;
Expand Down
4 changes: 2 additions & 2 deletions com.playfab.xplatcppsdk.v141.autopkg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ configurations {
nuget {
nuspec {
id = "com.playfab.xplatcppsdk.v141";
version : 3.111.230609;
version : 3.112.230623;
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";
Expand All @@ -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/#230609";
releaseNotes: "https://api.playfab.com/releaseNotes/#230623";
copyright: "Copyright 2023";
language: "C++";
tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native };
Expand Down
4 changes: 2 additions & 2 deletions com.playfab.xplatcppsdk.v141.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>com.playfab.xplatcppsdk.v141</id>
<version>3.111.230609</version>
<version>3.112.230623</version>
<authors>Microsoft</authors>
<owners>Microsoft</owners>
<projectUrl>http://github.com/PlayFab/XPlatCppSdk</projectUrl>
<license type="expression">Apache-2.0</license>
<icon>./images/icon.png</icon>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes>https://api.playfab.com/releaseNotes/#3.111.230609</releaseNotes>
<releaseNotes>https://api.playfab.com/releaseNotes/#3.112.230623</releaseNotes>
<description>Microsoft Azure PlayFab XPlatCppSdk</description>
<copyright>&#169; Microsoft Corporation. All rights reserved.</copyright>
<tags>Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage</tags>
Expand Down
4 changes: 2 additions & 2 deletions com.playfab.xplatcppsdk.v142.autopkg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ configurations {
nuget {
nuspec {
id = "com.playfab.xplatcppsdk.v142";
version : 3.111.230609;
version : 3.112.230623;
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";
Expand All @@ -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/#230609";
releaseNotes: "https://api.playfab.com/releaseNotes/#230623";
copyright: "Copyright 2023";
language: "C++";
tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native };
Expand Down
4 changes: 2 additions & 2 deletions com.playfab.xplatcppsdk.v142.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>com.playfab.xplatcppsdk.v142</id>
<version>3.111.230609</version>
<version>3.112.230623</version>
<authors>Microsoft</authors>
<owners>Microsoft</owners>
<projectUrl>http://github.com/PlayFab/XPlatCppSdk</projectUrl>
<license type="expression">Apache-2.0</license>
<icon>./images/icon.png</icon>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes>https://api.playfab.com/releaseNotes/#3.111.230609</releaseNotes>
<releaseNotes>https://api.playfab.com/releaseNotes/#3.112.230623</releaseNotes>
<description>Microsoft Azure PlayFab XPlatCppSdk</description>
<copyright>&#169; Microsoft Corporation. All rights reserved.</copyright>
<tags>Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage</tags>
Expand Down
4 changes: 2 additions & 2 deletions com.playfab.xplatxboxsdk.v141.autopkg
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ configurations {
nuget {
nuspec {
id = "com.playfab.xplatxboxsdk.v141";
version : 3.111.230609;
version : 3.112.230623;
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";
Expand All @@ -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/#230609";
releaseNotes: "https://api.playfab.com/releaseNotes/#230623";
copyright: "Copyright 2023";
language: "C++";
tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native, xbox };
Expand Down

0 comments on commit 241e7bc

Please sign in to comment.