Skip to content

Commit

Permalink
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#230901
Browse files Browse the repository at this point in the history
  • Loading branch information
PlayFab SDK Team authored and PlayFab SDK Team committed Sep 4, 2023
2 parents dd21953 + 3f26cd2 commit 22f5998
Show file tree
Hide file tree
Showing 21 changed files with 203 additions and 23 deletions.
27 changes: 27 additions & 0 deletions PlayFabSDK/source/PlayFabAdminAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,33 @@ public static async Task<PlayFabResult<DeleteMasterPlayerAccountResult>> DeleteM
return new PlayFabResult<DeleteMasterPlayerAccountResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage
/// </summary>
public static async Task<PlayFabResult<DeleteMasterPlayerEventDataResult>> DeleteMasterPlayerEventDataAsync(DeleteMasterPlayerEventDataRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestSettings.DeveloperSecretKey == null) throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "DeveloperSecretKey must be set in your local or global settings to call this method");


var httpResult = await PlayFabHttp.DoPost("/Admin/DeleteMasterPlayerEventData", request, "X-SecretKey", requestSettings.DeveloperSecretKey, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<DeleteMasterPlayerEventDataResult>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes a player's subscription
/// </summary>
Expand Down
26 changes: 26 additions & 0 deletions PlayFabSDK/source/PlayFabAdminInstanceAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,32 @@ public async Task<PlayFabResult<DeleteMasterPlayerAccountResult>> DeleteMasterPl
return new PlayFabResult<DeleteMasterPlayerAccountResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage
/// </summary>
public async Task<PlayFabResult<DeleteMasterPlayerEventDataResult>> DeleteMasterPlayerEventDataAsync(DeleteMasterPlayerEventDataRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestSettings.DeveloperSecretKey == null) throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "DeveloperSecretKey must be set in your local or global settings to call this method");

var httpResult = await PlayFabHttp.DoPost("/Admin/DeleteMasterPlayerEventData", request, "X-SecretKey", requestSettings.DeveloperSecretKey, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<DeleteMasterPlayerEventDataResult>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes a player's subscription
/// </summary>
Expand Down
21 changes: 20 additions & 1 deletion PlayFabSDK/source/PlayFabAdminModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1558,6 +1558,23 @@ public class DeleteMasterPlayerAccountResult : PlayFabResultCommon

}

/// <summary>
/// Deletes any PlayStream or telemetry event associated with the player from PlayFab. Note, this API queues the data for
/// asynchronous deletion. It may take some time before the data is deleted.
/// </summary>
public class DeleteMasterPlayerEventDataRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId ;

}

public class DeleteMasterPlayerEventDataResult : PlayFabResultCommon
{
}

/// <summary>
/// This API lets developers delete a membership subscription.
/// </summary>
Expand Down Expand Up @@ -2563,6 +2580,7 @@ public enum GenericErrorCodes
NamespaceMismatch,
InvalidServiceConfiguration,
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
Expand Down Expand Up @@ -6260,7 +6278,8 @@ public enum SegmentLoginIdentityProvider
FacebookInstantGames,
OpenIdConnect,
Apple,
NintendoSwitchAccount
NintendoSwitchAccount,
GooglePlayGames
}

public class SegmentModel
Expand Down
7 changes: 5 additions & 2 deletions PlayFabSDK/source/PlayFabEconomyAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1153,8 +1153,11 @@ public static async Task<PlayFabResult<TakedownItemReviewsResponse>> TakedownIte
}

/// <summary>
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer is in
/// progress and will complete soon. More information about item transfer scenarios can be found here:
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
/// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
/// 'InProgress'. You can check on the operation status at anytime within 30 days of the request by passing the
/// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
/// here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
/// </summary>
public static async Task<PlayFabResult<TransferInventoryItemsResponse>> TransferInventoryItemsAsync(TransferInventoryItemsRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
Expand Down
7 changes: 5 additions & 2 deletions PlayFabSDK/source/PlayFabEconomyInstanceAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1131,8 +1131,11 @@ public async Task<PlayFabResult<TakedownItemReviewsResponse>> TakedownItemReview
}

/// <summary>
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer is in
/// progress and will complete soon. More information about item transfer scenarios can be found here:
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
/// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
/// 'InProgress'. You can check on the operation status at anytime within 30 days of the request by passing the
/// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
/// here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
/// </summary>
public async Task<PlayFabResult<TransferInventoryItemsResponse>> TransferInventoryItemsAsync(TransferInventoryItemsRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
Expand Down
10 changes: 10 additions & 0 deletions PlayFabSDK/source/PlayFabEconomyModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2132,6 +2132,10 @@ public class PurchaseOverride
{
}

public class PurchaseOverridesInfo
{
}

public class PurchasePriceAmount
{
/// <summary>
Expand Down Expand Up @@ -3291,6 +3295,12 @@ public class TransferInventoryItemsResponse : PlayFabResultCommon
/// </summary>
public string IdempotencyId ;

/// <summary>
/// The transfer operation status. Possible values are 'InProgress' or 'Completed'. If the operation has completed, the
/// response code will be 200. Otherwise, it will be 202.
/// </summary>
public string OperationStatus ;

/// <summary>
/// The ids of transactions that occurred as a result of the request's receiving action.
/// </summary>
Expand Down
1 change: 1 addition & 0 deletions PlayFabSDK/source/PlayFabErrors.cs
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,7 @@ public enum PlayFabErrorCode
NamespaceMismatch = 1559,
InvalidServiceConfiguration = 1560,
InvalidNamespaceMismatch = 1561,
LeaderboardColumnLengthMismatch = 1562,
MatchmakingEntityInvalid = 2001,
MatchmakingPlayerAttributesInvalid = 2002,
MatchmakingQueueNotFound = 2016,
Expand Down
4 changes: 2 additions & 2 deletions PlayFabSDK/source/PlayFabSDK.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<FileAlignment>512</FileAlignment>

<PackageId>PlayFabAllSDK</PackageId>
<Version>1.161.230818</Version>
<Version>1.162.230901</Version>
<Title>PlayFab CSharp Sdk</Title>
<Authors>Microsoft</Authors>
<Owners>Microsoft</Owners>
Expand All @@ -21,7 +21,7 @@
<Company>PlayFab</Company>
<Product>PlayFabSDK</Product>
<PackageTags>PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native</PackageTags>
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230818</PackageReleaseNotes>
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230901</PackageReleaseNotes>
<NeutralLanguage>en</NeutralLanguage>
<AssemblyVersion>1</AssemblyVersion>
<FileVersion>1</FileVersion>
Expand Down
1 change: 1 addition & 0 deletions PlayFabSDK/source/PlayFabServerModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2116,6 +2116,7 @@ public enum GenericErrorCodes
NamespaceMismatch,
InvalidServiceConfiguration,
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
Expand Down
6 changes: 3 additions & 3 deletions PlayFabSDK/source/PlayFabSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ namespace PlayFab
{
public class PlayFabSettings
{
public const string SdkVersion = "1.161.230818";
public const string BuildIdentifier = "adobuild_csharpsdk_116";
public const string SdkVersionString = "CSharpSDK-1.161.230818";
public const string SdkVersion = "1.162.230901";
public const string BuildIdentifier = "adobuild_csharpsdk_114";
public const string SdkVersionString = "CSharpSDK-1.162.230901";
/// <summary> This is only for customers running a private cluster. Generally you shouldn't touch this </summary>
public static string DefaultProductionEnvironmentUrl = "playfabapi.com";

Expand Down
6 changes: 3 additions & 3 deletions Plugins/CloudScript/source/PlayFabCloudScriptPlugin.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<FileAlignment>512</FileAlignment>

<PackageId>PlayFabCloudScriptPlugin</PackageId>
<Version>1.161.230818-alpha</Version>
<Version>1.162.230901-alpha</Version>
<Title>PlayFab CSharp CloudScript Plugin</Title>
<Authors>Microsoft</Authors>
<Owners>Microsoft</Owners>
Expand All @@ -21,7 +21,7 @@
<Product>PlayFabCloudScriptPlugin</Product>
<Copyright>Copyright 2023</Copyright>
<PackageTags>PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native</PackageTags>
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230818</PackageReleaseNotes>
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230901</PackageReleaseNotes>
<NeutralLanguage>en</NeutralLanguage>
<AssemblyVersion>1</AssemblyVersion>
<FileVersion>1</FileVersion>
Expand All @@ -45,7 +45,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="PlayFabAllSDK" Version="1.161.230818" />
<PackageReference Include="PlayFabAllSDK" Version="1.162.230901" />
</ItemGroup>

</Project>
27 changes: 27 additions & 0 deletions XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAdminAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,33 @@ public static async Task<PlayFabResult<DeleteMasterPlayerAccountResult>> DeleteM
return new PlayFabResult<DeleteMasterPlayerAccountResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage
/// </summary>
public static async Task<PlayFabResult<DeleteMasterPlayerEventDataResult>> DeleteMasterPlayerEventDataAsync(DeleteMasterPlayerEventDataRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestSettings.DeveloperSecretKey == null) throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "DeveloperSecretKey must be set in your local or global settings to call this method");


var httpResult = await PlayFabHttp.DoPost("/Admin/DeleteMasterPlayerEventData", request, "X-SecretKey", requestSettings.DeveloperSecretKey, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<DeleteMasterPlayerEventDataResult>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes a player's subscription
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,32 @@ public async Task<PlayFabResult<DeleteMasterPlayerAccountResult>> DeleteMasterPl
return new PlayFabResult<DeleteMasterPlayerAccountResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage
/// </summary>
public async Task<PlayFabResult<DeleteMasterPlayerEventDataResult>> DeleteMasterPlayerEventDataAsync(DeleteMasterPlayerEventDataRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestSettings.DeveloperSecretKey == null) throw new PlayFabException(PlayFabExceptionCode.DeveloperKeyNotSet, "DeveloperSecretKey must be set in your local or global settings to call this method");

var httpResult = await PlayFabHttp.DoPost("/Admin/DeleteMasterPlayerEventData", request, "X-SecretKey", requestSettings.DeveloperSecretKey, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Error = error, CustomData = customData };
}

var resultRawJson = (string)httpResult;
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<DeleteMasterPlayerEventDataResult>>(resultRawJson);
var result = resultData.data;

return new PlayFabResult<DeleteMasterPlayerEventDataResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Deletes a player's subscription
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1558,6 +1558,23 @@ public class DeleteMasterPlayerAccountResult : PlayFabResultCommon

}

/// <summary>
/// Deletes any PlayStream or telemetry event associated with the player from PlayFab. Note, this API queues the data for
/// asynchronous deletion. It may take some time before the data is deleted.
/// </summary>
public class DeleteMasterPlayerEventDataRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId ;

}

public class DeleteMasterPlayerEventDataResult : PlayFabResultCommon
{
}

/// <summary>
/// This API lets developers delete a membership subscription.
/// </summary>
Expand Down Expand Up @@ -2563,6 +2580,7 @@ public enum GenericErrorCodes
NamespaceMismatch,
InvalidServiceConfiguration,
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
Expand Down Expand Up @@ -6260,7 +6278,8 @@ public enum SegmentLoginIdentityProvider
FacebookInstantGames,
OpenIdConnect,
Apple,
NintendoSwitchAccount
NintendoSwitchAccount,
GooglePlayGames
}

public class SegmentModel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1153,8 +1153,11 @@ public static async Task<PlayFabResult<TakedownItemReviewsResponse>> TakedownIte
}

/// <summary>
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer is in
/// progress and will complete soon. More information about item transfer scenarios can be found here:
/// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
/// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
/// 'InProgress'. You can check on the operation status at anytime within 30 days of the request by passing the
/// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
/// here:
/// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
/// </summary>
public static async Task<PlayFabResult<TransferInventoryItemsResponse>> TransferInventoryItemsAsync(TransferInventoryItemsRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
Expand Down
Loading

0 comments on commit 22f5998

Please sign in to comment.