Skip to content

Commit

Permalink
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#241122
Browse files Browse the repository at this point in the history
  • Loading branch information
PlayFab SDK Team authored and PlayFab SDK Team committed Nov 25, 2024
2 parents 441bb00 + 11a9718 commit e61b07d
Show file tree
Hide file tree
Showing 587 changed files with 15,200 additions and 100 deletions.
4 changes: 2 additions & 2 deletions 4.23/ExampleProject/Plugins/PlayFab/PlayFab.uplugin
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"FriendlyName": "PlayFab Marketplace Plugin",
"Version": 0,
"EngineVersion": "4.23.0",
"VersionName": "1.155.241108",
"VersionName": "1.156.241122",
"CreatedBy": "PlayFab and Phoenix Labs",
"CreatedByURL": "https://playfab.com/",
"DocsURL": "https://learn.microsoft.com/en-us/gaming/playfab/sdks/unreal/quickstart",
"SupportURL": "https://community.playfab.com/index.html",
"Category": "PlayFab",
"Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.155.241108",
"Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.156.241122",
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f",
"Modules": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,22 @@ class PLAYFAB_API UPlayFabClientAPI : public UOnlineBlueprintCallProxyBase
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Account Management ", meta = (BlueprintInternalUseOnly = "true"))
void HelperGetPlayFabIDsFromSteamIDs(FPlayFabBaseModel response, UObject* customData, bool successful);

// callbacks
DECLARE_DYNAMIC_DELEGATE_TwoParams(FDelegateOnSuccessGetPlayFabIDsFromSteamNames, FClientGetPlayFabIDsFromSteamNamesResult, result, UObject*, customData);

/**
* Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
* names.
*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Account Management ", meta = (BlueprintInternalUseOnly = "true"))
static UPlayFabClientAPI* GetPlayFabIDsFromSteamNames(FClientGetPlayFabIDsFromSteamNamesRequest request,
FDelegateOnSuccessGetPlayFabIDsFromSteamNames onSuccess,
FDelegateOnFailurePlayFabError onFailure, UObject* customData);

// Implements FOnPlayFabClientRequestCompleted
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Account Management ", meta = (BlueprintInternalUseOnly = "true"))
void HelperGetPlayFabIDsFromSteamNames(FPlayFabBaseModel response, UObject* customData, bool successful);

// callbacks
DECLARE_DYNAMIC_DELEGATE_TwoParams(FDelegateOnSuccessGetPlayFabIDsFromTwitchIDs, FClientGetPlayFabIDsFromTwitchIDsResult, result, UObject*, customData);

Expand Down Expand Up @@ -2561,6 +2577,7 @@ class PLAYFAB_API UPlayFabClientAPI : public UOnlineBlueprintCallProxyBase
FDelegateOnSuccessGetPlayFabIDsFromPSNAccountIDs OnSuccessGetPlayFabIDsFromPSNAccountIDs;
FDelegateOnSuccessGetPlayFabIDsFromPSNOnlineIDs OnSuccessGetPlayFabIDsFromPSNOnlineIDs;
FDelegateOnSuccessGetPlayFabIDsFromSteamIDs OnSuccessGetPlayFabIDsFromSteamIDs;
FDelegateOnSuccessGetPlayFabIDsFromSteamNames OnSuccessGetPlayFabIDsFromSteamNames;
FDelegateOnSuccessGetPlayFabIDsFromTwitchIDs OnSuccessGetPlayFabIDsFromTwitchIDs;
FDelegateOnSuccessGetPlayFabIDsFromXboxLiveIDs OnSuccessGetPlayFabIDsFromXboxLiveIDs;
FDelegateOnSuccessLinkAndroidDeviceID OnSuccessLinkAndroidDeviceID;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ class PLAYFAB_API UPlayFabClientModelDecoder : public UBlueprintFunctionLibrary
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Account Management Models")
static FClientGetPlayFabIDsFromSteamIDsResult decodeGetPlayFabIDsFromSteamIDsResultResponse(UPlayFabJsonObject* response);

/** Decode the GetPlayFabIDsFromSteamNamesResult response object*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Account Management Models")
static FClientGetPlayFabIDsFromSteamNamesResult decodeGetPlayFabIDsFromSteamNamesResultResponse(UPlayFabJsonObject* response);

/** Decode the GetPlayFabIDsFromTwitchIDsResult response object*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Account Management Models")
static FClientGetPlayFabIDsFromTwitchIDsResult decodeGetPlayFabIDsFromTwitchIDsResultResponse(UPlayFabJsonObject* response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,33 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsResult : public FPlayFabResul
TArray<UPlayFabJsonObject*> Data;
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FClientGetPlayFabIDsFromSteamNamesRequest : public FPlayFabRequestCommon
{
GENERATED_USTRUCT_BODY()
public:
/**
* Array of unique Steam identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 in
* length.
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models")
FString SteamNames;
};

/**
* For Steam identifiers which have not been linked to PlayFab accounts, or if the user has not logged in recently, null
* will be returned.
*/
USTRUCT(BlueprintType)
struct PLAYFAB_API FClientGetPlayFabIDsFromSteamNamesResult : public FPlayFabResultCommon
{
GENERATED_USTRUCT_BODY()
public:
/** Mapping of Steam identifiers to PlayFab identifiers. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models")
TArray<UPlayFabJsonObject*> Data;
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabRequestCommon
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,8 @@ enum class EAzureRegion : uint8
pfenum_UaeNorth = 21 UMETA(DisplayName = "UaeNorth"),
pfenum_UkSouth = 22 UMETA(DisplayName = "UkSouth"),
pfenum_SwedenCentral = 23 UMETA(DisplayName = "SwedenCentral"),
pfenum_CanadaCentral = 24 UMETA(DisplayName = "CanadaCentral"),
pfenum_MexicoCentral = 25 UMETA(DisplayName = "MexicoCentral"),
};

/** AzureVmFamily */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,22 @@ class PLAYFAB_API UPlayFabServerAPI : public UOnlineBlueprintCallProxyBase
UFUNCTION(BlueprintCallable, Category = "PlayFab | Server | Account Management ", meta = (BlueprintInternalUseOnly = "true"))
void HelperGetPlayFabIDsFromSteamIDs(FPlayFabBaseModel response, UObject* customData, bool successful);

// callbacks
DECLARE_DYNAMIC_DELEGATE_TwoParams(FDelegateOnSuccessGetPlayFabIDsFromSteamNames, FServerGetPlayFabIDsFromSteamNamesResult, result, UObject*, customData);

/**
* Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
* names.
*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Server | Account Management ", meta = (BlueprintInternalUseOnly = "true"))
static UPlayFabServerAPI* GetPlayFabIDsFromSteamNames(FServerGetPlayFabIDsFromSteamNamesRequest request,
FDelegateOnSuccessGetPlayFabIDsFromSteamNames onSuccess,
FDelegateOnFailurePlayFabError onFailure, UObject* customData);

// Implements FOnPlayFabServerRequestCompleted
UFUNCTION(BlueprintCallable, Category = "PlayFab | Server | Account Management ", meta = (BlueprintInternalUseOnly = "true"))
void HelperGetPlayFabIDsFromSteamNames(FPlayFabBaseModel response, UObject* customData, bool successful);

// callbacks
DECLARE_DYNAMIC_DELEGATE_TwoParams(FDelegateOnSuccessGetPlayFabIDsFromTwitchIDs, FServerGetPlayFabIDsFromTwitchIDsResult, result, UObject*, customData);

Expand Down Expand Up @@ -2122,6 +2138,7 @@ class PLAYFAB_API UPlayFabServerAPI : public UOnlineBlueprintCallProxyBase
FDelegateOnSuccessGetPlayFabIDsFromPSNAccountIDs OnSuccessGetPlayFabIDsFromPSNAccountIDs;
FDelegateOnSuccessGetPlayFabIDsFromPSNOnlineIDs OnSuccessGetPlayFabIDsFromPSNOnlineIDs;
FDelegateOnSuccessGetPlayFabIDsFromSteamIDs OnSuccessGetPlayFabIDsFromSteamIDs;
FDelegateOnSuccessGetPlayFabIDsFromSteamNames OnSuccessGetPlayFabIDsFromSteamNames;
FDelegateOnSuccessGetPlayFabIDsFromTwitchIDs OnSuccessGetPlayFabIDsFromTwitchIDs;
FDelegateOnSuccessGetPlayFabIDsFromXboxLiveIDs OnSuccessGetPlayFabIDsFromXboxLiveIDs;
FDelegateOnSuccessGetServerCustomIDsFromPlayFabIDs OnSuccessGetServerCustomIDsFromPlayFabIDs;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ class PLAYFAB_API UPlayFabServerModelDecoder : public UBlueprintFunctionLibrary
UFUNCTION(BlueprintCallable, Category = "PlayFab | Server | Account Management Models")
static FServerGetPlayFabIDsFromSteamIDsResult decodeGetPlayFabIDsFromSteamIDsResultResponse(UPlayFabJsonObject* response);

/** Decode the GetPlayFabIDsFromSteamNamesResult response object*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Server | Account Management Models")
static FServerGetPlayFabIDsFromSteamNamesResult decodeGetPlayFabIDsFromSteamNamesResultResponse(UPlayFabJsonObject* response);

/** Decode the GetPlayFabIDsFromTwitchIDsResult response object*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Server | Account Management Models")
static FServerGetPlayFabIDsFromTwitchIDsResult decodeGetPlayFabIDsFromTwitchIDsResultResponse(UPlayFabJsonObject* response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,30 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsResult : public FPlayFabResul
TArray<UPlayFabJsonObject*> Data;
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FServerGetPlayFabIDsFromSteamNamesRequest : public FPlayFabRequestCommon
{
GENERATED_USTRUCT_BODY()
public:
/**
* Array of unique Steam identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 in
* length.
*/
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models")
FString SteamNames;
};

/** For Steam identifiers which have not been linked to PlayFab accounts, null will be returned. */
USTRUCT(BlueprintType)
struct PLAYFAB_API FServerGetPlayFabIDsFromSteamNamesResult : public FPlayFabResultCommon
{
GENERATED_USTRUCT_BODY()
public:
/** Mapping of Steam identifiers to PlayFab identifiers. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models")
TArray<UPlayFabJsonObject*> Data;
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabRequestCommon
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1073,6 +1073,61 @@ void UPlayFabClientAPI::HelperGetPlayFabIDsFromSteamIDs(FPlayFabBaseModel respon
this->RemoveFromRoot();
}

/** Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona names. */
UPlayFabClientAPI* UPlayFabClientAPI::GetPlayFabIDsFromSteamNames(FClientGetPlayFabIDsFromSteamNamesRequest request,
FDelegateOnSuccessGetPlayFabIDsFromSteamNames onSuccess,
FDelegateOnFailurePlayFabError onFailure,
UObject* customData)
{
// Objects containing request data
UPlayFabClientAPI* manager = NewObject<UPlayFabClientAPI>();
if (manager->IsSafeForRootSet()) manager->AddToRoot();
UPlayFabJsonObject* OutRestJsonObj = NewObject<UPlayFabJsonObject>();
manager->mCustomData = customData;

// Assign delegates
manager->OnSuccessGetPlayFabIDsFromSteamNames = onSuccess;
manager->OnFailure = onFailure;
manager->OnPlayFabResponse.AddDynamic(manager, &UPlayFabClientAPI::HelperGetPlayFabIDsFromSteamNames);

// Setup the request
manager->SetCallAuthenticationContext(request.AuthenticationContext);
manager->PlayFabRequestURL = "/Client/GetPlayFabIDsFromSteamNames";
manager->useSessionTicket = true;


// Serialize all the request properties to json
// Check to see if string is empty
if (request.SteamNames.IsEmpty() || request.SteamNames == "") {
OutRestJsonObj->SetFieldNull(TEXT("SteamNames"));
} else {
TArray<FString> SteamNamesArray;
FString(request.SteamNames).ParseIntoArray(SteamNamesArray, TEXT(","), false);
OutRestJsonObj->SetStringArrayField(TEXT("SteamNames"), SteamNamesArray);
}

// Add Request to manager
manager->SetRequestObject(OutRestJsonObj);

return manager;
}

// Implements FOnPlayFabClientRequestCompleted
void UPlayFabClientAPI::HelperGetPlayFabIDsFromSteamNames(FPlayFabBaseModel response, UObject* customData, bool successful)
{
FPlayFabError error = response.responseError;
if (error.hasError && OnFailure.IsBound())
{
OnFailure.Execute(error, customData);
}
else if (!error.hasError && OnSuccessGetPlayFabIDsFromSteamNames.IsBound())
{
FClientGetPlayFabIDsFromSteamNamesResult ResultStruct = UPlayFabClientModelDecoder::decodeGetPlayFabIDsFromSteamNamesResultResponse(response.responseData);
OnSuccessGetPlayFabIDsFromSteamNames.Execute(ResultStruct, mCustomData);
}
this->RemoveFromRoot();
}

/** Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for the user accounts, available as "_id" from the Twitch API methods (ex: https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). */
UPlayFabClientAPI* UPlayFabClientAPI::GetPlayFabIDsFromTwitchIDs(FClientGetPlayFabIDsFromTwitchIDsRequest request,
FDelegateOnSuccessGetPlayFabIDsFromTwitchIDs onSuccess,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,17 @@ FClientGetPlayFabIDsFromSteamIDsResult UPlayFabClientModelDecoder::decodeGetPlay
return tempStruct;
}

FClientGetPlayFabIDsFromSteamNamesResult UPlayFabClientModelDecoder::decodeGetPlayFabIDsFromSteamNamesResultResponse(UPlayFabJsonObject* response)
{
// Temp ustruct
FClientGetPlayFabIDsFromSteamNamesResult tempStruct;
UPlayFabJsonObject* dataObj = !(response->HasField("data")) ? nullptr : response->GetObjectField("data");

tempStruct.Data = !(dataObj->HasField("Data")) ? TArray<UPlayFabJsonObject*>() : dataObj->GetObjectArrayField("Data");

return tempStruct;
}

FClientGetPlayFabIDsFromTwitchIDsResult UPlayFabClientModelDecoder::decodeGetPlayFabIDsFromTwitchIDsResultResponse(UPlayFabJsonObject* response)
{
// Temp ustruct
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -778,6 +778,61 @@ void UPlayFabServerAPI::HelperGetPlayFabIDsFromSteamIDs(FPlayFabBaseModel respon
this->RemoveFromRoot();
}

/** Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona names. */
UPlayFabServerAPI* UPlayFabServerAPI::GetPlayFabIDsFromSteamNames(FServerGetPlayFabIDsFromSteamNamesRequest request,
FDelegateOnSuccessGetPlayFabIDsFromSteamNames onSuccess,
FDelegateOnFailurePlayFabError onFailure,
UObject* customData)
{
// Objects containing request data
UPlayFabServerAPI* manager = NewObject<UPlayFabServerAPI>();
if (manager->IsSafeForRootSet()) manager->AddToRoot();
UPlayFabJsonObject* OutRestJsonObj = NewObject<UPlayFabJsonObject>();
manager->mCustomData = customData;

// Assign delegates
manager->OnSuccessGetPlayFabIDsFromSteamNames = onSuccess;
manager->OnFailure = onFailure;
manager->OnPlayFabResponse.AddDynamic(manager, &UPlayFabServerAPI::HelperGetPlayFabIDsFromSteamNames);

// Setup the request
manager->SetCallAuthenticationContext(request.AuthenticationContext);
manager->PlayFabRequestURL = "/Server/GetPlayFabIDsFromSteamNames";
manager->useSecretKey = true;


// Serialize all the request properties to json
// Check to see if string is empty
if (request.SteamNames.IsEmpty() || request.SteamNames == "") {
OutRestJsonObj->SetFieldNull(TEXT("SteamNames"));
} else {
TArray<FString> SteamNamesArray;
FString(request.SteamNames).ParseIntoArray(SteamNamesArray, TEXT(","), false);
OutRestJsonObj->SetStringArrayField(TEXT("SteamNames"), SteamNamesArray);
}

// Add Request to manager
manager->SetRequestObject(OutRestJsonObj);

return manager;
}

// Implements FOnPlayFabServerRequestCompleted
void UPlayFabServerAPI::HelperGetPlayFabIDsFromSteamNames(FPlayFabBaseModel response, UObject* customData, bool successful)
{
FPlayFabError error = response.responseError;
if (error.hasError && OnFailure.IsBound())
{
OnFailure.Execute(error, customData);
}
else if (!error.hasError && OnSuccessGetPlayFabIDsFromSteamNames.IsBound())
{
FServerGetPlayFabIDsFromSteamNamesResult ResultStruct = UPlayFabServerModelDecoder::decodeGetPlayFabIDsFromSteamNamesResultResponse(response.responseData);
OnSuccessGetPlayFabIDsFromSteamNames.Execute(ResultStruct, mCustomData);
}
this->RemoveFromRoot();
}

/** Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for the user accounts, available as "_id" from the Twitch API methods (ex: https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). */
UPlayFabServerAPI* UPlayFabServerAPI::GetPlayFabIDsFromTwitchIDs(FServerGetPlayFabIDsFromTwitchIDsRequest request,
FDelegateOnSuccessGetPlayFabIDsFromTwitchIDs onSuccess,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,17 @@ FServerGetPlayFabIDsFromSteamIDsResult UPlayFabServerModelDecoder::decodeGetPlay
return tempStruct;
}

FServerGetPlayFabIDsFromSteamNamesResult UPlayFabServerModelDecoder::decodeGetPlayFabIDsFromSteamNamesResultResponse(UPlayFabJsonObject* response)
{
// Temp ustruct
FServerGetPlayFabIDsFromSteamNamesResult tempStruct;
UPlayFabJsonObject* dataObj = !(response->HasField("data")) ? nullptr : response->GetObjectField("data");

tempStruct.Data = !(dataObj->HasField("Data")) ? TArray<UPlayFabJsonObject*>() : dataObj->GetObjectArrayField("Data");

return tempStruct;
}

FServerGetPlayFabIDsFromTwitchIDsResult UPlayFabServerModelDecoder::decodeGetPlayFabIDsFromTwitchIDsResultResponse(UPlayFabJsonObject* response)
{
// Temp ustruct
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,8 @@ FString UPlayFabUtilities::getErrorText(int32 code)
case 1593: returnText = "StatisticColumnLengthMismatch"; break;
case 1594: returnText = "InvalidExternalEntityId"; break;
case 1595: returnText = "UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier"; break;
case 1596: returnText = "TransactionAlreadyApplied"; break;
case 1597: returnText = "ReportDataNotRetrievedSuccessfully"; break;
case 2001: returnText = "MatchmakingEntityInvalid"; break;
case 2002: returnText = "MatchmakingPlayerAttributesInvalid"; break;
case 2016: returnText = "MatchmakingQueueNotFound"; break;
Expand Down Expand Up @@ -905,6 +907,8 @@ FString UPlayFabUtilities::getErrorText(int32 code)
case 20308: returnText = "GameSaveFileNotUploaded"; break;
case 20309: returnText = "GameSaveBadRequest"; break;
case 20310: returnText = "GameSaveOperationNotAllowed"; break;
case 20311: returnText = "GameSaveDataStorageQuotaExceeded"; break;
case 20312: returnText = "GameSaveNewerManifestExists"; break;
case 21000: returnText = "StateShareForbidden"; break;
case 21001: returnText = "StateShareTitleNotInFlight"; break;
case 21002: returnText = "StateShareStateNotFound"; break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

namespace PlayFabCommon
{
const FString PlayFabCommonSettings::sdkVersion = "1.155.241108";
const FString PlayFabCommonSettings::sdkVersion = "1.156.241122";
const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_215";
const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.155.241108";
const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.156.241122";
const FString PlayFabCommonSettings::engineVersion = "4.23";
#if defined(_XBOX_ONE) || defined(_XBOX) || defined(MICROSOFT_GAME_CORE)
const FString PlayFabCommonSettings::platformString = "GDK";
Expand Down
Loading

0 comments on commit e61b07d

Please sign in to comment.