Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch 1 #54

Open
wants to merge 37 commits into
base: pg/ps4
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
931d27c
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#201014
PlayFabJenkinsBot Oct 14, 2020
d0ebd44
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#201027
PlayFabJenkinsBot Oct 27, 2020
07126d2
Add the mandatory network settings step (#39)
pgilmorepf Dec 3, 2020
ae82664
Overhaul of settings (#38)
pgilmorepf Dec 7, 2020
a232e7a
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#201207
PlayFabJenkinsBot Dec 8, 2020
b87f7e4
Removing hard-coded link to entity authentication for specific API me…
pgilmorepf Dec 18, 2020
75e6bb8
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#201218
PlayFabJenkinsBot Dec 21, 2020
cde705c
Unreal 4.26 Support fix (#43)
pgilmorepf Jan 9, 2021
f2b5c88
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210111
PlayFabJenkinsBot Jan 11, 2021
947c6c2
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210125
PlayFabJenkinsBot Jan 25, 2021
59fd338
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210208
PlayFabJenkinsBot Feb 8, 2021
c4e114e
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210315
PlayFabJenkinsBot Mar 16, 2021
3f00a9b
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210406
PlayFabJenkinsBot Apr 6, 2021
87d3470
updating ETriggerType to EPfTriggerType (#46)
toddbellMSFT Apr 13, 2021
e0d35c5
Fix auth header conditionalization (#41)
perezd Apr 23, 2021
07e4f9a
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210427
PlayFabJenkinsBot Apr 27, 2021
af88ac7
adding include that seems to have been removed since last update. (#47)
toddbellMSFT Apr 29, 2021
1d24544
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210429
PlayFabJenkinsBot Apr 29, 2021
8f67ff6
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210511
PlayFabJenkinsBot May 11, 2021
74fb54e
Getting rid of Multistep client login and AttributeInstalled (#48)
toddbellMSFT May 13, 2021
5c51089
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210521
PlayFabJenkinsBot May 21, 2021
5760c48
Tb/fix auth copy (#49)
toddbellMSFT May 27, 2021
e2189be
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210628
PlayFabJenkinsBot Jun 29, 2021
09a2e32
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210628
PlayFabJenkinsBot Jun 29, 2021
c5f2337
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210802
PlayFabJenkinsBot Aug 2, 2021
f8ee3c8
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210816
PlayFabJenkinsBot Aug 16, 2021
8e7bcbb
Update make.js (#51)
toddbellMSFT Aug 20, 2021
c93f3f4
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210820
PlayFabJenkinsBot Aug 20, 2021
e66f4fd
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210830
PlayFabJenkinsBot Aug 30, 2021
f77ec5d
Update PlayFabCppBaseModel.cpp.ejs (#52)
toddbellMSFT Sep 10, 2021
f7fa21c
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210913
PlayFabJenkinsBot Sep 13, 2021
5400fe0
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#210927
PlayFabJenkinsBot Sep 27, 2021
5085f06
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#211012
PlayFabJenkinsBot Oct 12, 2021
20deba3
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#211108
PlayFabJenkinsBot Nov 9, 2021
df7a5a9
Starting Connection String Impl (#53)
toddbellMSFT Nov 30, 2021
87a9d39
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#211209
PlayFabJenkinsBot Dec 9, 2021
799576a
Create 上海
jinhua115 Jan 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#201027
  • Loading branch information
PlayFabJenkinsBot committed Oct 27, 2020
commit d0ebd44944e8ce7ae99aef3e194d9ec7628628ac
4 changes: 2 additions & 2 deletions 4.23/ExampleProject/Plugins/PlayFab/PlayFab.uplugin
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@
"FriendlyName": "PlayFab Marketplace Plugin",
"Version": 0,
"EngineVersion": "4.23.0",
"VersionName": "1.48.201014",
"VersionName": "1.49.201027",
"CreatedBy": "PlayFab and Phoenix Labs",
"CreatedByURL": "https://playfab.com/",
"DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/",
"SupportURL": "https://community.playfab.com/index.html",
"Category": "PlayFab",
"Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.48.201014",
"Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.49.201027",
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f",
"Modules": [
{
Original file line number Diff line number Diff line change
@@ -1660,6 +1660,19 @@ class PLAYFAB_API UPlayFabClientAPI : public UOnlineBlueprintCallProxyBase
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Platform Specific Methods ", meta = (BlueprintInternalUseOnly = "true"))
void HelperAndroidDevicePushNotificationRegistration(FPlayFabBaseModel response, UObject* customData, bool successful);

// callbacks
DECLARE_DYNAMIC_DELEGATE_TwoParams(FDelegateOnSuccessConsumeMicrosoftStoreEntitlements, FClientConsumeMicrosoftStoreEntitlementsResponse, result, UObject*, customData);

/** Grants the player's current entitlements from Microsoft Store's Collection API */
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Platform Specific Methods ", meta = (BlueprintInternalUseOnly = "true"))
static UPlayFabClientAPI* ConsumeMicrosoftStoreEntitlements(FClientConsumeMicrosoftStoreEntitlementsRequest request,
FDelegateOnSuccessConsumeMicrosoftStoreEntitlements onSuccess,
FDelegateOnFailurePlayFabError onFailure, UObject* customData);

// Implements FOnPlayFabClientRequestCompleted
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Platform Specific Methods ", meta = (BlueprintInternalUseOnly = "true"))
void HelperConsumeMicrosoftStoreEntitlements(FPlayFabBaseModel response, UObject* customData, bool successful);

// callbacks
DECLARE_DYNAMIC_DELEGATE_TwoParams(FDelegateOnSuccessConsumePSNEntitlements, FClientConsumePSNEntitlementsResult, result, UObject*, customData);

@@ -2618,6 +2631,7 @@ class PLAYFAB_API UPlayFabClientAPI : public UOnlineBlueprintCallProxyBase
FDelegateOnSuccessMatchmake OnSuccessMatchmake;
FDelegateOnSuccessStartGame OnSuccessStartGame;
FDelegateOnSuccessAndroidDevicePushNotificationRegistration OnSuccessAndroidDevicePushNotificationRegistration;
FDelegateOnSuccessConsumeMicrosoftStoreEntitlements OnSuccessConsumeMicrosoftStoreEntitlements;
FDelegateOnSuccessConsumePSNEntitlements OnSuccessConsumePSNEntitlements;
FDelegateOnSuccessConsumeXboxEntitlements OnSuccessConsumeXboxEntitlements;
FDelegateOnSuccessRefreshPSNAuthToken OnSuccessRefreshPSNAuthToken;
Original file line number Diff line number Diff line change
@@ -418,6 +418,10 @@ class PLAYFAB_API UPlayFabClientModelDecoder : public UBlueprintFunctionLibrary
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Platform Specific Methods Models")
static FClientAndroidDevicePushNotificationRegistrationResult decodeAndroidDevicePushNotificationRegistrationResultResponse(UPlayFabJsonObject* response);

/** Decode the ConsumeMicrosoftStoreEntitlementsResponse response object*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Platform Specific Methods Models")
static FClientConsumeMicrosoftStoreEntitlementsResponse decodeConsumeMicrosoftStoreEntitlementsResponseResponse(UPlayFabJsonObject* response);

/** Decode the ConsumePSNEntitlementsResult response object*/
UFUNCTION(BlueprintCallable, Category = "PlayFab | Client | Platform Specific Methods Models")
static FClientConsumePSNEntitlementsResult decodeConsumePSNEntitlementsResultResponse(UPlayFabJsonObject* response);
Original file line number Diff line number Diff line change
@@ -3154,6 +3154,32 @@ struct PLAYFAB_API FClientAndroidDevicePushNotificationRegistrationResult : publ
public:
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FClientConsumeMicrosoftStoreEntitlementsRequest : public FPlayFabRequestCommon
{
GENERATED_USTRUCT_BODY()
public:
/** Catalog version to use */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Platform Specific Methods Models")
FString CatalogVersion;
/** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Platform Specific Methods Models")
UPlayFabJsonObject* CustomTags = nullptr;
/** Marketplace specific payload containing details to fetch in app purchase transactions */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Platform Specific Methods Models")
UPlayFabJsonObject* MarketplaceSpecificData = nullptr;
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FClientConsumeMicrosoftStoreEntitlementsResponse : public FPlayFabResultCommon
{
GENERATED_USTRUCT_BODY()
public:
/** Details for the items purchased. */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Platform Specific Methods Models")
TArray<UPlayFabJsonObject*> Items;
};

USTRUCT(BlueprintType)
struct PLAYFAB_API FClientConsumePSNEntitlementsRequest : public FPlayFabRequestCommon
{
@@ -3483,11 +3509,7 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo
FString XboxToken;
};

/**
* Note that the Position of the user in the results is for the overall leaderboard. If Facebook friends are included, make
* sure the access token from previous LoginWithFacebook call is still valid and not expired. If Xbox Live friends are
* included, make sure the access token from the previous LoginWithXbox call is still valid and not expired.
*/
/** Note: the user's Position is relative to the overall leaderboard. */
USTRUCT(BlueprintType)
struct PLAYFAB_API FClientGetLeaderboardResult : public FPlayFabResultCommon
{
Original file line number Diff line number Diff line change
@@ -975,6 +975,11 @@ enum class EAzureVmFamily : uint8
pfenum_F UMETA(DisplayName = "F"),
pfenum_Fsv2 UMETA(DisplayName = "Fsv2"),
pfenum_Dasv4 UMETA(DisplayName = "Dasv4"),
pfenum_Dav4 UMETA(DisplayName = "Dav4"),
pfenum_Eav4 UMETA(DisplayName = "Eav4"),
pfenum_Easv4 UMETA(DisplayName = "Easv4"),
pfenum_Ev4 UMETA(DisplayName = "Ev4"),
pfenum_Esv4 UMETA(DisplayName = "Esv4"),
};

/** AzureVmSize */
@@ -1012,6 +1017,10 @@ enum class EAzureVmSize : uint8
pfenum_Standard_D4as_v4 UMETA(DisplayName = "Standard_D4as_v4"),
pfenum_Standard_D8as_v4 UMETA(DisplayName = "Standard_D8as_v4"),
pfenum_Standard_D16as_v4 UMETA(DisplayName = "Standard_D16as_v4"),
pfenum_Standard_D2a_v4 UMETA(DisplayName = "Standard_D2a_v4"),
pfenum_Standard_D4a_v4 UMETA(DisplayName = "Standard_D4a_v4"),
pfenum_Standard_D8a_v4 UMETA(DisplayName = "Standard_D8a_v4"),
pfenum_Standard_D16a_v4 UMETA(DisplayName = "Standard_D16a_v4"),
};

/** CancellationReason */
Original file line number Diff line number Diff line change
@@ -6618,6 +6618,60 @@ void UPlayFabClientAPI::HelperAndroidDevicePushNotificationRegistration(FPlayFab
this->RemoveFromRoot();
}

/** Grants the player's current entitlements from Microsoft Store's Collection API */
UPlayFabClientAPI* UPlayFabClientAPI::ConsumeMicrosoftStoreEntitlements(FClientConsumeMicrosoftStoreEntitlementsRequest request,
FDelegateOnSuccessConsumeMicrosoftStoreEntitlements 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->OnSuccessConsumeMicrosoftStoreEntitlements = onSuccess;
manager->OnFailure = onFailure;
manager->OnPlayFabResponse.AddDynamic(manager, &UPlayFabClientAPI::HelperConsumeMicrosoftStoreEntitlements);

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


// Serialize all the request properties to json
if (request.CatalogVersion.IsEmpty() || request.CatalogVersion == "") {
OutRestJsonObj->SetFieldNull(TEXT("CatalogVersion"));
} else {
OutRestJsonObj->SetStringField(TEXT("CatalogVersion"), request.CatalogVersion);
}
if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags);
if (request.MarketplaceSpecificData != nullptr) OutRestJsonObj->SetObjectField(TEXT("MarketplaceSpecificData"), request.MarketplaceSpecificData);

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

return manager;
}

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

/** Checks for any new consumable entitlements. If any are found, they are consumed and added as PlayFab items */
UPlayFabClientAPI* UPlayFabClientAPI::ConsumePSNEntitlements(FClientConsumePSNEntitlementsRequest request,
FDelegateOnSuccessConsumePSNEntitlements onSuccess,
Original file line number Diff line number Diff line change
@@ -932,6 +932,17 @@ FClientAndroidDevicePushNotificationRegistrationResult UPlayFabClientModelDecode
return tempStruct;
}

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

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

return tempStruct;
}

FClientConsumePSNEntitlementsResult UPlayFabClientModelDecoder::decodeConsumePSNEntitlementsResultResponse(UPlayFabJsonObject* response)
{
// Temp ustruct
Original file line number Diff line number Diff line change
@@ -574,7 +574,6 @@ FString UPlayFabUtilities::getErrorText(int32 code)
case 4008: returnText = "CatalogSearchParameterInvalid"; break;
case 4009: returnText = "CatalogFeatureDisabled"; break;
case 4010: returnText = "CatalogConfigInvalid"; break;
case 4011: returnText = "CatalogUnauthorized"; break;
case 4012: returnText = "CatalogItemTypeInvalid"; break;
case 4013: returnText = "CatalogBadRequest"; break;
case 4014: returnText = "CatalogTooManyRequests"; break;
@@ -636,6 +635,10 @@ FString UPlayFabUtilities::getErrorText(int32 code)
case 10004: returnText = "SegmentManagementInvalidSegmentId"; break;
case 10005: returnText = "SegmentManagementInvalidInput"; break;
case 10006: returnText = "SegmentManagementInvalidSegmentName"; break;
case 10007: returnText = "DeleteSegmentRateLimitExceeded"; break;
case 10008: returnText = "CreateSegmentRateLimitExceeded"; break;
case 10009: returnText = "UpdateSegmentRateLimitExceeded"; break;
case 10010: returnText = "GetSegmentsRateLimitExceeded"; break;
case 11000: returnText = "SnapshotNotFound"; break;
}

Original file line number Diff line number Diff line change
@@ -7,9 +7,9 @@

namespace PlayFabCommon
{
const FString PlayFabCommonSettings::sdkVersion = "1.48.201014";
const FString PlayFabCommonSettings::sdkVersion = "1.49.201027";
const FString PlayFabCommonSettings::buildIdentifier = "jbuild_unrealmarketplaceplugin__sdk-unrealslave-2_0";
const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.48.201014";
const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.49.201027";
const FString PlayFabCommonSettings::verticalName = "";

FString PlayFabCommonSettings::serverURL;
Original file line number Diff line number Diff line change
@@ -448,6 +448,37 @@ void UPlayFabClientAPI::OnConsumeItemResult(FHttpRequestPtr HttpRequest, FHttpRe
}
}

bool UPlayFabClientAPI::ConsumeMicrosoftStoreEntitlements(
ClientModels::FConsumeMicrosoftStoreEntitlementsRequest& request,
const FConsumeMicrosoftStoreEntitlementsDelegate& SuccessDelegate,
const FPlayFabErrorDelegate& ErrorDelegate)
{
if((request.AuthenticationContext.IsValid() && request.AuthenticationContext->GetClientSessionTicket().Len() == 0)
|| (!request.AuthenticationContext.IsValid() && PlayFabSettings::GetClientSessionTicket().Len() == 0)) {
UE_LOG(LogPlayFabCpp, Error, TEXT("You must log in before calling this function"));
return false;
}


auto HttpRequest = PlayFabRequestHandler::SendRequest(PlayFabSettings::GetUrl(TEXT("/Client/ConsumeMicrosoftStoreEntitlements")), request.toJSONString(), TEXT("X-Authorization"), !request.AuthenticationContext.IsValid() ? PlayFabSettings::GetClientSessionTicket() : request.AuthenticationContext->GetClientSessionTicket());
HttpRequest->OnProcessRequestComplete().BindRaw(this, &UPlayFabClientAPI::OnConsumeMicrosoftStoreEntitlementsResult, SuccessDelegate, ErrorDelegate);
return HttpRequest->ProcessRequest();
}

void UPlayFabClientAPI::OnConsumeMicrosoftStoreEntitlementsResult(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FConsumeMicrosoftStoreEntitlementsDelegate SuccessDelegate, FPlayFabErrorDelegate ErrorDelegate)
{
ClientModels::FConsumeMicrosoftStoreEntitlementsResponse outResult;
FPlayFabCppError errorResult;
if (PlayFabRequestHandler::DecodeRequest(HttpRequest, HttpResponse, bSucceeded, outResult, errorResult))
{
SuccessDelegate.ExecuteIfBound(outResult);
}
else
{
ErrorDelegate.ExecuteIfBound(errorResult);
}
}

bool UPlayFabClientAPI::ConsumePSNEntitlements(
ClientModels::FConsumePSNEntitlementsRequest& request,
const FConsumePSNEntitlementsDelegate& SuccessDelegate,
Loading