diff --git a/PlayFabSDK/source/PlayFabAdminModels.cs b/PlayFabSDK/source/PlayFabAdminModels.cs
index f1f013df..aa3e596a 100644
--- a/PlayFabSDK/source/PlayFabAdminModels.cs
+++ b/PlayFabSDK/source/PlayFabAdminModels.cs
@@ -26,11 +26,21 @@ public class AbortTaskInstanceRequest : PlayFabRequestCommon
///
public class Action
{
+ ///
+ /// Action content to Add Inventory item v2
+ ///
+ public AddInventoryItemV2Content AddInventoryItemV2Content ;
+
///
/// Action content to ban player
///
public BanPlayerContent BanPlayerContent ;
+ ///
+ /// Action content to delete inventory item v2
+ ///
+ public DeleteInventoryItemV2Content DeleteInventoryItemV2Content ;
+
///
/// Action content to delete player
///
@@ -71,6 +81,11 @@ public class Action
///
public SendEmailContent SendEmailContent ;
+ ///
+ /// Action content to Subtract Inventory item v2
+ ///
+ public SubtractInventoryItemV2Content SubtractInventoryItemV2Content ;
+
}
public class ActionsOnPlayersInSegmentTaskParameter
@@ -208,6 +223,35 @@ public class AdCampaignSegmentFilter
}
+ public class AddInventoryItemV2Content
+ {
+ ///
+ /// Amount of the item to be granted to a player
+ ///
+ public int? Amount ;
+
+ ///
+ /// The collection id for where the item will be granted in the player inventory
+ ///
+ public string CollectionId ;
+
+ ///
+ /// The duration in seconds of the subscription to be granted to a player
+ ///
+ public int? DurationInSeconds ;
+
+ ///
+ /// The id of item to be granted to the player
+ ///
+ public string ItemId ;
+
+ ///
+ /// The stack id for where the item will be granted in the player inventory
+ ///
+ public string StackId ;
+
+ }
+
public class AddLocalizedNewsRequest : PlayFabRequestCommon
{
///
@@ -1589,6 +1633,25 @@ public class DeleteContentRequest : PlayFabRequestCommon
}
+ public class DeleteInventoryItemV2Content
+ {
+ ///
+ /// The collection id for where the item will be removed from the player inventory
+ ///
+ public string CollectionId ;
+
+ ///
+ /// The id of item to be removed from the player
+ ///
+ public string ItemId ;
+
+ ///
+ /// The stack id for where the item will be removed from the player inventory
+ ///
+ public string StackId ;
+
+ }
+
///
/// Deletes all data associated with the master player account, including data from all titles the player has played, such
/// as statistics, custom data, inventory, purchases, virtual currency balances, characters, group memberships, publisher
@@ -2661,6 +2724,7 @@ public enum GenericErrorCodes
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
InvalidStatisticScore,
+ LeaderboardColumnsNotSpecified,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
@@ -3883,17 +3947,17 @@ public int CompareTo(GrantedItemInstance other)
public class GrantItemContent
{
///
- /// Publish cloudscript results as playstream event
+ /// The catalog version of the item to be granted to the player
///
public string CatalogVersion ;
///
- /// Publish cloudscript results as playstream event
+ /// The id of item to be granted to the player
///
public string ItemId ;
///
- /// Publish cloudscript results as playstream event
+ /// Quantity of the item to be granted to a player
///
public int ItemQuantity ;
@@ -6795,6 +6859,35 @@ public enum SubscriptionProviderStatus
PaymentPending
}
+ public class SubtractInventoryItemV2Content
+ {
+ ///
+ /// Amount of the item to removed from the player
+ ///
+ public int? Amount ;
+
+ ///
+ /// The collection id for where the item will be removed from the player inventory
+ ///
+ public string CollectionId ;
+
+ ///
+ /// The duration in seconds to be removed from the subscription in the players inventory
+ ///
+ public int? DurationInSeconds ;
+
+ ///
+ /// The id of item to be removed from the player
+ ///
+ public string ItemId ;
+
+ ///
+ /// The stack id for where the item will be removed from the player inventory
+ ///
+ public string StackId ;
+
+ }
+
public class SubtractUserVirtualCurrencyRequest : PlayFabRequestCommon
{
///
diff --git a/PlayFabSDK/source/PlayFabErrors.cs b/PlayFabSDK/source/PlayFabErrors.cs
index 64ebf854..16fd33d1 100644
--- a/PlayFabSDK/source/PlayFabErrors.cs
+++ b/PlayFabSDK/source/PlayFabErrors.cs
@@ -564,6 +564,7 @@ public enum PlayFabErrorCode
InvalidNamespaceMismatch = 1561,
LeaderboardColumnLengthMismatch = 1562,
InvalidStatisticScore = 1563,
+ LeaderboardColumnsNotSpecified = 1564,
MatchmakingEntityInvalid = 2001,
MatchmakingPlayerAttributesInvalid = 2002,
MatchmakingQueueNotFound = 2016,
diff --git a/PlayFabSDK/source/PlayFabHttp/PlayFabPollyHttp.cs b/PlayFabSDK/source/PlayFabHttp/PlayFabPollyHttp.cs
index 8f6c739a..9ea21d73 100644
--- a/PlayFabSDK/source/PlayFabHttp/PlayFabPollyHttp.cs
+++ b/PlayFabSDK/source/PlayFabHttp/PlayFabPollyHttp.cs
@@ -11,7 +11,7 @@
using System.Threading.Tasks;
namespace PlayFab.Internal
-{
+{
///
/// A Polly wrapped version of PlayFab Transport plug in which used
/// when making http requests to PlayFab Main Server.
@@ -38,21 +38,15 @@ public class PlayFabPollyHttp : PlayFabSysHttp, ITransportPlugin
public string Name;
///
- /// Gets the resilience policies defined.
+ /// Gets the PlayFab retry policies
///
- public AsyncPolicyWrap
public SendEmailContent SendEmailContent ;
+ ///
+ /// Action content to Subtract Inventory item v2
+ ///
+ public SubtractInventoryItemV2Content SubtractInventoryItemV2Content ;
+
}
public class ActionsOnPlayersInSegmentTaskParameter
@@ -208,6 +223,35 @@ public class AdCampaignSegmentFilter
}
+ public class AddInventoryItemV2Content
+ {
+ ///
+ /// Amount of the item to be granted to a player
+ ///
+ public int? Amount ;
+
+ ///
+ /// The collection id for where the item will be granted in the player inventory
+ ///
+ public string CollectionId ;
+
+ ///
+ /// The duration in seconds of the subscription to be granted to a player
+ ///
+ public int? DurationInSeconds ;
+
+ ///
+ /// The id of item to be granted to the player
+ ///
+ public string ItemId ;
+
+ ///
+ /// The stack id for where the item will be granted in the player inventory
+ ///
+ public string StackId ;
+
+ }
+
public class AddLocalizedNewsRequest : PlayFabRequestCommon
{
///
@@ -1589,6 +1633,25 @@ public class DeleteContentRequest : PlayFabRequestCommon
}
+ public class DeleteInventoryItemV2Content
+ {
+ ///
+ /// The collection id for where the item will be removed from the player inventory
+ ///
+ public string CollectionId ;
+
+ ///
+ /// The id of item to be removed from the player
+ ///
+ public string ItemId ;
+
+ ///
+ /// The stack id for where the item will be removed from the player inventory
+ ///
+ public string StackId ;
+
+ }
+
///
/// Deletes all data associated with the master player account, including data from all titles the player has played, such
/// as statistics, custom data, inventory, purchases, virtual currency balances, characters, group memberships, publisher
@@ -2661,6 +2724,7 @@ public enum GenericErrorCodes
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
InvalidStatisticScore,
+ LeaderboardColumnsNotSpecified,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
@@ -3883,17 +3947,17 @@ public int CompareTo(GrantedItemInstance other)
public class GrantItemContent
{
///
- /// Publish cloudscript results as playstream event
+ /// The catalog version of the item to be granted to the player
///
public string CatalogVersion ;
///
- /// Publish cloudscript results as playstream event
+ /// The id of item to be granted to the player
///
public string ItemId ;
///
- /// Publish cloudscript results as playstream event
+ /// Quantity of the item to be granted to a player
///
public int ItemQuantity ;
@@ -6795,6 +6859,35 @@ public enum SubscriptionProviderStatus
PaymentPending
}
+ public class SubtractInventoryItemV2Content
+ {
+ ///
+ /// Amount of the item to removed from the player
+ ///
+ public int? Amount ;
+
+ ///
+ /// The collection id for where the item will be removed from the player inventory
+ ///
+ public string CollectionId ;
+
+ ///
+ /// The duration in seconds to be removed from the subscription in the players inventory
+ ///
+ public int? DurationInSeconds ;
+
+ ///
+ /// The id of item to be removed from the player
+ ///
+ public string ItemId ;
+
+ ///
+ /// The stack id for where the item will be removed from the player inventory
+ ///
+ public string StackId ;
+
+ }
+
public class SubtractUserVirtualCurrencyRequest : PlayFabRequestCommon
{
///
diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabErrors.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabErrors.cs
index 64ebf854..16fd33d1 100644
--- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabErrors.cs
+++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabErrors.cs
@@ -564,6 +564,7 @@ public enum PlayFabErrorCode
InvalidNamespaceMismatch = 1561,
LeaderboardColumnLengthMismatch = 1562,
InvalidStatisticScore = 1563,
+ LeaderboardColumnsNotSpecified = 1564,
MatchmakingEntityInvalid = 2001,
MatchmakingPlayerAttributesInvalid = 2002,
MatchmakingQueueNotFound = 2016,
diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabHttp/PlayFabPollyHttp.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabHttp/PlayFabPollyHttp.cs
index 8f6c739a..9ea21d73 100644
--- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabHttp/PlayFabPollyHttp.cs
+++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabHttp/PlayFabPollyHttp.cs
@@ -11,7 +11,7 @@
using System.Threading.Tasks;
namespace PlayFab.Internal
-{
+{
///
/// A Polly wrapped version of PlayFab Transport plug in which used
/// when making http requests to PlayFab Main Server.
@@ -38,21 +38,15 @@ public class PlayFabPollyHttp : PlayFabSysHttp, ITransportPlugin
public string Name;
///
- /// Gets the resilience policies defined.
+ /// Gets the PlayFab retry policies
///
- public AsyncPolicyWrap CommonResilience { get; private set; }
+ public AsyncRetryPolicy RetryPolicy { get; private set; }
///
/// Constructor for objects of type PollyTransportPlug.
///
- /// Sets a default resilience policy with the fololwing common settings
+ /// Sets a default resilience policy with the following common settings
/// 1) Sets the retry to 3 times and has an embedded backoff.
- /// 2) > Sets a circuit breaker that will trigger is 25% of collapsed calls within
- /// a 5 second window are failing.
- /// > Period for evaluation requires a burst of >=2RPS before evaluating breaker rule,
- /// requires a minimum of 10 requests in 5 seconds, and the circuit breaker will
- /// will be open for 20 second.
- /// More information on the client can be found here: https://github.com/App-vNext/Polly
///
///
public PlayFabPollyHttp()
@@ -63,17 +57,8 @@ public PlayFabPollyHttp()
.OrResult(r => r != null && (r as PlayFabError) != null && HttpStatusCodesWorthRetrying.Contains((r as PlayFabError).HttpCode))
.WaitAndRetryAsync(1,
retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)) // exponential back-off: 2, 4, 8 etc
- + TimeSpan.FromMilliseconds(jitterer.Next(0, 1000))); // plus some jitter: up to 1 second
-
- var breakerPolicy = Policy.Handle()
- .OrResult(r => r != null && (r as PlayFabError) != null && HttpStatusCodesWorthRetrying.Contains((r as PlayFabError).HttpCode))
- .AdvancedCircuitBreakerAsync(
- failureThreshold: 0.25,
- samplingDuration: TimeSpan.FromSeconds(5),
- minimumThroughput: 2,
- durationOfBreak: TimeSpan.FromSeconds(20));
-
- CommonResilience = retryPolicy.WrapAsync(breakerPolicy);
+ + TimeSpan.FromMilliseconds(jitterer.Next(0, 1000))); // plus some jitter: up to 1
+ RetryPolicy = retryPolicy;
Name = "PlayFabWithPolly";
}
@@ -81,7 +66,7 @@ public PlayFabPollyHttp()
///
public new async Task DoPost(string fullPath, object request, Dictionary headers)
{
- object doPostResult = await CommonResilience
+ object doPostResult = await RetryPolicy
.ExecuteAsync(async () =>
{
return await base.DoPost(fullPath, request, headers);
@@ -93,10 +78,9 @@ public PlayFabPollyHttp()
///
/// Overrides the Polly Policies to enforce.
///
- /// Thrown when retryPolicy and/or breakerPolicy is null.
- public void OverridePolicies(AsyncPolicyWrap policy)
+ public void OverridePolicies(AsyncRetryPolicy policy)
{
- CommonResilience = policy;
+ RetryPolicy = policy;
}
}
}
diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerModels.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerModels.cs
index 03c89e1b..0d74d29d 100644
--- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerModels.cs
+++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerModels.cs
@@ -1264,7 +1264,7 @@ public class CreateLobbyRequest : PlayFabRequestCommon
public Dictionary CustomTags ;
///
- /// The private key-value pairs which are only visible to members of the lobby. At most 30 key-value pairs may be stored
+ /// The private key-value pairs which are visible to all entities in the lobby. At most 30 key-value pairs may be stored
/// here, keys are limited to 30 characters and values to 1000. The total size of all lobbyData values may not exceed 4096
/// bytes. Keys are case sensitive.
///
@@ -3023,7 +3023,7 @@ public class JoinArrangedLobbyRequest : PlayFabRequestCommon
///
/// The private key-value pairs used by the member to communicate information to other members and the owner. Visible to all
- /// members of the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
+ /// entities in the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
/// 1000. The total size of all memberData values may not exceed 4096 bytes. Keys are case sensitive.
///
public Dictionary MemberData ;
@@ -3071,7 +3071,7 @@ public class JoinLobbyRequest : PlayFabRequestCommon
///
/// The private key-value pairs used by the member to communicate information to other members and the owner. Visible to all
- /// members of the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
+ /// entities in the lobby. At most 30 key-value pairs may be stored here, keys are limited to 30 characters and values to
/// 1000. The total size of all memberData values may not exceed 4096 bytes.Keys are case sensitive.
///
public Dictionary MemberData ;
@@ -5455,7 +5455,7 @@ public class UpdateLobbyRequest : PlayFabRequestCommon
public Dictionary CustomTags ;
///
- /// The private key-value pairs which are only visible to members of the lobby. Optional. Sets or updates key-value pairs on
+ /// The private key-value pairs which are visible to all entities in the lobby. Optional. Sets or updates key-value pairs on
/// the lobby. Only the current lobby owner can set lobby data. Keys may be an arbitrary string of at most 30 characters.
/// The total size of all lobbyData values may not exceed 4096 bytes. Values are not individually limited. There can be up
/// to 30 key-value pairs stored here. Keys are case sensitive.
@@ -5482,9 +5482,9 @@ public class UpdateLobbyRequest : PlayFabRequestCommon
///
/// The private key-value pairs used by the member to communicate information to other members and the owner. Optional. Sets
/// or updates new key-value pairs on the caller's member data. New keys will be added with their values and existing keys
- /// will be updated with the new values. Visible to all members of the lobby. At most 30 key-value pairs may be stored here,
- /// keys are limited to 30 characters and values to 1000. The total size of all memberData values may not exceed 4096 bytes.
- /// Keys are case sensitive. Servers cannot specifiy this.
+ /// will be updated with the new values. Visible to all entities in the lobby. At most 30 key-value pairs may be stored
+ /// here, keys are limited to 30 characters and values to 1000. The total size of all memberData values may not exceed 4096
+ /// bytes. Keys are case sensitive. Servers cannot specifiy this.
///
public Dictionary MemberData ;
diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSDK.csproj b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSDK.csproj
index 0962d858..29907e6f 100644
--- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSDK.csproj
+++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSDK.csproj
@@ -8,7 +8,7 @@
512PlayFabAllSDK
- 1.168.231101
+ 1.169.231110PlayFab CSharp SdkMicrosoftMicrosoft
@@ -21,7 +21,7 @@
PlayFabPlayFabSDKPlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native
- https://docs.microsoft.com/gaming/playfab/release-notes#231101
+ https://docs.microsoft.com/gaming/playfab/release-notes#231110en11
diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerModels.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerModels.cs
index 6b431374..5acdba2c 100644
--- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerModels.cs
+++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerModels.cs
@@ -2092,6 +2092,7 @@ public enum GenericErrorCodes
InvalidNamespaceMismatch,
LeaderboardColumnLengthMismatch,
InvalidStatisticScore,
+ LeaderboardColumnsNotSpecified,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs
index 541d2979..4654d902 100644
--- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs
+++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs
@@ -6,9 +6,9 @@ namespace PlayFab
{
public class PlayFabSettings
{
- public const string SdkVersion = "1.168.231101";
+ public const string SdkVersion = "1.169.231110";
public const string BuildIdentifier = "adobuild_csharpsdk_114";
- public const string SdkVersionString = "CSharpSDK-1.168.231101";
+ public const string SdkVersionString = "CSharpSDK-1.169.231110";
/// This is only for customers running a private cluster. Generally you shouldn't touch this
public static string DefaultProductionEnvironmentUrl = "playfabapi.com";