diff --git a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java index 45c2c6e95..8e34fa593 100644 --- a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java +++ b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java @@ -288,7 +288,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -323,7 +323,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** diff --git a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java index 56c404dbf..eac3910d2 100644 --- a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java +++ b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java @@ -4,9 +4,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.40.161107"; + public static String SdkVersion = "0.41.161121"; public static String BuildIdentifier = "jbuild_javasdk_1"; - public static String SdkVersionString = "JavaSDK-0.40.161107"; + public static String SdkVersionString = "JavaSDK-0.41.161121"; public static String TitleId = null; // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) public static ErrorCallback GlobalErrorHandler; diff --git a/PlayFabClientSDK/src/com/playfab/PlayFabClientModels.java b/PlayFabClientSDK/src/com/playfab/PlayFabClientModels.java index 45c2c6e95..8e34fa593 100644 --- a/PlayFabClientSDK/src/com/playfab/PlayFabClientModels.java +++ b/PlayFabClientSDK/src/com/playfab/PlayFabClientModels.java @@ -288,7 +288,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -323,7 +323,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** diff --git a/PlayFabClientSDK/src/com/playfab/PlayFabSettings.java b/PlayFabClientSDK/src/com/playfab/PlayFabSettings.java index 466c9ae22..e33f517fa 100644 --- a/PlayFabClientSDK/src/com/playfab/PlayFabSettings.java +++ b/PlayFabClientSDK/src/com/playfab/PlayFabSettings.java @@ -3,9 +3,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.40.161107"; + public static String SdkVersion = "0.41.161121"; public static String BuildIdentifier = "jbuild_javasdk_1"; - public static String SdkVersionString = "JavaSDK-0.40.161107"; + public static String SdkVersionString = "JavaSDK-0.41.161121"; public static String TitleId = null; // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) public static ErrorCallback GlobalErrorHandler; diff --git a/PlayFabSDK/src/com/playfab/PlayFabAdminAPI.java b/PlayFabSDK/src/com/playfab/PlayFabAdminAPI.java index 058d5ed2d..344d9aba3 100644 --- a/PlayFabSDK/src/com/playfab/PlayFabAdminAPI.java +++ b/PlayFabSDK/src/com/playfab/PlayFabAdminAPI.java @@ -16,6 +16,122 @@ public class PlayFabAdminAPI { private static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").create(); + /** + * Gets the requested policy. + */ + @SuppressWarnings("unchecked") + public static FutureTask> GetPolicyAsync(final GetPolicyRequest request) { + return new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateGetPolicyAsync(request); + } + }); + } + + /** + * Gets the requested policy. + */ + @SuppressWarnings("unchecked") + public static PlayFabResult GetPolicy(final GetPolicyRequest request) { + FutureTask> task = new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateGetPolicyAsync(request); + } + }); + try { + task.run(); + return task.get(); + } catch(Exception e) { + return null; + } + } + + /** + * Gets the requested policy. + */ + @SuppressWarnings("unchecked") + private static PlayFabResult privateGetPolicyAsync(final GetPolicyRequest request) throws Exception { + if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception ("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); + + FutureTask task = PlayFabHTTP.doPost(PlayFabSettings.GetURL() + "/Admin/GetPolicy", request, "X-SecretKey", PlayFabSettings.DeveloperSecretKey); + task.run(); + Object httpResult = task.get(); + if(httpResult instanceof PlayFabError) { + PlayFabError error = (PlayFabError)httpResult; + if (PlayFabSettings.GlobalErrorHandler != null) + PlayFabSettings.GlobalErrorHandler.callback(error); + PlayFabResult result = new PlayFabResult(); + result.Error = error; + return result; + } + String resultRawJson = (String) httpResult; + + PlayFabJsonSuccess resultData = gson.fromJson(resultRawJson, new TypeToken>(){}.getType()); + GetPolicyResponse result = resultData.data; + + PlayFabResult pfResult = new PlayFabResult(); + pfResult.Result = result; + return pfResult; + } + + /** + * Changes a policy for a title + */ + @SuppressWarnings("unchecked") + public static FutureTask> UpdatePolicyAsync(final UpdatePolicyRequest request) { + return new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateUpdatePolicyAsync(request); + } + }); + } + + /** + * Changes a policy for a title + */ + @SuppressWarnings("unchecked") + public static PlayFabResult UpdatePolicy(final UpdatePolicyRequest request) { + FutureTask> task = new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateUpdatePolicyAsync(request); + } + }); + try { + task.run(); + return task.get(); + } catch(Exception e) { + return null; + } + } + + /** + * Changes a policy for a title + */ + @SuppressWarnings("unchecked") + private static PlayFabResult privateUpdatePolicyAsync(final UpdatePolicyRequest request) throws Exception { + if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception ("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); + + FutureTask task = PlayFabHTTP.doPost(PlayFabSettings.GetURL() + "/Admin/UpdatePolicy", request, "X-SecretKey", PlayFabSettings.DeveloperSecretKey); + task.run(); + Object httpResult = task.get(); + if(httpResult instanceof PlayFabError) { + PlayFabError error = (PlayFabError)httpResult; + if (PlayFabSettings.GlobalErrorHandler != null) + PlayFabSettings.GlobalErrorHandler.callback(error); + PlayFabResult result = new PlayFabResult(); + result.Error = error; + return result; + } + String resultRawJson = (String) httpResult; + + PlayFabJsonSuccess resultData = gson.fromJson(resultRawJson, new TypeToken>(){}.getType()); + UpdatePolicyResponse result = resultData.data; + + PlayFabResult pfResult = new PlayFabResult(); + pfResult.Result = result; + return pfResult; + } + /** * Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. */ diff --git a/PlayFabSDK/src/com/playfab/PlayFabAdminModels.java b/PlayFabSDK/src/com/playfab/PlayFabAdminModels.java index 6ea3971c1..fd599ca79 100644 --- a/PlayFabSDK/src/com/playfab/PlayFabAdminModels.java +++ b/PlayFabSDK/src/com/playfab/PlayFabAdminModels.java @@ -393,7 +393,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -428,7 +428,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** @@ -1114,6 +1114,10 @@ public static class DeleteUsersResult { } + public static enum EffectType { + Allow + } + public static class EmptyResult { } @@ -1554,6 +1558,26 @@ public static class GetPlayerTagsResult { } + public static class GetPolicyRequest { + /** + * The name of the policy to read. Only supported name is 'ApiPolicy'. + */ + public String PolicyName; + + } + + public static class GetPolicyResponse { + /** + * The name of the policy read. + */ + public String PolicyName; + /** + * The statements in the requested policy. + */ + public ArrayList Statements; + + } + public static class GetPublisherDataRequest { /** * array of keys to get back data from the Publisher data blob, set by the admin tools @@ -2286,6 +2310,30 @@ public static class NameIdentifier { } + public static class PermissionStatement { + /** + * The resource this statements effects. The only supported resources look like 'pfrn:api--*' for all apis, or 'pfrn:api--/Client/ConfirmPurchase' for specific apis. + */ + public String Resource; + /** + * The action this statement effects. The only supported action is 'Execute'. + */ + public String Action; + /** + * The effect this statement will have. The only supported effect is 'Allow'. + */ + public EffectType Effect; + /** + * The principal this statement will effect. The only supported principal is '*'. + */ + public String Principal; + /** + * A comment about the statement. Intended solely for bookeeping and debugging. + */ + public String Comment; + + } + public static class PlayerLinkedAccount { /** * Authentication platform @@ -3187,6 +3235,34 @@ public static class UpdatePlayerStatisticDefinitionResult { } + public static class UpdatePolicyRequest { + /** + * The name of the policy being updated. Only supported name is 'ApiPolicy' + */ + public String PolicyName; + /** + * The new statements to include in the policy. + */ + public ArrayList Statements; + /** + * Whether to overwrite or append to the existing policy. + */ + public Boolean OverwritePolicy; + + } + + public static class UpdatePolicyResponse { + /** + * The name of the policy that was updated. + */ + public String PolicyName; + /** + * The statements included in the new version of the policy. + */ + public ArrayList Statements; + + } + public static class UpdateRandomResultTablesRequest { /** * which catalog is being updated. If null, update the current default catalog version @@ -3404,11 +3480,6 @@ public static class UserCredentials { * Username of user to reset */ public String Username; - /** - * @deprecated Do not use - */ - @Deprecated - public String Password; } @@ -3614,7 +3685,7 @@ public static class UserXboxInfo { public static class VirtualCurrencyData { /** - * unique one- or two-character identifier for this currency type (e.g.: "CC", "G") + * unique two-character identifier for this currency type (e.g.: "CC") */ public String CurrencyCode; /** diff --git a/PlayFabSDK/src/com/playfab/PlayFabClientModels.java b/PlayFabSDK/src/com/playfab/PlayFabClientModels.java index 45c2c6e95..8e34fa593 100644 --- a/PlayFabSDK/src/com/playfab/PlayFabClientModels.java +++ b/PlayFabSDK/src/com/playfab/PlayFabClientModels.java @@ -288,7 +288,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -323,7 +323,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** diff --git a/PlayFabSDK/src/com/playfab/PlayFabServerModels.java b/PlayFabSDK/src/com/playfab/PlayFabServerModels.java index 464c7abc5..ffaeacd77 100644 --- a/PlayFabSDK/src/com/playfab/PlayFabServerModels.java +++ b/PlayFabSDK/src/com/playfab/PlayFabServerModels.java @@ -369,7 +369,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -404,7 +404,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** diff --git a/PlayFabSDK/src/com/playfab/PlayFabSettings.java b/PlayFabSDK/src/com/playfab/PlayFabSettings.java index 1dbb4ccf2..74384dd53 100644 --- a/PlayFabSDK/src/com/playfab/PlayFabSettings.java +++ b/PlayFabSDK/src/com/playfab/PlayFabSettings.java @@ -3,9 +3,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.40.161107"; + public static String SdkVersion = "0.41.161121"; public static String BuildIdentifier = "jbuild_javasdk_1"; - public static String SdkVersionString = "JavaSDK-0.40.161107"; + public static String SdkVersionString = "JavaSDK-0.41.161121"; public static String TitleId = null; // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) public static ErrorCallback GlobalErrorHandler; diff --git a/PlayFabServerSDK/src/com/playfab/PlayFabAdminAPI.java b/PlayFabServerSDK/src/com/playfab/PlayFabAdminAPI.java index 058d5ed2d..344d9aba3 100644 --- a/PlayFabServerSDK/src/com/playfab/PlayFabAdminAPI.java +++ b/PlayFabServerSDK/src/com/playfab/PlayFabAdminAPI.java @@ -16,6 +16,122 @@ public class PlayFabAdminAPI { private static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").create(); + /** + * Gets the requested policy. + */ + @SuppressWarnings("unchecked") + public static FutureTask> GetPolicyAsync(final GetPolicyRequest request) { + return new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateGetPolicyAsync(request); + } + }); + } + + /** + * Gets the requested policy. + */ + @SuppressWarnings("unchecked") + public static PlayFabResult GetPolicy(final GetPolicyRequest request) { + FutureTask> task = new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateGetPolicyAsync(request); + } + }); + try { + task.run(); + return task.get(); + } catch(Exception e) { + return null; + } + } + + /** + * Gets the requested policy. + */ + @SuppressWarnings("unchecked") + private static PlayFabResult privateGetPolicyAsync(final GetPolicyRequest request) throws Exception { + if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception ("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); + + FutureTask task = PlayFabHTTP.doPost(PlayFabSettings.GetURL() + "/Admin/GetPolicy", request, "X-SecretKey", PlayFabSettings.DeveloperSecretKey); + task.run(); + Object httpResult = task.get(); + if(httpResult instanceof PlayFabError) { + PlayFabError error = (PlayFabError)httpResult; + if (PlayFabSettings.GlobalErrorHandler != null) + PlayFabSettings.GlobalErrorHandler.callback(error); + PlayFabResult result = new PlayFabResult(); + result.Error = error; + return result; + } + String resultRawJson = (String) httpResult; + + PlayFabJsonSuccess resultData = gson.fromJson(resultRawJson, new TypeToken>(){}.getType()); + GetPolicyResponse result = resultData.data; + + PlayFabResult pfResult = new PlayFabResult(); + pfResult.Result = result; + return pfResult; + } + + /** + * Changes a policy for a title + */ + @SuppressWarnings("unchecked") + public static FutureTask> UpdatePolicyAsync(final UpdatePolicyRequest request) { + return new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateUpdatePolicyAsync(request); + } + }); + } + + /** + * Changes a policy for a title + */ + @SuppressWarnings("unchecked") + public static PlayFabResult UpdatePolicy(final UpdatePolicyRequest request) { + FutureTask> task = new FutureTask(new Callable>() { + public PlayFabResult call() throws Exception { + return privateUpdatePolicyAsync(request); + } + }); + try { + task.run(); + return task.get(); + } catch(Exception e) { + return null; + } + } + + /** + * Changes a policy for a title + */ + @SuppressWarnings("unchecked") + private static PlayFabResult privateUpdatePolicyAsync(final UpdatePolicyRequest request) throws Exception { + if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception ("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); + + FutureTask task = PlayFabHTTP.doPost(PlayFabSettings.GetURL() + "/Admin/UpdatePolicy", request, "X-SecretKey", PlayFabSettings.DeveloperSecretKey); + task.run(); + Object httpResult = task.get(); + if(httpResult instanceof PlayFabError) { + PlayFabError error = (PlayFabError)httpResult; + if (PlayFabSettings.GlobalErrorHandler != null) + PlayFabSettings.GlobalErrorHandler.callback(error); + PlayFabResult result = new PlayFabResult(); + result.Error = error; + return result; + } + String resultRawJson = (String) httpResult; + + PlayFabJsonSuccess resultData = gson.fromJson(resultRawJson, new TypeToken>(){}.getType()); + UpdatePolicyResponse result = resultData.data; + + PlayFabResult pfResult = new PlayFabResult(); + pfResult.Result = result; + return pfResult; + } + /** * Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. */ diff --git a/PlayFabServerSDK/src/com/playfab/PlayFabAdminModels.java b/PlayFabServerSDK/src/com/playfab/PlayFabAdminModels.java index 6ea3971c1..fd599ca79 100644 --- a/PlayFabServerSDK/src/com/playfab/PlayFabAdminModels.java +++ b/PlayFabServerSDK/src/com/playfab/PlayFabAdminModels.java @@ -393,7 +393,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -428,7 +428,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** @@ -1114,6 +1114,10 @@ public static class DeleteUsersResult { } + public static enum EffectType { + Allow + } + public static class EmptyResult { } @@ -1554,6 +1558,26 @@ public static class GetPlayerTagsResult { } + public static class GetPolicyRequest { + /** + * The name of the policy to read. Only supported name is 'ApiPolicy'. + */ + public String PolicyName; + + } + + public static class GetPolicyResponse { + /** + * The name of the policy read. + */ + public String PolicyName; + /** + * The statements in the requested policy. + */ + public ArrayList Statements; + + } + public static class GetPublisherDataRequest { /** * array of keys to get back data from the Publisher data blob, set by the admin tools @@ -2286,6 +2310,30 @@ public static class NameIdentifier { } + public static class PermissionStatement { + /** + * The resource this statements effects. The only supported resources look like 'pfrn:api--*' for all apis, or 'pfrn:api--/Client/ConfirmPurchase' for specific apis. + */ + public String Resource; + /** + * The action this statement effects. The only supported action is 'Execute'. + */ + public String Action; + /** + * The effect this statement will have. The only supported effect is 'Allow'. + */ + public EffectType Effect; + /** + * The principal this statement will effect. The only supported principal is '*'. + */ + public String Principal; + /** + * A comment about the statement. Intended solely for bookeeping and debugging. + */ + public String Comment; + + } + public static class PlayerLinkedAccount { /** * Authentication platform @@ -3187,6 +3235,34 @@ public static class UpdatePlayerStatisticDefinitionResult { } + public static class UpdatePolicyRequest { + /** + * The name of the policy being updated. Only supported name is 'ApiPolicy' + */ + public String PolicyName; + /** + * The new statements to include in the policy. + */ + public ArrayList Statements; + /** + * Whether to overwrite or append to the existing policy. + */ + public Boolean OverwritePolicy; + + } + + public static class UpdatePolicyResponse { + /** + * The name of the policy that was updated. + */ + public String PolicyName; + /** + * The statements included in the new version of the policy. + */ + public ArrayList Statements; + + } + public static class UpdateRandomResultTablesRequest { /** * which catalog is being updated. If null, update the current default catalog version @@ -3404,11 +3480,6 @@ public static class UserCredentials { * Username of user to reset */ public String Username; - /** - * @deprecated Do not use - */ - @Deprecated - public String Password; } @@ -3614,7 +3685,7 @@ public static class UserXboxInfo { public static class VirtualCurrencyData { /** - * unique one- or two-character identifier for this currency type (e.g.: "CC", "G") + * unique two-character identifier for this currency type (e.g.: "CC") */ public String CurrencyCode; /** diff --git a/PlayFabServerSDK/src/com/playfab/PlayFabServerModels.java b/PlayFabServerSDK/src/com/playfab/PlayFabServerModels.java index 464c7abc5..ffaeacd77 100644 --- a/PlayFabServerSDK/src/com/playfab/PlayFabServerModels.java +++ b/PlayFabServerSDK/src/com/playfab/PlayFabServerModels.java @@ -369,7 +369,7 @@ public static class CatalogItem implements Comparable { */ public Boolean IsLimitedEdition; /** - * If IsLImitedEdition is true, then this determines amount of the item initially available. Note that this fieldis ignored if the catalog item already existed in this catalog, or the field is less than 1. + * If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. */ public Integer InitialLimitedEditionCount; @@ -404,7 +404,7 @@ public static class CatalogItemConsumableInfo { */ public Long UsageCount; /** - * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed + * duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) */ public Long UsagePeriod; /** diff --git a/PlayFabServerSDK/src/com/playfab/PlayFabSettings.java b/PlayFabServerSDK/src/com/playfab/PlayFabSettings.java index f02ba1d66..970d2cf06 100644 --- a/PlayFabServerSDK/src/com/playfab/PlayFabSettings.java +++ b/PlayFabServerSDK/src/com/playfab/PlayFabSettings.java @@ -3,9 +3,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.40.161107"; + public static String SdkVersion = "0.41.161121"; public static String BuildIdentifier = "jbuild_javasdk_1"; - public static String SdkVersionString = "JavaSDK-0.40.161107"; + public static String SdkVersionString = "JavaSDK-0.41.161121"; public static String TitleId = null; // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) public static ErrorCallback GlobalErrorHandler;