diff --git a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java index f6ebc9ee..6b1a5768 100644 --- a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java +++ b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabClientModels.java @@ -99,10 +99,10 @@ public static class AddUsernamePasswordRequest { } /** - * Each account must have a unique username and email address in the PlayFab service. Once created, the - * account may be associated with additional accounts (Steam, Facebook, Game Center, etc.), - * allowing for added social network lists and achievements systems. - * This can also be used to provide a recovery method if the user loses their original means of access. + * Each account must have a unique username and email address in the PlayFab service. Once created, the account may be + * associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and + * achievements systems. This can also be used to provide a recovery method if the user loses their original means of + * access. */ public static class AddUsernamePasswordResult { /** PlayFab unique user name. */ @@ -120,11 +120,9 @@ public static class AddUserVirtualCurrencyRequest { } /** - * More information can be found on configuring your game for the - * Google Cloud Messaging service in the Google developer documentation, here: - * http://developer.android.com/google/gcm/client.html. - * The steps to configure and send Push Notifications is described in the PlayFab tutorials, here: - * https://api.playfab.com/docs/pushCrashCourse/. + * More information can be found on configuring your game for the Google Cloud Messaging service in the Google developer + * documentation, here: http://developer.android.com/google/gcm/client.html. The steps to configure and send Push + * Notifications is described in the PlayFab tutorials, here: https://api.playfab.com/docs/pushCrashCourse/. */ public static class AndroidDevicePushNotificationRegistrationRequest { /** Message to display when confirming push notification. */ @@ -144,8 +142,8 @@ public static class AndroidDevicePushNotificationRegistrationResult { } /** - * If you have an ad attribution partner enabled, this will post an install to their service - * to track the device. It uses the given device id to match based on clicks on ads. + * If you have an ad attribution partner enabled, this will post an install to their service to track the device. It uses + * the given device id to match based on clicks on ads. */ public static class AttributeInstallRequest { /** The adid for this device. */ @@ -374,14 +372,12 @@ public static class CollectionFilter { } /** - * The final step in the purchasing process, this API finalizes the purchase with the payment provider, where - * applicable, adding virtual goods to the player inventory (including random drop table resolution and recursive addition - * of bundled items) - * and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should be - * polled regularly when a - * purchase is in progress. Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are - * in the inventory, and the more items are in the grant/purchase operation. + * The final step in the purchasing process, this API finalizes the purchase with the payment provider, where applicable, + * adding virtual goods to the player inventory (including random drop table resolution and recursive addition of bundled + * items) and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should + * be polled regularly when a purchase is in progress. Please note that the processing time for inventory grants and + * purchases increases fractionally the more items are in the inventory, and the more items are in the grant/purchase + * operation. */ public static class ConfirmPurchaseRequest { /** Purchase order identifier returned from StartPurchase. */ @@ -390,10 +386,9 @@ public static class ConfirmPurchaseRequest { } /** - * When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, - * ProviderErrorMessage, and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some - * rare cases, this - * may mean that the provider hasn't completed some operation required to finalize the purchase. + * When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, ProviderErrorMessage, + * and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some rare cases, this may + * mean that the provider hasn't completed some operation required to finalize the purchase. */ public static class ConfirmPurchaseResult { /** Array of items purchased. */ @@ -732,8 +727,8 @@ public static enum CountryCode { } /** - * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will - * return an error if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. + * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error + * if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. */ public static class CreateSharedGroupRequest { /** Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). */ @@ -1052,12 +1047,6 @@ public static class FacebookPlayFabIdPair { } public static class FriendInfo { - /** - * This field is not populated. - * @deprecated Do not use - */ - @Deprecated - public String CurrentMatchmakerLobbyId; /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ public UserFacebookInfo FacebookInfo; /** PlayFab unique identifier for this friend. */ @@ -1182,14 +1171,11 @@ public static class GetAccountInfoRequest { } /** - * This API retrieves details regarding the player in the PlayFab service. Note that when this call is used - * to retrieve data about another player (not the one signed into the local client), some data, such as Personally - * Identifying Information - * (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to. The user - * account returned - * will be based on the identifier provided in priority order: PlayFabId, Username, Email, then TitleDisplayName. If no - * identifier is - * specified, the currently signed in user's information will be returned. + * This API retrieves details regarding the player in the PlayFab service. Note that when this call is used to retrieve + * data about another player (not the one signed into the local client), some data, such as Personally Identifying + * Information (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to. + * The user account returned will be based on the identifier provided in priority order: PlayFabId, Username, Email, then + * TitleDisplayName. If no identifier is specified, the currently signed in user's information will be returned. */ public static class GetAccountInfoResult { /** Account information for the local user. */ @@ -1204,8 +1190,8 @@ public static class GetCatalogItemsRequest { } /** - * If CatalogVersion is not specified, only inventory items associated with the most recent version of - * the catalog will be returned. + * If CatalogVersion is not specified, only inventory items associated with the most recent version of the catalog will be + * returned. */ public static class GetCatalogItemsResult { /** Array of items which can be purchased. */ @@ -1215,9 +1201,8 @@ public static class GetCatalogItemsResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full - * set of custom character data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom character data will be returned. */ public static class GetCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1248,10 +1233,9 @@ public static class GetCharacterDataResult { } /** - * All items currently in the character inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. Also returns their virtual currency balances. + * All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. Also returns their virtual currency balances. */ public static class GetCharacterInventoryRequest { /** Used to limit results to only those from a specific catalog version. */ @@ -1552,7 +1536,7 @@ public static class GetPlayerCombinedInfoRequestParams { public Boolean GetCharacterInventories; /** Whether to get the list of characters. Defaults to false. */ public Boolean GetCharacterList; - /** Whether to get player profile. Defaults to false. */ + /** Whether to get player profile. Defaults to false. Has no effect for a new player. */ public Boolean GetPlayerProfile; /** Whether to get player statistics. Defaults to false. */ public Boolean GetPlayerStatistics; @@ -1585,9 +1569,9 @@ public static class GetPlayerCombinedInfoRequestParams { } /** - * Returns whatever info is requested in the response for the user. If no user is explicitly requested - * this defaults to the authenticated user. If the user is the same as the requester, PII (like email address, facebook id) - * is returned if available. Otherwise, only public information is returned. All parameters default to false. + * Returns whatever info is requested in the response for the user. If no user is explicitly requested this defaults to the + * authenticated user. If the user is the same as the requester, PII (like email address, facebook id) is returned if + * available. Otherwise, only public information is returned. All parameters default to false. */ public static class GetPlayerCombinedInfoResult { /** Results for requested info. */ @@ -1632,12 +1616,10 @@ public static class GetPlayerCombinedInfoResultPayload { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1887,12 +1869,9 @@ public static class GetPlayFabIDsFromXboxLiveIDsResult { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. Note that there may up to a minute delay in between updating title data - * and this API call returning - * the newest value. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a + * minute delay in between updating title data and this API call returning the newest value. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -1958,15 +1937,15 @@ public static class GetSharedGroupDataResult { } /** - * A store contains an array of references to items defined in one or more catalog - * versions of the game, along with the prices for the item, in both real world and virtual currencies. These prices - * act as an override to any prices defined in the catalog. In this way, the base definitions of the items may be - * defined in the catalog, with all associated properties, while the pricing can be set for each store, as needed. - * This allows for subsets of goods to be defined for different purposes (in order to simplify showing some, but not - * all catalog items to users, based upon different characteristics), along with unique prices. Note that all prices - * defined in the catalog and store definitions for the item are considered valid, and that a compromised client can - * be made to send a request for an item based upon any of these definitions. If no price is specified in the store - * for an item, the price set in the catalog should be displayed to the user. + * A store contains an array of references to items defined in one or more catalog versions of the game, along with the + * prices for the item, in both real world and virtual currencies. These prices act as an override to any prices defined in + * the catalog. In this way, the base definitions of the items may be defined in the catalog, with all associated + * properties, while the pricing can be set for each store, as needed. This allows for subsets of goods to be defined for + * different purposes (in order to simplify showing some, but not all catalog items to users, based upon different + * characteristics), along with unique prices. Note that all prices defined in the catalog and store definitions for the + * item are considered valid, and that a compromised client can be made to send a request for an item based upon any of + * these definitions. If no price is specified in the store for an item, the price set in the catalog should be displayed + * to the user. */ public static class GetStoreItemsRequest { /** catalog version to store items from. Use default catalog version if null */ @@ -1993,8 +1972,7 @@ public static class GetStoreItemsResult { /** * This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between - * servers, - * there is a potential variance of up to 5 seconds. + * servers, there is a potential variance of up to 5 seconds. */ public static class GetTimeRequest { @@ -2009,12 +1987,10 @@ public static class GetTimeResult { /** * This API is designed to return title specific values which can be read, but not written to, by the client. For example, - * a developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. Note that there may up to a minute delay in between - * updating title data and this API call returning - * the newest value. + * a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. Note that there may up to a minute delay in between updating title data and this API call returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2082,12 +2058,9 @@ public static class GetTradeStatusResponse { /** * Data is stored as JSON key-value pairs. Every time the data is updated via any source, the version counter is - * incremented. If the - * Version parameter is provided, then this call will only return data if the current version on the system is greater than - * the value provided. - * If the Keys parameter is provided, the data object returned will only contain the data specific to the indicated Keys. - * Otherwise, the full set of custom user - * data will be returned. + * incremented. If the Version parameter is provided, then this call will only return data if the current version on the + * system is greater than the value provided. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2121,10 +2094,9 @@ public static class GetUserInventoryRequest { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryResult { /** Array of inventory items belonging to the user. */ @@ -2164,9 +2136,9 @@ public static class GooglePlayFabIdPair { } /** - * Grants a character to the user of the type specified by the item ID. The user must - * already have an instance of this item in their inventory in order to allow character creation. This item can come - * from a purchase or grant, which must be done before calling to create the character. + * Grants a character to the user of the type specified by the item ID. The user must already have an instance of this item + * in their inventory in order to allow character creation. This item can come from a purchase or grant, which must be done + * before calling to create the character. */ public static class GrantCharacterToUserRequest { /** Catalog version from which items are to be granted. */ @@ -2300,16 +2272,13 @@ public static class LinkedPlatformAccountModel { } /** - * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token - * can be found in the Facebook developer documentation - * (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, - * for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. Note that titles should - * never re-use the - * same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so - * can result - * in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an application in a - * new PlayFab - * Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in the first Title ID. + * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the + * Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, for + * example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. Note that titles should never + * re-use the same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application + * and doing so can result in issues with the Facebook ID for the user in their PlayFab account information. If you must + * re-use an application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete + * all users in the first Title ID. */ public static class LinkFacebookAccountRequest { /** Unique identifier from Facebook for the user. */ @@ -2449,13 +2418,11 @@ public static class LinkPSNAccountResult { } /** - * Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be - * found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam - * authentication - * to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game Manager (under - * Properties). - * Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your title can be found here: - * https://partner.steamgames.com/documentation/webapi#publisherkey. + * Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the + * Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam + * authentication to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game + * Manager (under Properties). Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your + * title can be found here: https://partner.steamgames.com/documentation/webapi#publisherkey. */ public static class LinkSteamAccountRequest { /** If another user is already linked to the account, unlink the other user and re-link. */ @@ -2584,22 +2551,16 @@ public static class LoginResult { } /** - * On Android devices, the recommendation is to use the Settings.Secure.ANDROID_ID as the - * AndroidDeviceId, as described in this blog post - * (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html). - * More information on this identifier can be found in the Android documentation - * (http://developer.android.com/reference/android/provider/Settings.Secure.html). - * If this is the first time a user has signed in with the Android device and CreateAccount is set to true, a new PlayFab - * account - * will be created and linked to the Android device ID. In this case, no email or username will be associated with the - * PlayFab account. - * Otherwise, if no PlayFab account is linked to the Android device, an error indicating this will be returned, so that the - * title can - * guide the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked - * to a single - * user account, only the one most recently used to login (or most recently linked) will be reflected in the user's account - * information. - * We will be updating to show all linked devices in a future release. + * On Android devices, the recommendation is to use the Settings.Secure.ANDROID_ID as the AndroidDeviceId, as described in + * this blog post (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html). More information on + * this identifier can be found in the Android documentation + * (http://developer.android.com/reference/android/provider/Settings.Secure.html). If this is the first time a user has + * signed in with the Android device and CreateAccount is set to true, a new PlayFab account will be created and linked to + * the Android device ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no + * PlayFab account is linked to the Android device, an error indicating this will be returned, so that the title can guide + * the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked to a + * single user account, only the one most recently used to login (or most recently linked) will be reflected in the user's + * account information. We will be updating to show all linked devices in a future release. */ public static class LoginWithAndroidDeviceIDRequest { /** Specific model of the user's device. */ @@ -2625,12 +2586,11 @@ public static class LoginWithAndroidDeviceIDRequest { } /** - * It is highly recommended that developers ensure that it is extremely unlikely that - * a customer could generate an ID which is already in use by another customer. If this is the first time a user has - * signed in with the Custom ID and CreateAccount is set to true, a new PlayFab account will be created and linked - * to the Custom ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if - * no PlayFab account is linked to the Custom ID, an error indicating this will be returned, so that the title can - * guide the user through creation of a PlayFab account. + * It is highly recommended that developers ensure that it is extremely unlikely that a customer could generate an ID which + * is already in use by another customer. If this is the first time a user has signed in with the Custom ID and + * CreateAccount is set to true, a new PlayFab account will be created and linked to the Custom ID. In this case, no email + * or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Custom ID, an + * error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithCustomIDRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2652,10 +2612,9 @@ public static class LoginWithCustomIDRequest { } /** - * Email address and password lengths are provided for information purposes. The server will validate - * that data passed in conforms to the field definition and report errors appropriately. It is recommended that developers - * not - * perform this validation locally, so that future updates do not require client updates. + * Email address and password lengths are provided for information purposes. The server will validate that data passed in + * conforms to the field definition and report errors appropriately. It is recommended that developers not perform this + * validation locally, so that future updates do not require client updates. */ public static class LoginWithEmailAddressRequest { /** Email address for the account. */ @@ -2692,24 +2651,17 @@ public static class LoginWithFacebookInstantGamesIdRequest { } /** - * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token - * can be found in the Facebook developer documentation - * (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, - * for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a - * user has - * signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and linked - * to the - * provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab account. - * Otherwise, if no - * PlayFab account is linked to the Facebook account, an error indicating this will be returned, so that the title can - * guide the user - * through creation of a PlayFab account. Note that titles should never re-use the same Facebook applications between - * PlayFab Title IDs, - * as Facebook provides unique user IDs per application and doing so can result in issues with the Facebook ID for the user - * in their - * PlayFab account information. If you must re-use an application in a new PlayFab Title ID, please be sure to first unlink - * all accounts - * from Facebook, or delete all users in the first Title ID. + * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the + * Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, for + * example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a user + * has signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and + * linked to the provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab + * account. Otherwise, if no PlayFab account is linked to the Facebook account, an error indicating this will be returned, + * so that the title can guide the user through creation of a PlayFab account. Note that titles should never re-use the + * same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so + * can result in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an + * application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in + * the first Title ID. */ public static class LoginWithFacebookRequest { /** Unique identifier from Facebook for the user. */ @@ -2734,16 +2686,11 @@ public static class LoginWithFacebookRequest { * The Game Center player identifier * (https://developer.apple.com/library/ios/documentation/Accounts/Reference/ACAccountClassRef/index.html#//apple_ref/occ/instp/ACAccount/identifier) * is a generated string which is stored on the local device. As with device identifiers, care must be taken to never - * expose a - * player's Game Center identifier to end users, as that could result in a user's account being compromised. If this is the - * first - * time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account will be created and - * linked - * to the Game Center identifier. In this case, no email or username will be associated with the PlayFab account. - * Otherwise, if - * no PlayFab account is linked to the Game Center account, an error indicating this will be returned, so that the title - * can - * guide the user through creation of a PlayFab account. + * expose a player's Game Center identifier to end users, as that could result in a user's account being compromised. If + * this is the first time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account + * will be created and linked to the Game Center identifier. In this case, no email or username will be associated with the + * PlayFab account. Otherwise, if no PlayFab account is linked to the Game Center account, an error indicating this will be + * returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithGameCenterRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2777,24 +2724,19 @@ public static class LoginWithGameCenterRequest { /** * Google sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google sign-in for Android APIs on - * the device and passing it to this API. - * If this is the first time a user has signed in with the Google account and CreateAccount is - * set to true, a new PlayFab account will be created and linked to the Google account. Otherwise, if no PlayFab account is - * linked to the Google account, an error indicating this will be returned, so - * that the title can guide the user through creation of a PlayFab account. - * The current (recommended) method for obtaining a Google account credential in an Android application is to call - * GoogleSignInAccount.getServerAuthCode() and send the auth code as the ServerAuthCode parameter of this API. - * Before doing this, you must create an OAuth 2.0 web application client ID in the Google API Console and configure its - * client ID and secret in the PlayFab Game Manager Google Add-on - * for your title. This method does not require prompting of the user for additional Google account permissions, resulting - * in a user experience with the least possible friction. - * For more information about obtaining the server auth code, see - * https://developers.google.com/identity/sign-in/android/offline-access. - * The previous (deprecated) method was to obtain an OAuth access token by calling GetAccessToken() on the client and - * passing it as the AccessToken parameter to this API. - * for the with the Google OAuth 2.0 Access Token. More information on this change can be - * found in the Google developer documentation - * (https://android-developers.googleblog.com/2016/01/play-games-permissions-are-changing-in.html). + * the device and passing it to this API. If this is the first time a user has signed in with the Google account and + * CreateAccount is set to true, a new PlayFab account will be created and linked to the Google account. Otherwise, if no + * PlayFab account is linked to the Google account, an error indicating this will be returned, so that the title can guide + * the user through creation of a PlayFab account. The current (recommended) method for obtaining a Google account + * credential in an Android application is to call GoogleSignInAccount.getServerAuthCode() and send the auth code as the + * ServerAuthCode parameter of this API. Before doing this, you must create an OAuth 2.0 web application client ID in the + * Google API Console and configure its client ID and secret in the PlayFab Game Manager Google Add-on for your title. This + * method does not require prompting of the user for additional Google account permissions, resulting in a user experience + * with the least possible friction. For more information about obtaining the server auth code, see + * https://developers.google.com/identity/sign-in/android/offline-access. The previous (deprecated) method was to obtain an + * OAuth access token by calling GetAccessToken() on the client and passing it as the AccessToken parameter to this API. + * for the with the Google OAuth 2.0 Access Token. More information on this change can be found in the Google developer + * documentation (https://android-developers.googleblog.com/2016/01/play-games-permissions-are-changing-in.html). */ public static class LoginWithGoogleAccountRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2822,20 +2764,13 @@ public static class LoginWithGoogleAccountRequest { * On iOS devices, the identifierForVendor * (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/occ/instp/UIDevice/identifierForVendor) * must be used as the DeviceId, as the UIDevice uniqueIdentifier has been deprecated as of iOS 5, and use of the - * advertisingIdentifier - * for this purpose will result in failure of Apple's certification process. If this is the first time a user has signed in - * with the iOS - * device and CreateAccount is set to true, a new PlayFab account will be created and linked to the vendor-specific iOS - * device ID. In - * this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked - * to the iOS - * device, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab - * account. Please - * note that while multiple devices of this type can be linked to a single user account, only the one most recently used to - * login (or - * most recently linked) will be reflected in the user's account information. We will be updating to show all linked - * devices in a future - * release. + * advertisingIdentifier for this purpose will result in failure of Apple's certification process. If this is the first + * time a user has signed in with the iOS device and CreateAccount is set to true, a new PlayFab account will be created + * and linked to the vendor-specific iOS device ID. In this case, no email or username will be associated with the PlayFab + * account. Otherwise, if no PlayFab account is linked to the iOS device, an error indicating this will be returned, so + * that the title can guide the user through creation of a PlayFab account. Please note that while multiple devices of this + * type can be linked to a single user account, only the one most recently used to login (or most recently linked) will be + * reflected in the user's account information. We will be updating to show all linked devices in a future release. */ public static class LoginWithIOSDeviceIDRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2862,13 +2797,12 @@ public static class LoginWithIOSDeviceIDRequest { /** * More details regarding Kongregate and their game authentication system can be found at - * http://developers.kongregate.com/docs/virtual-goods/authentication. Developers must provide the Kongregate user ID - * and auth token that are generated using the Kongregate client library. PlayFab will combine these identifiers - * with the title's unique Kongregate app ID to log the player into the Kongregate system. If CreateAccount is set - * to true and there is not already a user matched to this Kongregate ID, then PlayFab will create a new account for this - * user - * and link the ID. In this case, no email or username will be associated with the PlayFab account. If there is already - * a different PlayFab user linked with this account, then an error will be returned. + * http://developers.kongregate.com/docs/virtual-goods/authentication. Developers must provide the Kongregate user ID and + * auth token that are generated using the Kongregate client library. PlayFab will combine these identifiers with the + * title's unique Kongregate app ID to log the player into the Kongregate system. If CreateAccount is set to true and there + * is not already a user matched to this Kongregate ID, then PlayFab will create a new account for this user and link the + * ID. In this case, no email or username will be associated with the PlayFab account. If there is already a different + * PlayFab user linked with this account, then an error will be returned. */ public static class LoginWithKongregateRequest { /** Token issued by Kongregate's client API for the user. */ @@ -2935,10 +2869,9 @@ public static class LoginWithOpenIdConnectRequest { } /** - * Username and password lengths are provided for information purposes. The server will validate - * that data passed in conforms to the field definition and report errors appropriately. It is recommended that developers - * not - * perform this validation locally, so that future updates to the username or password do not require client updates. + * Username and password lengths are provided for information purposes. The server will validate that data passed in + * conforms to the field definition and report errors appropriately. It is recommended that developers not perform this + * validation locally, so that future updates to the username or password do not require client updates. */ public static class LoginWithPlayFabRequest { /** Flags for which pieces of info to return for the user. */ @@ -2956,11 +2889,9 @@ public static class LoginWithPlayFabRequest { } /** - * If this is the first time a user has signed in with the PlayStation Network account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the PSN account. In this case, no email or username - * will be - * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the PSN account, an error indicating - * this will + * If this is the first time a user has signed in with the PlayStation Network account and CreateAccount is set to true, a + * new PlayFab account will be created and linked to the PSN account. In this case, no email or username will be associated + * with the PlayFab account. Otherwise, if no PlayFab account is linked to the PSN account, an error indicating this will * be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithPSNRequest { @@ -2987,20 +2918,15 @@ public static class LoginWithPSNRequest { } /** - * Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be - * found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam - * authentication - * to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game Manager (under - * Steam in the - * Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group associated with your App ID in - * the Steamworks - * site. If this is the first time a user has signed in with the Steam account and CreateAccount is set to true, a new - * PlayFab account - * will be created and linked to the provided account's Steam ID. In this case, no email or username will be associated - * with the PlayFab - * account. Otherwise, if no PlayFab account is linked to the Steam account, an error indicating this will be returned, so - * that the title - * can guide the user through creation of a PlayFab account. + * Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the + * Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam + * authentication to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game + * Manager (under Steam in the Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group + * associated with your App ID in the Steamworks site. If this is the first time a user has signed in with the Steam + * account and CreateAccount is set to true, a new PlayFab account will be created and linked to the provided account's + * Steam ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab + * account is linked to the Steam account, an error indicating this will be returned, so that the title can guide the user + * through creation of a PlayFab account. */ public static class LoginWithSteamRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -3029,9 +2955,9 @@ public static class LoginWithSteamRequest { * https://github.com/justintv/Twitch-API/blob/master/authentication.md. Developers must provide the Twitch access token * that is generated using one of the Twitch authentication flows. PlayFab will use the title's unique Twitch Client ID to * authenticate the token and log in to the PlayFab system. If CreateAccount is set to true and there is not already a user - * matched to the Twitch username that generated the token, then PlayFab will create a new account for this user - * and link the ID. In this case, no email or username will be associated with the PlayFab account. If there is already - * a different PlayFab user linked with this account, then an error will be returned. + * matched to the Twitch username that generated the token, then PlayFab will create a new account for this user and link + * the ID. In this case, no email or username will be associated with the PlayFab account. If there is already a different + * PlayFab user linked with this account, then an error will be returned. */ public static class LoginWithTwitchRequest { /** Token issued by Twitch's API for the user. */ @@ -3069,12 +2995,10 @@ public static class LoginWithWindowsHelloRequest { } /** - * If this is the first time a user has signed in with the Xbox Live account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email or - * username will be + * If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set to true, a new + * PlayFab account will be created and linked to the Xbox Live account. In this case, no email or username will be * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Xbox Live account, an error - * indicating this will - * be returned, so that the title can guide the user through creation of a PlayFab account. + * indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithXboxRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -3391,10 +3315,8 @@ public static class PSNAccountPlayFabIdPair { } /** - * Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are in the inventory, and the more items are in the grant/purchase operation (with each item in a bundle - * being a - * distinct add). + * Please note that the processing time for inventory grants and purchases increases fractionally the more items are in the + * inventory, and the more items are in the grant/purchase operation (with each item in a bundle being a distinct add). */ public static class PurchaseItemRequest { /** Catalog version for the items to be purchased (defaults to most recent version. */ @@ -3432,10 +3354,9 @@ public static class PushNotificationRegistrationModel { } /** - * Coupon codes can be created for any item, or set of items, in the catalog for the title. This - * operation causes the coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an - * already - * consumed code, or a code which has not yet been created in the service, will result in an error. + * Coupon codes can be created for any item, or set of items, in the catalog for the title. This operation causes the + * coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an already consumed code, + * or a code which has not yet been created in the service, will result in an error. */ public static class RedeemCouponRequest { /** Catalog version of the coupon. If null, uses the default catalog */ @@ -3533,9 +3454,9 @@ public static class RegisterPlayFabUserRequest { } /** - * Each account must have a unique email address in the PlayFab service. Once created, the - * account may be associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social - * network lists and achievements systems. + * Each account must have a unique email address in the PlayFab service. Once created, the account may be associated with + * additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and achievements + * systems. */ public static class RegisterPlayFabUserResult { /** @@ -3636,11 +3557,9 @@ public static class ReportPlayerClientResult { } /** - * The title should obtain a refresh receipt via restoreCompletedTransactions in the SKPaymentQueue - * of the Apple StoreKit and pass that in to this call. The resultant receipt contains new receipt instances for all - * non-consumable - * goods previously purchased by the user. This API call iterates through every purchase in the receipt and restores the - * items if + * The title should obtain a refresh receipt via restoreCompletedTransactions in the SKPaymentQueue of the Apple StoreKit + * and pass that in to this call. The resultant receipt contains new receipt instances for all non-consumable goods + * previously purchased by the user. This API call iterates through every purchase in the receipt and restores the items if * they still exist in the catalog and can be validated. */ public static class RestoreIOSPurchasesRequest { @@ -3690,10 +3609,9 @@ public static class SendAccountRecoveryEmailResult { } /** - * This operation is not additive. It will completely replace the tag list for the specified user. - * Please note that only users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only - * included - * in the friends list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. + * This operation is not additive. It will completely replace the tag list for the specified user. Please note that only + * users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only included in the friends + * list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. */ public static class SetFriendTagsRequest { /** PlayFab identifier of the friend account to which the tag(s) should be applied. */ @@ -4206,7 +4124,7 @@ public static class UnlockContainerItemRequest { } - /** The items and vc found within the container. These will be added and stacked in the appropriate inventory. */ + /** The items and vc found within the container. These will be added and stacked in the appropriate inventory. */ public static class UnlockContainerItemResult { /** Items granted to the player as a result of unlocking the container. */ public ArrayList GrantedItems; @@ -4226,11 +4144,10 @@ public static class UpdateAvatarUrlRequest { } /** - * This function performs an additive update of the arbitrary strings - * containing the custom data for the character. In updating the custom data object, keys which already - * exist in the object will have their values overwritten, while keys with null values will be removed. - * New keys will be added, with the given values. No other key-value pairs will be changed apart from - * those specified in the call. + * This function performs an additive update of the arbitrary strings containing the custom data for the character. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. New keys will be added, with the given values. No other key-value pairs will be + * changed apart from those specified in the call. */ public static class UpdateCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4261,11 +4178,10 @@ public static class UpdateCharacterDataResult { /** * Enable this option with the 'Allow Client to Post Player Statistics' option in PlayFab GameManager for your title. - * However, this is not best practice, as this data will no longer be safely controlled by the server. - * This operation is additive. Character Statistics not currently defined will be added, while those already defined will - * be updated with the given values. - * All other user statistics will remain unchanged. Character statistics are used by the character-leaderboard apis, and - * accessible for custom game-logic. + * However, this is not best practice, as this data will no longer be safely controlled by the server. This operation is + * additive. Character Statistics not currently defined will be added, while those already defined will be updated with the + * given values. All other user statistics will remain unchanged. Character statistics are used by the + * character-leaderboard apis, and accessible for custom game-logic. */ public static class UpdateCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4282,14 +4198,11 @@ public static class UpdateCharacterStatisticsResult { /** * Enable this option with the 'Allow Client to Post Player Statistics' option in PlayFab GameManager for your title. * However, this is not best practice, as this data will no longer be safely controlled by the server. This operation is - * additive. Statistics not - * currently defined will be added, while those already defined will be updated with the given values. All other user - * statistics will remain - * unchanged. Note that if the statistic is intended to have a reset period, the UpdatePlayerStatisticDefinition API call - * can be used to define - * that reset period. Once a statistic has been versioned (reset), the now-previous version can still be written to for up - * a - * short, pre-defined period (currently 10 seconds), using the Version parameter in this call. + * additive. Statistics not currently defined will be added, while those already defined will be updated with the given + * values. All other user statistics will remain unchanged. Note that if the statistic is intended to have a reset period, + * the UpdatePlayerStatisticDefinition API call can be used to define that reset period. Once a statistic has been + * versioned (reset), the now-previous version can still be written to for up a short, pre-defined period (currently 10 + * seconds), using the Version parameter in this call. */ public static class UpdatePlayerStatisticsRequest { /** Statistics to be updated with the provided values */ @@ -4302,11 +4215,10 @@ public static class UpdatePlayerStatisticsResult { } /** - * Note that in the case of multiple calls to write to the same shared group data keys, the - * last write received by the PlayFab service will determine the value available to subsequent read operations. For - * scenarios - * requiring coordination of data updates, it is recommended that titles make use of user data with read permission set to - * public, or a combination of user data and shared group data. + * Note that in the case of multiple calls to write to the same shared group data keys, the last write received by the + * PlayFab service will determine the value available to subsequent read operations. For scenarios requiring coordination + * of data updates, it is recommended that titles make use of user data with read permission set to public, or a + * combination of user data and shared group data. */ public static class UpdateSharedGroupDataRequest { /** @@ -4331,11 +4243,10 @@ public static class UpdateSharedGroupDataResult { } /** - * This function performs an additive update of the arbitrary strings containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. New keys will be added, with the given values. No other key-value pairs will be changed apart from those - * specified in the call. + * This function performs an additive update of the arbitrary strings containing the custom data for the user. In updating + * the custom data object, keys which already exist in the object will have their values overwritten, while keys with null + * values will be removed. New keys will be added, with the given values. No other key-value pairs will be changed apart + * from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -4366,9 +4277,8 @@ public static class UpdateUserDataResult { } /** - * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, - * but specific to the title. This allows for unique names which more closely match the theme or genre of a title, for - * example. + * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, but + * specific to the title. This allows for unique names which more closely match the theme or genre of a title, for example. */ public static class UpdateUserTitleDisplayNameRequest { /** New title display name for the user - must be between 3 and 25 characters. */ @@ -4489,6 +4399,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4580,6 +4492,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } @@ -4652,12 +4566,10 @@ public static class ValidateAmazonReceiptResult { /** * The packageName and productId are defined in the GooglePlay store. The productId must match the ItemId of the inventory - * item - * in the PlayFab catalog for the title. This enables the PlayFab service to securely validate that the purchase is for the - * correct item, in order to prevent - * uses from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being - * for a $19.99 purchase, for example). - * Each receipt may be validated only once to avoid granting the same item over and over from a single purchase. + * item in the PlayFab catalog for the title. This enables the PlayFab service to securely validate that the purchase is + * for the correct item, in order to prevent uses from passing valid receipts as being for more expensive items (passing a + * receipt for a 99-cent purchase as being for a $19.99 purchase, for example). Each receipt may be validated only once to + * avoid granting the same item over and over from a single purchase. */ public static class ValidateGooglePlayPurchaseRequest { /** Currency used for the purchase. */ @@ -4682,10 +4594,9 @@ public static class ValidateGooglePlayPurchaseResult { /** * The CurrencyCode and PurchasePrice must match the price which was set up for the item in the Apple store. In addition, * The ItemId of the inventory in the PlayFab Catalog must match the Product ID as it was set up in the Apple store. This - * enables the PlayFab service to - * securely validate that the purchase is for the correct item, in order to prevent uses from passing valid receipts as - * being for more expensive items - * (passing a receipt for a 99-cent purchase as being for a $19.99 purchase, for example). + * enables the PlayFab service to securely validate that the purchase is for the correct item, in order to prevent uses + * from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being for a + * $19.99 purchase, for example). */ public static class ValidateIOSReceiptRequest { /** Currency used for the purchase. */ diff --git a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabErrors.java b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabErrors.java index 9f0db166..df32a81e 100644 --- a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabErrors.java +++ b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabErrors.java @@ -446,6 +446,7 @@ public static enum PlayFabErrorCode { CannotEnableMultiplayerServersForTitle(1443), WriteAttemptedDuringExport(1444), MultiplayerServerTitleQuotaCoresExceeded(1445), + AutomationRuleNotFound(1446), MatchmakingEntityInvalid(2001), MatchmakingPlayerAttributesInvalid(2002), MatchmakingQueueNotFound(2016), @@ -464,6 +465,7 @@ public static enum PlayFabErrorCode { MatchmakingRateLimitExceeded(2054), MatchmakingTicketMembershipLimitExceeded(2055), MatchmakingUnauthorized(2056), + MatchmakingQueueLimitExceeded(2057), TitleConfigNotFound(3001), TitleConfigUpdateConflict(3002), TitleConfigSerializationError(3003), @@ -481,13 +483,27 @@ public static enum PlayFabErrorCode { CatalogConfigContentTypeTooLong(4102), CatalogConfigTooManyTags(4103), CatalogConfigTagTooLong(4104), + CatalogConfigInvalidDeepLinkObject(4105), + CatalogConfigInvalidDeepLinkPlatform(4106), + CatalogConfigInvalidDeepLinkFormat(4107), + CatalogConfigInvalidDisplayPropertyObject(4108), + CatalogConfigInvalidDisplayPropertyName(4109), + CatalogConfigInvalidDisplayPropertyType(4110), + CatalogConfigDisplayPropertyMappingLimit(4111), ExportInvalidStatusUpdate(5000), ExportInvalidPrefix(5001), ExportBlobContainerDoesNotExist(5002), ExportEventNameNotFound(5003), ExportExportTitleIdNotFound(5004), ExportCouldNotUpdate(5005), - ExportInvalidStorageType(5006); + ExportInvalidStorageType(5006), + ExportAmazonBucketDoesNotExist(5007), + ExportInvalidBlobStorage(5008), + ExportKustoException(5009), + ExportKustoExceptionNew_SomeResources(5010), + ExportKustoExceptionEdit(5011), + ExportKustoConnectionFailed(5012), + ExportUnknownError(5013); public int id; diff --git a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabProfilesModels.java b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabProfilesModels.java index b710e60d..aa59ac2b 100644 --- a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabProfilesModels.java +++ b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabProfilesModels.java @@ -87,6 +87,8 @@ public static class EntityProfileBody { * profile, not global statements from titles and namespaces. */ public ArrayList Permissions; + /** The statistics on this profile. */ + public Map Statistics; /** * The version number of the profile in persistent storage at the time of the read. Used for optional optimistic * concurrency during update. @@ -108,6 +110,30 @@ public static class EntityProfileFileMetadata { } + public static class EntityStatisticChildValue { + /** Child name value, if child statistic */ + public String ChildName; + /** Child statistic metadata */ + public String Metadata; + /** Child statistic value */ + public Integer Value; + + } + + public static class EntityStatisticValue { + /** Child statistic values */ + public Map ChildStatistics; + /** Statistic metadata */ + public String Metadata; + /** Statistic name */ + public String Name; + /** Statistic value */ + public Integer Value; + /** Statistic version */ + public Integer Version; + + } + /** * Given an entity type and entity identifier will retrieve the profile from the entity store. If the profile being * retrieved is the caller's, then the read operation is consistent, if not it is an inconsistent read. An inconsistent diff --git a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java index 7c4c61a1..a4a130f7 100644 --- a/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java +++ b/AndroidStudioExample/app/src/main/java/com/playfab/PlayFabSettings.java @@ -9,9 +9,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.87.190312"; - public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_0"; - public static String SdkVersionString = "JavaSDK-0.87.190312"; + public static String SdkVersion = "0.88.190410"; + public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_2"; + public static String SdkVersionString = "JavaSDK-0.88.190410"; public static Map RequestGetParams; static { diff --git a/PlayFabClientSDK/pom.xml b/PlayFabClientSDK/pom.xml index ff518208..c3f679ec 100644 --- a/PlayFabClientSDK/pom.xml +++ b/PlayFabClientSDK/pom.xml @@ -14,7 +14,7 @@ com.playfab client-sdk - 0.87.190312 + 0.88.190410 PlayFab Client API PlayFab is the unified backend platform for games — everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience. http://api.playfab.com/ diff --git a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabClientModels.java b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabClientModels.java index f6ebc9ee..6b1a5768 100644 --- a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabClientModels.java +++ b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabClientModels.java @@ -99,10 +99,10 @@ public static class AddUsernamePasswordRequest { } /** - * Each account must have a unique username and email address in the PlayFab service. Once created, the - * account may be associated with additional accounts (Steam, Facebook, Game Center, etc.), - * allowing for added social network lists and achievements systems. - * This can also be used to provide a recovery method if the user loses their original means of access. + * Each account must have a unique username and email address in the PlayFab service. Once created, the account may be + * associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and + * achievements systems. This can also be used to provide a recovery method if the user loses their original means of + * access. */ public static class AddUsernamePasswordResult { /** PlayFab unique user name. */ @@ -120,11 +120,9 @@ public static class AddUserVirtualCurrencyRequest { } /** - * More information can be found on configuring your game for the - * Google Cloud Messaging service in the Google developer documentation, here: - * http://developer.android.com/google/gcm/client.html. - * The steps to configure and send Push Notifications is described in the PlayFab tutorials, here: - * https://api.playfab.com/docs/pushCrashCourse/. + * More information can be found on configuring your game for the Google Cloud Messaging service in the Google developer + * documentation, here: http://developer.android.com/google/gcm/client.html. The steps to configure and send Push + * Notifications is described in the PlayFab tutorials, here: https://api.playfab.com/docs/pushCrashCourse/. */ public static class AndroidDevicePushNotificationRegistrationRequest { /** Message to display when confirming push notification. */ @@ -144,8 +142,8 @@ public static class AndroidDevicePushNotificationRegistrationResult { } /** - * If you have an ad attribution partner enabled, this will post an install to their service - * to track the device. It uses the given device id to match based on clicks on ads. + * If you have an ad attribution partner enabled, this will post an install to their service to track the device. It uses + * the given device id to match based on clicks on ads. */ public static class AttributeInstallRequest { /** The adid for this device. */ @@ -374,14 +372,12 @@ public static class CollectionFilter { } /** - * The final step in the purchasing process, this API finalizes the purchase with the payment provider, where - * applicable, adding virtual goods to the player inventory (including random drop table resolution and recursive addition - * of bundled items) - * and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should be - * polled regularly when a - * purchase is in progress. Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are - * in the inventory, and the more items are in the grant/purchase operation. + * The final step in the purchasing process, this API finalizes the purchase with the payment provider, where applicable, + * adding virtual goods to the player inventory (including random drop table resolution and recursive addition of bundled + * items) and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should + * be polled regularly when a purchase is in progress. Please note that the processing time for inventory grants and + * purchases increases fractionally the more items are in the inventory, and the more items are in the grant/purchase + * operation. */ public static class ConfirmPurchaseRequest { /** Purchase order identifier returned from StartPurchase. */ @@ -390,10 +386,9 @@ public static class ConfirmPurchaseRequest { } /** - * When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, - * ProviderErrorMessage, and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some - * rare cases, this - * may mean that the provider hasn't completed some operation required to finalize the purchase. + * When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, ProviderErrorMessage, + * and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some rare cases, this may + * mean that the provider hasn't completed some operation required to finalize the purchase. */ public static class ConfirmPurchaseResult { /** Array of items purchased. */ @@ -732,8 +727,8 @@ public static enum CountryCode { } /** - * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will - * return an error if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. + * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error + * if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. */ public static class CreateSharedGroupRequest { /** Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). */ @@ -1052,12 +1047,6 @@ public static class FacebookPlayFabIdPair { } public static class FriendInfo { - /** - * This field is not populated. - * @deprecated Do not use - */ - @Deprecated - public String CurrentMatchmakerLobbyId; /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ public UserFacebookInfo FacebookInfo; /** PlayFab unique identifier for this friend. */ @@ -1182,14 +1171,11 @@ public static class GetAccountInfoRequest { } /** - * This API retrieves details regarding the player in the PlayFab service. Note that when this call is used - * to retrieve data about another player (not the one signed into the local client), some data, such as Personally - * Identifying Information - * (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to. The user - * account returned - * will be based on the identifier provided in priority order: PlayFabId, Username, Email, then TitleDisplayName. If no - * identifier is - * specified, the currently signed in user's information will be returned. + * This API retrieves details regarding the player in the PlayFab service. Note that when this call is used to retrieve + * data about another player (not the one signed into the local client), some data, such as Personally Identifying + * Information (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to. + * The user account returned will be based on the identifier provided in priority order: PlayFabId, Username, Email, then + * TitleDisplayName. If no identifier is specified, the currently signed in user's information will be returned. */ public static class GetAccountInfoResult { /** Account information for the local user. */ @@ -1204,8 +1190,8 @@ public static class GetCatalogItemsRequest { } /** - * If CatalogVersion is not specified, only inventory items associated with the most recent version of - * the catalog will be returned. + * If CatalogVersion is not specified, only inventory items associated with the most recent version of the catalog will be + * returned. */ public static class GetCatalogItemsResult { /** Array of items which can be purchased. */ @@ -1215,9 +1201,8 @@ public static class GetCatalogItemsResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full - * set of custom character data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom character data will be returned. */ public static class GetCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1248,10 +1233,9 @@ public static class GetCharacterDataResult { } /** - * All items currently in the character inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. Also returns their virtual currency balances. + * All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. Also returns their virtual currency balances. */ public static class GetCharacterInventoryRequest { /** Used to limit results to only those from a specific catalog version. */ @@ -1552,7 +1536,7 @@ public static class GetPlayerCombinedInfoRequestParams { public Boolean GetCharacterInventories; /** Whether to get the list of characters. Defaults to false. */ public Boolean GetCharacterList; - /** Whether to get player profile. Defaults to false. */ + /** Whether to get player profile. Defaults to false. Has no effect for a new player. */ public Boolean GetPlayerProfile; /** Whether to get player statistics. Defaults to false. */ public Boolean GetPlayerStatistics; @@ -1585,9 +1569,9 @@ public static class GetPlayerCombinedInfoRequestParams { } /** - * Returns whatever info is requested in the response for the user. If no user is explicitly requested - * this defaults to the authenticated user. If the user is the same as the requester, PII (like email address, facebook id) - * is returned if available. Otherwise, only public information is returned. All parameters default to false. + * Returns whatever info is requested in the response for the user. If no user is explicitly requested this defaults to the + * authenticated user. If the user is the same as the requester, PII (like email address, facebook id) is returned if + * available. Otherwise, only public information is returned. All parameters default to false. */ public static class GetPlayerCombinedInfoResult { /** Results for requested info. */ @@ -1632,12 +1616,10 @@ public static class GetPlayerCombinedInfoResultPayload { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1887,12 +1869,9 @@ public static class GetPlayFabIDsFromXboxLiveIDsResult { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. Note that there may up to a minute delay in between updating title data - * and this API call returning - * the newest value. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a + * minute delay in between updating title data and this API call returning the newest value. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -1958,15 +1937,15 @@ public static class GetSharedGroupDataResult { } /** - * A store contains an array of references to items defined in one or more catalog - * versions of the game, along with the prices for the item, in both real world and virtual currencies. These prices - * act as an override to any prices defined in the catalog. In this way, the base definitions of the items may be - * defined in the catalog, with all associated properties, while the pricing can be set for each store, as needed. - * This allows for subsets of goods to be defined for different purposes (in order to simplify showing some, but not - * all catalog items to users, based upon different characteristics), along with unique prices. Note that all prices - * defined in the catalog and store definitions for the item are considered valid, and that a compromised client can - * be made to send a request for an item based upon any of these definitions. If no price is specified in the store - * for an item, the price set in the catalog should be displayed to the user. + * A store contains an array of references to items defined in one or more catalog versions of the game, along with the + * prices for the item, in both real world and virtual currencies. These prices act as an override to any prices defined in + * the catalog. In this way, the base definitions of the items may be defined in the catalog, with all associated + * properties, while the pricing can be set for each store, as needed. This allows for subsets of goods to be defined for + * different purposes (in order to simplify showing some, but not all catalog items to users, based upon different + * characteristics), along with unique prices. Note that all prices defined in the catalog and store definitions for the + * item are considered valid, and that a compromised client can be made to send a request for an item based upon any of + * these definitions. If no price is specified in the store for an item, the price set in the catalog should be displayed + * to the user. */ public static class GetStoreItemsRequest { /** catalog version to store items from. Use default catalog version if null */ @@ -1993,8 +1972,7 @@ public static class GetStoreItemsResult { /** * This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between - * servers, - * there is a potential variance of up to 5 seconds. + * servers, there is a potential variance of up to 5 seconds. */ public static class GetTimeRequest { @@ -2009,12 +1987,10 @@ public static class GetTimeResult { /** * This API is designed to return title specific values which can be read, but not written to, by the client. For example, - * a developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. Note that there may up to a minute delay in between - * updating title data and this API call returning - * the newest value. + * a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. Note that there may up to a minute delay in between updating title data and this API call returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2082,12 +2058,9 @@ public static class GetTradeStatusResponse { /** * Data is stored as JSON key-value pairs. Every time the data is updated via any source, the version counter is - * incremented. If the - * Version parameter is provided, then this call will only return data if the current version on the system is greater than - * the value provided. - * If the Keys parameter is provided, the data object returned will only contain the data specific to the indicated Keys. - * Otherwise, the full set of custom user - * data will be returned. + * incremented. If the Version parameter is provided, then this call will only return data if the current version on the + * system is greater than the value provided. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2121,10 +2094,9 @@ public static class GetUserInventoryRequest { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryResult { /** Array of inventory items belonging to the user. */ @@ -2164,9 +2136,9 @@ public static class GooglePlayFabIdPair { } /** - * Grants a character to the user of the type specified by the item ID. The user must - * already have an instance of this item in their inventory in order to allow character creation. This item can come - * from a purchase or grant, which must be done before calling to create the character. + * Grants a character to the user of the type specified by the item ID. The user must already have an instance of this item + * in their inventory in order to allow character creation. This item can come from a purchase or grant, which must be done + * before calling to create the character. */ public static class GrantCharacterToUserRequest { /** Catalog version from which items are to be granted. */ @@ -2300,16 +2272,13 @@ public static class LinkedPlatformAccountModel { } /** - * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token - * can be found in the Facebook developer documentation - * (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, - * for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. Note that titles should - * never re-use the - * same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so - * can result - * in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an application in a - * new PlayFab - * Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in the first Title ID. + * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the + * Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, for + * example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. Note that titles should never + * re-use the same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application + * and doing so can result in issues with the Facebook ID for the user in their PlayFab account information. If you must + * re-use an application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete + * all users in the first Title ID. */ public static class LinkFacebookAccountRequest { /** Unique identifier from Facebook for the user. */ @@ -2449,13 +2418,11 @@ public static class LinkPSNAccountResult { } /** - * Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be - * found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam - * authentication - * to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game Manager (under - * Properties). - * Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your title can be found here: - * https://partner.steamgames.com/documentation/webapi#publisherkey. + * Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the + * Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam + * authentication to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game + * Manager (under Properties). Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your + * title can be found here: https://partner.steamgames.com/documentation/webapi#publisherkey. */ public static class LinkSteamAccountRequest { /** If another user is already linked to the account, unlink the other user and re-link. */ @@ -2584,22 +2551,16 @@ public static class LoginResult { } /** - * On Android devices, the recommendation is to use the Settings.Secure.ANDROID_ID as the - * AndroidDeviceId, as described in this blog post - * (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html). - * More information on this identifier can be found in the Android documentation - * (http://developer.android.com/reference/android/provider/Settings.Secure.html). - * If this is the first time a user has signed in with the Android device and CreateAccount is set to true, a new PlayFab - * account - * will be created and linked to the Android device ID. In this case, no email or username will be associated with the - * PlayFab account. - * Otherwise, if no PlayFab account is linked to the Android device, an error indicating this will be returned, so that the - * title can - * guide the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked - * to a single - * user account, only the one most recently used to login (or most recently linked) will be reflected in the user's account - * information. - * We will be updating to show all linked devices in a future release. + * On Android devices, the recommendation is to use the Settings.Secure.ANDROID_ID as the AndroidDeviceId, as described in + * this blog post (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html). More information on + * this identifier can be found in the Android documentation + * (http://developer.android.com/reference/android/provider/Settings.Secure.html). If this is the first time a user has + * signed in with the Android device and CreateAccount is set to true, a new PlayFab account will be created and linked to + * the Android device ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no + * PlayFab account is linked to the Android device, an error indicating this will be returned, so that the title can guide + * the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked to a + * single user account, only the one most recently used to login (or most recently linked) will be reflected in the user's + * account information. We will be updating to show all linked devices in a future release. */ public static class LoginWithAndroidDeviceIDRequest { /** Specific model of the user's device. */ @@ -2625,12 +2586,11 @@ public static class LoginWithAndroidDeviceIDRequest { } /** - * It is highly recommended that developers ensure that it is extremely unlikely that - * a customer could generate an ID which is already in use by another customer. If this is the first time a user has - * signed in with the Custom ID and CreateAccount is set to true, a new PlayFab account will be created and linked - * to the Custom ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if - * no PlayFab account is linked to the Custom ID, an error indicating this will be returned, so that the title can - * guide the user through creation of a PlayFab account. + * It is highly recommended that developers ensure that it is extremely unlikely that a customer could generate an ID which + * is already in use by another customer. If this is the first time a user has signed in with the Custom ID and + * CreateAccount is set to true, a new PlayFab account will be created and linked to the Custom ID. In this case, no email + * or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Custom ID, an + * error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithCustomIDRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2652,10 +2612,9 @@ public static class LoginWithCustomIDRequest { } /** - * Email address and password lengths are provided for information purposes. The server will validate - * that data passed in conforms to the field definition and report errors appropriately. It is recommended that developers - * not - * perform this validation locally, so that future updates do not require client updates. + * Email address and password lengths are provided for information purposes. The server will validate that data passed in + * conforms to the field definition and report errors appropriately. It is recommended that developers not perform this + * validation locally, so that future updates do not require client updates. */ public static class LoginWithEmailAddressRequest { /** Email address for the account. */ @@ -2692,24 +2651,17 @@ public static class LoginWithFacebookInstantGamesIdRequest { } /** - * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token - * can be found in the Facebook developer documentation - * (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, - * for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a - * user has - * signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and linked - * to the - * provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab account. - * Otherwise, if no - * PlayFab account is linked to the Facebook account, an error indicating this will be returned, so that the title can - * guide the user - * through creation of a PlayFab account. Note that titles should never re-use the same Facebook applications between - * PlayFab Title IDs, - * as Facebook provides unique user IDs per application and doing so can result in issues with the Facebook ID for the user - * in their - * PlayFab account information. If you must re-use an application in a new PlayFab Title ID, please be sure to first unlink - * all accounts - * from Facebook, or delete all users in the first Title ID. + * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the + * Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, for + * example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a user + * has signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and + * linked to the provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab + * account. Otherwise, if no PlayFab account is linked to the Facebook account, an error indicating this will be returned, + * so that the title can guide the user through creation of a PlayFab account. Note that titles should never re-use the + * same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so + * can result in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an + * application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in + * the first Title ID. */ public static class LoginWithFacebookRequest { /** Unique identifier from Facebook for the user. */ @@ -2734,16 +2686,11 @@ public static class LoginWithFacebookRequest { * The Game Center player identifier * (https://developer.apple.com/library/ios/documentation/Accounts/Reference/ACAccountClassRef/index.html#//apple_ref/occ/instp/ACAccount/identifier) * is a generated string which is stored on the local device. As with device identifiers, care must be taken to never - * expose a - * player's Game Center identifier to end users, as that could result in a user's account being compromised. If this is the - * first - * time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account will be created and - * linked - * to the Game Center identifier. In this case, no email or username will be associated with the PlayFab account. - * Otherwise, if - * no PlayFab account is linked to the Game Center account, an error indicating this will be returned, so that the title - * can - * guide the user through creation of a PlayFab account. + * expose a player's Game Center identifier to end users, as that could result in a user's account being compromised. If + * this is the first time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account + * will be created and linked to the Game Center identifier. In this case, no email or username will be associated with the + * PlayFab account. Otherwise, if no PlayFab account is linked to the Game Center account, an error indicating this will be + * returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithGameCenterRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2777,24 +2724,19 @@ public static class LoginWithGameCenterRequest { /** * Google sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google sign-in for Android APIs on - * the device and passing it to this API. - * If this is the first time a user has signed in with the Google account and CreateAccount is - * set to true, a new PlayFab account will be created and linked to the Google account. Otherwise, if no PlayFab account is - * linked to the Google account, an error indicating this will be returned, so - * that the title can guide the user through creation of a PlayFab account. - * The current (recommended) method for obtaining a Google account credential in an Android application is to call - * GoogleSignInAccount.getServerAuthCode() and send the auth code as the ServerAuthCode parameter of this API. - * Before doing this, you must create an OAuth 2.0 web application client ID in the Google API Console and configure its - * client ID and secret in the PlayFab Game Manager Google Add-on - * for your title. This method does not require prompting of the user for additional Google account permissions, resulting - * in a user experience with the least possible friction. - * For more information about obtaining the server auth code, see - * https://developers.google.com/identity/sign-in/android/offline-access. - * The previous (deprecated) method was to obtain an OAuth access token by calling GetAccessToken() on the client and - * passing it as the AccessToken parameter to this API. - * for the with the Google OAuth 2.0 Access Token. More information on this change can be - * found in the Google developer documentation - * (https://android-developers.googleblog.com/2016/01/play-games-permissions-are-changing-in.html). + * the device and passing it to this API. If this is the first time a user has signed in with the Google account and + * CreateAccount is set to true, a new PlayFab account will be created and linked to the Google account. Otherwise, if no + * PlayFab account is linked to the Google account, an error indicating this will be returned, so that the title can guide + * the user through creation of a PlayFab account. The current (recommended) method for obtaining a Google account + * credential in an Android application is to call GoogleSignInAccount.getServerAuthCode() and send the auth code as the + * ServerAuthCode parameter of this API. Before doing this, you must create an OAuth 2.0 web application client ID in the + * Google API Console and configure its client ID and secret in the PlayFab Game Manager Google Add-on for your title. This + * method does not require prompting of the user for additional Google account permissions, resulting in a user experience + * with the least possible friction. For more information about obtaining the server auth code, see + * https://developers.google.com/identity/sign-in/android/offline-access. The previous (deprecated) method was to obtain an + * OAuth access token by calling GetAccessToken() on the client and passing it as the AccessToken parameter to this API. + * for the with the Google OAuth 2.0 Access Token. More information on this change can be found in the Google developer + * documentation (https://android-developers.googleblog.com/2016/01/play-games-permissions-are-changing-in.html). */ public static class LoginWithGoogleAccountRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2822,20 +2764,13 @@ public static class LoginWithGoogleAccountRequest { * On iOS devices, the identifierForVendor * (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/occ/instp/UIDevice/identifierForVendor) * must be used as the DeviceId, as the UIDevice uniqueIdentifier has been deprecated as of iOS 5, and use of the - * advertisingIdentifier - * for this purpose will result in failure of Apple's certification process. If this is the first time a user has signed in - * with the iOS - * device and CreateAccount is set to true, a new PlayFab account will be created and linked to the vendor-specific iOS - * device ID. In - * this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked - * to the iOS - * device, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab - * account. Please - * note that while multiple devices of this type can be linked to a single user account, only the one most recently used to - * login (or - * most recently linked) will be reflected in the user's account information. We will be updating to show all linked - * devices in a future - * release. + * advertisingIdentifier for this purpose will result in failure of Apple's certification process. If this is the first + * time a user has signed in with the iOS device and CreateAccount is set to true, a new PlayFab account will be created + * and linked to the vendor-specific iOS device ID. In this case, no email or username will be associated with the PlayFab + * account. Otherwise, if no PlayFab account is linked to the iOS device, an error indicating this will be returned, so + * that the title can guide the user through creation of a PlayFab account. Please note that while multiple devices of this + * type can be linked to a single user account, only the one most recently used to login (or most recently linked) will be + * reflected in the user's account information. We will be updating to show all linked devices in a future release. */ public static class LoginWithIOSDeviceIDRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2862,13 +2797,12 @@ public static class LoginWithIOSDeviceIDRequest { /** * More details regarding Kongregate and their game authentication system can be found at - * http://developers.kongregate.com/docs/virtual-goods/authentication. Developers must provide the Kongregate user ID - * and auth token that are generated using the Kongregate client library. PlayFab will combine these identifiers - * with the title's unique Kongregate app ID to log the player into the Kongregate system. If CreateAccount is set - * to true and there is not already a user matched to this Kongregate ID, then PlayFab will create a new account for this - * user - * and link the ID. In this case, no email or username will be associated with the PlayFab account. If there is already - * a different PlayFab user linked with this account, then an error will be returned. + * http://developers.kongregate.com/docs/virtual-goods/authentication. Developers must provide the Kongregate user ID and + * auth token that are generated using the Kongregate client library. PlayFab will combine these identifiers with the + * title's unique Kongregate app ID to log the player into the Kongregate system. If CreateAccount is set to true and there + * is not already a user matched to this Kongregate ID, then PlayFab will create a new account for this user and link the + * ID. In this case, no email or username will be associated with the PlayFab account. If there is already a different + * PlayFab user linked with this account, then an error will be returned. */ public static class LoginWithKongregateRequest { /** Token issued by Kongregate's client API for the user. */ @@ -2935,10 +2869,9 @@ public static class LoginWithOpenIdConnectRequest { } /** - * Username and password lengths are provided for information purposes. The server will validate - * that data passed in conforms to the field definition and report errors appropriately. It is recommended that developers - * not - * perform this validation locally, so that future updates to the username or password do not require client updates. + * Username and password lengths are provided for information purposes. The server will validate that data passed in + * conforms to the field definition and report errors appropriately. It is recommended that developers not perform this + * validation locally, so that future updates to the username or password do not require client updates. */ public static class LoginWithPlayFabRequest { /** Flags for which pieces of info to return for the user. */ @@ -2956,11 +2889,9 @@ public static class LoginWithPlayFabRequest { } /** - * If this is the first time a user has signed in with the PlayStation Network account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the PSN account. In this case, no email or username - * will be - * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the PSN account, an error indicating - * this will + * If this is the first time a user has signed in with the PlayStation Network account and CreateAccount is set to true, a + * new PlayFab account will be created and linked to the PSN account. In this case, no email or username will be associated + * with the PlayFab account. Otherwise, if no PlayFab account is linked to the PSN account, an error indicating this will * be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithPSNRequest { @@ -2987,20 +2918,15 @@ public static class LoginWithPSNRequest { } /** - * Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be - * found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam - * authentication - * to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game Manager (under - * Steam in the - * Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group associated with your App ID in - * the Steamworks - * site. If this is the first time a user has signed in with the Steam account and CreateAccount is set to true, a new - * PlayFab account - * will be created and linked to the provided account's Steam ID. In this case, no email or username will be associated - * with the PlayFab - * account. Otherwise, if no PlayFab account is linked to the Steam account, an error indicating this will be returned, so - * that the title - * can guide the user through creation of a PlayFab account. + * Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the + * Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam + * authentication to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game + * Manager (under Steam in the Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group + * associated with your App ID in the Steamworks site. If this is the first time a user has signed in with the Steam + * account and CreateAccount is set to true, a new PlayFab account will be created and linked to the provided account's + * Steam ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab + * account is linked to the Steam account, an error indicating this will be returned, so that the title can guide the user + * through creation of a PlayFab account. */ public static class LoginWithSteamRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -3029,9 +2955,9 @@ public static class LoginWithSteamRequest { * https://github.com/justintv/Twitch-API/blob/master/authentication.md. Developers must provide the Twitch access token * that is generated using one of the Twitch authentication flows. PlayFab will use the title's unique Twitch Client ID to * authenticate the token and log in to the PlayFab system. If CreateAccount is set to true and there is not already a user - * matched to the Twitch username that generated the token, then PlayFab will create a new account for this user - * and link the ID. In this case, no email or username will be associated with the PlayFab account. If there is already - * a different PlayFab user linked with this account, then an error will be returned. + * matched to the Twitch username that generated the token, then PlayFab will create a new account for this user and link + * the ID. In this case, no email or username will be associated with the PlayFab account. If there is already a different + * PlayFab user linked with this account, then an error will be returned. */ public static class LoginWithTwitchRequest { /** Token issued by Twitch's API for the user. */ @@ -3069,12 +2995,10 @@ public static class LoginWithWindowsHelloRequest { } /** - * If this is the first time a user has signed in with the Xbox Live account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email or - * username will be + * If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set to true, a new + * PlayFab account will be created and linked to the Xbox Live account. In this case, no email or username will be * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Xbox Live account, an error - * indicating this will - * be returned, so that the title can guide the user through creation of a PlayFab account. + * indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithXboxRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -3391,10 +3315,8 @@ public static class PSNAccountPlayFabIdPair { } /** - * Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are in the inventory, and the more items are in the grant/purchase operation (with each item in a bundle - * being a - * distinct add). + * Please note that the processing time for inventory grants and purchases increases fractionally the more items are in the + * inventory, and the more items are in the grant/purchase operation (with each item in a bundle being a distinct add). */ public static class PurchaseItemRequest { /** Catalog version for the items to be purchased (defaults to most recent version. */ @@ -3432,10 +3354,9 @@ public static class PushNotificationRegistrationModel { } /** - * Coupon codes can be created for any item, or set of items, in the catalog for the title. This - * operation causes the coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an - * already - * consumed code, or a code which has not yet been created in the service, will result in an error. + * Coupon codes can be created for any item, or set of items, in the catalog for the title. This operation causes the + * coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an already consumed code, + * or a code which has not yet been created in the service, will result in an error. */ public static class RedeemCouponRequest { /** Catalog version of the coupon. If null, uses the default catalog */ @@ -3533,9 +3454,9 @@ public static class RegisterPlayFabUserRequest { } /** - * Each account must have a unique email address in the PlayFab service. Once created, the - * account may be associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social - * network lists and achievements systems. + * Each account must have a unique email address in the PlayFab service. Once created, the account may be associated with + * additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and achievements + * systems. */ public static class RegisterPlayFabUserResult { /** @@ -3636,11 +3557,9 @@ public static class ReportPlayerClientResult { } /** - * The title should obtain a refresh receipt via restoreCompletedTransactions in the SKPaymentQueue - * of the Apple StoreKit and pass that in to this call. The resultant receipt contains new receipt instances for all - * non-consumable - * goods previously purchased by the user. This API call iterates through every purchase in the receipt and restores the - * items if + * The title should obtain a refresh receipt via restoreCompletedTransactions in the SKPaymentQueue of the Apple StoreKit + * and pass that in to this call. The resultant receipt contains new receipt instances for all non-consumable goods + * previously purchased by the user. This API call iterates through every purchase in the receipt and restores the items if * they still exist in the catalog and can be validated. */ public static class RestoreIOSPurchasesRequest { @@ -3690,10 +3609,9 @@ public static class SendAccountRecoveryEmailResult { } /** - * This operation is not additive. It will completely replace the tag list for the specified user. - * Please note that only users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only - * included - * in the friends list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. + * This operation is not additive. It will completely replace the tag list for the specified user. Please note that only + * users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only included in the friends + * list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. */ public static class SetFriendTagsRequest { /** PlayFab identifier of the friend account to which the tag(s) should be applied. */ @@ -4206,7 +4124,7 @@ public static class UnlockContainerItemRequest { } - /** The items and vc found within the container. These will be added and stacked in the appropriate inventory. */ + /** The items and vc found within the container. These will be added and stacked in the appropriate inventory. */ public static class UnlockContainerItemResult { /** Items granted to the player as a result of unlocking the container. */ public ArrayList GrantedItems; @@ -4226,11 +4144,10 @@ public static class UpdateAvatarUrlRequest { } /** - * This function performs an additive update of the arbitrary strings - * containing the custom data for the character. In updating the custom data object, keys which already - * exist in the object will have their values overwritten, while keys with null values will be removed. - * New keys will be added, with the given values. No other key-value pairs will be changed apart from - * those specified in the call. + * This function performs an additive update of the arbitrary strings containing the custom data for the character. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. New keys will be added, with the given values. No other key-value pairs will be + * changed apart from those specified in the call. */ public static class UpdateCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4261,11 +4178,10 @@ public static class UpdateCharacterDataResult { /** * Enable this option with the 'Allow Client to Post Player Statistics' option in PlayFab GameManager for your title. - * However, this is not best practice, as this data will no longer be safely controlled by the server. - * This operation is additive. Character Statistics not currently defined will be added, while those already defined will - * be updated with the given values. - * All other user statistics will remain unchanged. Character statistics are used by the character-leaderboard apis, and - * accessible for custom game-logic. + * However, this is not best practice, as this data will no longer be safely controlled by the server. This operation is + * additive. Character Statistics not currently defined will be added, while those already defined will be updated with the + * given values. All other user statistics will remain unchanged. Character statistics are used by the + * character-leaderboard apis, and accessible for custom game-logic. */ public static class UpdateCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4282,14 +4198,11 @@ public static class UpdateCharacterStatisticsResult { /** * Enable this option with the 'Allow Client to Post Player Statistics' option in PlayFab GameManager for your title. * However, this is not best practice, as this data will no longer be safely controlled by the server. This operation is - * additive. Statistics not - * currently defined will be added, while those already defined will be updated with the given values. All other user - * statistics will remain - * unchanged. Note that if the statistic is intended to have a reset period, the UpdatePlayerStatisticDefinition API call - * can be used to define - * that reset period. Once a statistic has been versioned (reset), the now-previous version can still be written to for up - * a - * short, pre-defined period (currently 10 seconds), using the Version parameter in this call. + * additive. Statistics not currently defined will be added, while those already defined will be updated with the given + * values. All other user statistics will remain unchanged. Note that if the statistic is intended to have a reset period, + * the UpdatePlayerStatisticDefinition API call can be used to define that reset period. Once a statistic has been + * versioned (reset), the now-previous version can still be written to for up a short, pre-defined period (currently 10 + * seconds), using the Version parameter in this call. */ public static class UpdatePlayerStatisticsRequest { /** Statistics to be updated with the provided values */ @@ -4302,11 +4215,10 @@ public static class UpdatePlayerStatisticsResult { } /** - * Note that in the case of multiple calls to write to the same shared group data keys, the - * last write received by the PlayFab service will determine the value available to subsequent read operations. For - * scenarios - * requiring coordination of data updates, it is recommended that titles make use of user data with read permission set to - * public, or a combination of user data and shared group data. + * Note that in the case of multiple calls to write to the same shared group data keys, the last write received by the + * PlayFab service will determine the value available to subsequent read operations. For scenarios requiring coordination + * of data updates, it is recommended that titles make use of user data with read permission set to public, or a + * combination of user data and shared group data. */ public static class UpdateSharedGroupDataRequest { /** @@ -4331,11 +4243,10 @@ public static class UpdateSharedGroupDataResult { } /** - * This function performs an additive update of the arbitrary strings containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. New keys will be added, with the given values. No other key-value pairs will be changed apart from those - * specified in the call. + * This function performs an additive update of the arbitrary strings containing the custom data for the user. In updating + * the custom data object, keys which already exist in the object will have their values overwritten, while keys with null + * values will be removed. New keys will be added, with the given values. No other key-value pairs will be changed apart + * from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -4366,9 +4277,8 @@ public static class UpdateUserDataResult { } /** - * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, - * but specific to the title. This allows for unique names which more closely match the theme or genre of a title, for - * example. + * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, but + * specific to the title. This allows for unique names which more closely match the theme or genre of a title, for example. */ public static class UpdateUserTitleDisplayNameRequest { /** New title display name for the user - must be between 3 and 25 characters. */ @@ -4489,6 +4399,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4580,6 +4492,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } @@ -4652,12 +4566,10 @@ public static class ValidateAmazonReceiptResult { /** * The packageName and productId are defined in the GooglePlay store. The productId must match the ItemId of the inventory - * item - * in the PlayFab catalog for the title. This enables the PlayFab service to securely validate that the purchase is for the - * correct item, in order to prevent - * uses from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being - * for a $19.99 purchase, for example). - * Each receipt may be validated only once to avoid granting the same item over and over from a single purchase. + * item in the PlayFab catalog for the title. This enables the PlayFab service to securely validate that the purchase is + * for the correct item, in order to prevent uses from passing valid receipts as being for more expensive items (passing a + * receipt for a 99-cent purchase as being for a $19.99 purchase, for example). Each receipt may be validated only once to + * avoid granting the same item over and over from a single purchase. */ public static class ValidateGooglePlayPurchaseRequest { /** Currency used for the purchase. */ @@ -4682,10 +4594,9 @@ public static class ValidateGooglePlayPurchaseResult { /** * The CurrencyCode and PurchasePrice must match the price which was set up for the item in the Apple store. In addition, * The ItemId of the inventory in the PlayFab Catalog must match the Product ID as it was set up in the Apple store. This - * enables the PlayFab service to - * securely validate that the purchase is for the correct item, in order to prevent uses from passing valid receipts as - * being for more expensive items - * (passing a receipt for a 99-cent purchase as being for a $19.99 purchase, for example). + * enables the PlayFab service to securely validate that the purchase is for the correct item, in order to prevent uses + * from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being for a + * $19.99 purchase, for example). */ public static class ValidateIOSReceiptRequest { /** Currency used for the purchase. */ diff --git a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabErrors.java b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabErrors.java index 9f0db166..df32a81e 100644 --- a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabErrors.java +++ b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabErrors.java @@ -446,6 +446,7 @@ public static enum PlayFabErrorCode { CannotEnableMultiplayerServersForTitle(1443), WriteAttemptedDuringExport(1444), MultiplayerServerTitleQuotaCoresExceeded(1445), + AutomationRuleNotFound(1446), MatchmakingEntityInvalid(2001), MatchmakingPlayerAttributesInvalid(2002), MatchmakingQueueNotFound(2016), @@ -464,6 +465,7 @@ public static enum PlayFabErrorCode { MatchmakingRateLimitExceeded(2054), MatchmakingTicketMembershipLimitExceeded(2055), MatchmakingUnauthorized(2056), + MatchmakingQueueLimitExceeded(2057), TitleConfigNotFound(3001), TitleConfigUpdateConflict(3002), TitleConfigSerializationError(3003), @@ -481,13 +483,27 @@ public static enum PlayFabErrorCode { CatalogConfigContentTypeTooLong(4102), CatalogConfigTooManyTags(4103), CatalogConfigTagTooLong(4104), + CatalogConfigInvalidDeepLinkObject(4105), + CatalogConfigInvalidDeepLinkPlatform(4106), + CatalogConfigInvalidDeepLinkFormat(4107), + CatalogConfigInvalidDisplayPropertyObject(4108), + CatalogConfigInvalidDisplayPropertyName(4109), + CatalogConfigInvalidDisplayPropertyType(4110), + CatalogConfigDisplayPropertyMappingLimit(4111), ExportInvalidStatusUpdate(5000), ExportInvalidPrefix(5001), ExportBlobContainerDoesNotExist(5002), ExportEventNameNotFound(5003), ExportExportTitleIdNotFound(5004), ExportCouldNotUpdate(5005), - ExportInvalidStorageType(5006); + ExportInvalidStorageType(5006), + ExportAmazonBucketDoesNotExist(5007), + ExportInvalidBlobStorage(5008), + ExportKustoException(5009), + ExportKustoExceptionNew_SomeResources(5010), + ExportKustoExceptionEdit(5011), + ExportKustoConnectionFailed(5012), + ExportUnknownError(5013); public int id; diff --git a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabProfilesModels.java b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabProfilesModels.java index b710e60d..aa59ac2b 100644 --- a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabProfilesModels.java +++ b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabProfilesModels.java @@ -87,6 +87,8 @@ public static class EntityProfileBody { * profile, not global statements from titles and namespaces. */ public ArrayList Permissions; + /** The statistics on this profile. */ + public Map Statistics; /** * The version number of the profile in persistent storage at the time of the read. Used for optional optimistic * concurrency during update. @@ -108,6 +110,30 @@ public static class EntityProfileFileMetadata { } + public static class EntityStatisticChildValue { + /** Child name value, if child statistic */ + public String ChildName; + /** Child statistic metadata */ + public String Metadata; + /** Child statistic value */ + public Integer Value; + + } + + public static class EntityStatisticValue { + /** Child statistic values */ + public Map ChildStatistics; + /** Statistic metadata */ + public String Metadata; + /** Statistic name */ + public String Name; + /** Statistic value */ + public Integer Value; + /** Statistic version */ + public Integer Version; + + } + /** * Given an entity type and entity identifier will retrieve the profile from the entity store. If the profile being * retrieved is the caller's, then the read operation is consistent, if not it is an inconsistent read. An inconsistent diff --git a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabSettings.java b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabSettings.java index 1ccfa4f3..5e952e7c 100644 --- a/PlayFabClientSDK/src/main/java/com/playfab/PlayFabSettings.java +++ b/PlayFabClientSDK/src/main/java/com/playfab/PlayFabSettings.java @@ -8,9 +8,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.87.190312"; - public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_0"; - public static String SdkVersionString = "JavaSDK-0.87.190312"; + public static String SdkVersion = "0.88.190410"; + public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_2"; + public static String SdkVersionString = "JavaSDK-0.88.190410"; public static Map RequestGetParams; static { diff --git a/PlayFabSDK/pom.xml b/PlayFabSDK/pom.xml index 1db59c34..a14225a4 100644 --- a/PlayFabSDK/pom.xml +++ b/PlayFabSDK/pom.xml @@ -14,7 +14,7 @@ com.playfab combo-sdk - 0.87.190312 + 0.88.190410 PlayFab Combo API PlayFab is the unified backend platform for games — everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience. http://api.playfab.com/ diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabAdminModels.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabAdminModels.java index 55f21231..c9afecf3 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabAdminModels.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabAdminModels.java @@ -182,9 +182,8 @@ public static class AddUserVirtualCurrencyRequest { } /** - * This operation is additive. Any new currencies defined in the array will be added - * to the set of those available for the title, while any CurrencyCode identifiers matching existing ones in the - * game will be overwritten with the new values. + * This operation is additive. Any new currencies defined in the array will be added to the set of those available for the + * title, while any CurrencyCode identifiers matching existing ones in the game will be overwritten with the new values. */ public static class AddVirtualCurrencyTypesRequest { /** @@ -821,23 +820,17 @@ public static class CreatePlayerSharedSecretResult { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval - * enables automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version - * with no values (effectively - * removing all players from the leaderboard). The previous version's statistic values are also archived for retrieval, if - * needed (see - * GetPlayerStatisticVersions). Statistics not created via a call to CreatePlayerStatisticDefinition by default have a - * VersionChangeInterval of Never, - * meaning they do not reset on a schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. - * Once a statistic has been reset + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval enables + * automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version with no + * values (effectively removing all players from the leaderboard). The previous version's statistic values are also + * archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to + * CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on a + * schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset * (sometimes referred to as versioned or incremented), the now-previous version can still be written to for up a short, - * pre-defined period (currently - * 10 seconds), to prevent issues with levels completing around the time of the reset. Also, once reset, the historical - * statistics for players in the - * title may be retrieved using the URL specified in the version information (GetPlayerStatisticVersions). The - * AggregationMethod determines what action - * is taken when a new statistic value is submitted - always update with the new value (Last), use the highest of the old - * and new values (Max), use the + * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). The AggregationMethod determines what action is taken when a new statistic + * value is submitted - always update with the new value (Last), use the highest of the old and new values (Max), use the * smallest (Min), or add them together (Sum). */ public static class CreatePlayerStatisticDefinitionRequest { @@ -1035,17 +1028,14 @@ public static class DeleteContentRequest { /** * 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 data, credential data, account linkages, friends list and - * PlayStream event history. Removes the player from all leaderboards and player search indexes. - * Note, this API queues the player for deletion and returns a receipt immediately. Record the receipt ID - * for future reference. It may take some time before all player data is fully deleted. - * Upon completion of the deletion, an email will be sent to the notification email address configured for - * the title confirming the deletion. - * Until the player data is fully deleted, attempts to recreate the player with the same user account in - * the same title will fail with the 'AccountDeleted' error. - * It is highly recommended to know the impact of the deletion by calling GetPlayedTitleList, before - * calling this API. + * as statistics, custom data, inventory, purchases, virtual currency balances, characters, group memberships, publisher + * data, credential data, account linkages, friends list and PlayStream event history. Removes the player from all + * leaderboards and player search indexes. Note, this API queues the player for deletion and returns a receipt immediately. + * Record the receipt ID for future reference. It may take some time before all player data is fully deleted. Upon + * completion of the deletion, an email will be sent to the notification email address configured for the title confirming + * the deletion. Until the player data is fully deleted, attempts to recreate the player with the same user account in the + * same title will fail with the 'AccountDeleted' error. It is highly recommended to know the impact of the deletion by + * calling GetPlayedTitleList, before calling this API. */ public static class DeleteMasterPlayerAccountRequest { /** Developer created string to identify a user without PlayFab ID */ @@ -1074,15 +1064,12 @@ public static class DeleteOpenIdConnectionRequest { /** * Deletes all data associated with the player, including statistics, custom data, inventory, purchases, virtual currency - * balances, - * characters and shared group memberships. Removes the player from all leaderboards and player search - * indexes. Does not delete PlayStream event history associated with the player. - * Does not delete the publisher user account that created the player in the title nor associated data such - * as username, password, email address, account linkages, or friends list. - * Note, this API queues the player for deletion and returns immediately. It may take several minutes or - * more before all player data is fully deleted. - * Until the player data is fully deleted, attempts to recreate the player with the same user account in - * the same title will fail with the 'AccountDeleted' error. + * balances, characters and shared group memberships. Removes the player from all leaderboards and player search indexes. + * Does not delete PlayStream event history associated with the player. Does not delete the publisher user account that + * created the player in the title nor associated data such as username, password, email address, account linkages, or + * friends list. Note, this API queues the player for deletion and returns immediately. It may take several minutes or more + * before all player data is fully deleted. Until the player data is fully deleted, attempts to recreate the player with + * the same user account in the same title will fail with the 'AccountDeleted' error. */ public static class DeletePlayerRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1134,17 +1121,12 @@ public static class DeleteTaskRequest { /** * Deletes all data associated with the title, including catalog, virtual currencies, leaderboard statistics, Cloud Script - * revisions, - * segment definitions, event rules, tasks, add-ons, secret keys, data encryption keys, and permission - * policies. - * Removes the title from its studio and removes all associated developer roles and permissions. - * Does not delete PlayStream event history associated with the title. - * Note, this API queues the title for deletion and returns immediately. It may take several hours or more - * before all title data is fully deleted. - * All player accounts in the title must be deleted before deleting the title. If any player accounts - * exist, the API will return a 'TitleContainsUserAccounts' error. - * Until the title data is fully deleted, attempts to call APIs with the title will fail with the - * 'TitleDeleted' error. + * revisions, segment definitions, event rules, tasks, add-ons, secret keys, data encryption keys, and permission policies. + * Removes the title from its studio and removes all associated developer roles and permissions. Does not delete PlayStream + * event history associated with the title. Note, this API queues the title for deletion and returns immediately. It may + * take several hours or more before all title data is fully deleted. All player accounts in the title must be deleted + * before deleting the title. If any player accounts exist, the API will return a 'TitleContainsUserAccounts' error. Until + * the title data is fully deleted, attempts to call APIs with the title will fail with the 'TitleDeleted' error. */ public static class DeleteTitleRequest { @@ -1218,13 +1200,11 @@ public static class ExecuteCloudScriptResult { /** * Exports 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 data, credential data, account linkages, friends list and - * PlayStream event history. - * Note, this API queues the player for export and returns a receipt immediately. Record the receipt ID for - * future reference. It may take some time before the export is available for download. - * Upon completion of the export, an email containing the URL to download the export dump will be sent to - * the notification email address configured for the title. + * as statistics, custom data, inventory, purchases, virtual currency balances, characters, group memberships, publisher + * data, credential data, account linkages, friends list and PlayStream event history. Note, this API queues the player for + * export and returns a receipt immediately. Record the receipt ID for future reference. It may take some time before the + * export is available for download. Upon completion of the export, an email containing the URL to download the export dump + * will be sent to the notification email address configured for the title. */ public static class ExportMasterPlayerDataRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1697,6 +1677,7 @@ public static enum GenericErrorCodes { CannotEnableMultiplayerServersForTitle, WriteAttemptedDuringExport, MultiplayerServerTitleQuotaCoresExceeded, + AutomationRuleNotFound, MatchmakingEntityInvalid, MatchmakingPlayerAttributesInvalid, MatchmakingQueueNotFound, @@ -1715,6 +1696,7 @@ public static enum GenericErrorCodes { MatchmakingRateLimitExceeded, MatchmakingTicketMembershipLimitExceeded, MatchmakingUnauthorized, + MatchmakingQueueLimitExceeded, TitleConfigNotFound, TitleConfigUpdateConflict, TitleConfigSerializationError, @@ -1732,13 +1714,27 @@ public static enum GenericErrorCodes { CatalogConfigContentTypeTooLong, CatalogConfigTooManyTags, CatalogConfigTagTooLong, + CatalogConfigInvalidDeepLinkObject, + CatalogConfigInvalidDeepLinkPlatform, + CatalogConfigInvalidDeepLinkFormat, + CatalogConfigInvalidDisplayPropertyObject, + CatalogConfigInvalidDisplayPropertyName, + CatalogConfigInvalidDisplayPropertyType, + CatalogConfigDisplayPropertyMappingLimit, ExportInvalidStatusUpdate, ExportInvalidPrefix, ExportBlobContainerDoesNotExist, ExportEventNameNotFound, ExportExportTitleIdNotFound, ExportCouldNotUpdate, - ExportInvalidStorageType + ExportInvalidStorageType, + ExportAmazonBucketDoesNotExist, + ExportInvalidBlobStorage, + ExportKustoException, + ExportKustoExceptionNew_SomeResources, + ExportKustoExceptionEdit, + ExportKustoConnectionFailed, + ExportUnknownError } public static class GetActionsOnPlayersInSegmentTaskInstanceResult { @@ -1907,10 +1903,9 @@ public static class GetMatchmakerGameInfoResult { } /** - * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room - * for additional users, and by the PlayFab game server management service to determine when a new Game Server Host should - * be created in order to - * prevent excess load on existing Hosts. + * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room for + * additional users, and by the PlayFab game server management service to determine when a new Game Server Host should be + * created in order to prevent excess load on existing Hosts. */ public static class GetMatchmakerGameModesRequest { /** previously uploaded build version for which game modes are being requested */ @@ -1956,12 +1951,10 @@ public static class GetPlayerIdFromAuthTokenResult { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2049,24 +2042,18 @@ public static class GetPlayerStatisticDefinitionsRequest { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval - * defines the period of time at which the leaderboard for the statistic will automatically reset. Upon reset, the - * statistic updates to a new version - * with no values (effectively removing all players from the leaderboard). The previous version's statistic values are also - * archived for retrieval, - * if needed (see GetPlayerStatisticVersions). Statistics not created via a call to CreatePlayerStatisticDefinition by - * default have a - * VersionChangeInterval of Never, meaning they do not reset on a schedule, but they can be set to do so via a call to - * UpdatePlayerStatisticDefinition. - * Once a statistic has been reset (sometimes referred to as versioned or incremented), the previous version can still be - * written to for up a short, + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval defines + * the period of time at which the leaderboard for the statistic will automatically reset. Upon reset, the statistic + * updates to a new version with no values (effectively removing all players from the leaderboard). The previous version's + * statistic values are also archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via + * a call to CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on + * a schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset + * (sometimes referred to as versioned or incremented), the previous version can still be written to for up a short, * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, - * once reset, the historical - * statistics for players in the title may be retrieved using the URL specified in the version information - * (GetPlayerStatisticVersions). The - * AggregationMethod defines what action is taken when a new statistic value is submitted - always update with the new - * value (Last), use the highest - * of the old and new values (Max), use the smallest (Min), or add them together (Sum). + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). The AggregationMethod defines what action is taken when a new statistic value + * is submitted - always update with the new value (Last), use the highest of the old and new values (Max), use the + * smallest (Min), or add them together (Sum). */ public static class GetPlayerStatisticDefinitionsResult { /** the player statistic definitions for the title */ @@ -2081,16 +2068,12 @@ public static class GetPlayerStatisticVersionsRequest { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The information - * returned in the results defines the state of a specific version of a statistic, including when it was or will become the - * currently active version, - * when it will (or did) become a previous version, and its archival state if it is no longer the active version. For a - * statistic which has been - * reset, once the archival status is Complete, the full set of statistics for all players in the leaderboard for that - * version may be retrieved - * via the ArchiveDownloadUrl. Statistics which have not been reset (incremented/versioned) will only have a single version - * which is not scheduled - * to reset. + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The information returned + * in the results defines the state of a specific version of a statistic, including when it was or will become the + * currently active version, when it will (or did) become a previous version, and its archival state if it is no longer the + * active version. For a statistic which has been reset, once the archival status is Complete, the full set of statistics + * for all players in the leaderboard for that version may be retrieved via the ArchiveDownloadUrl. Statistics which have + * not been reset (incremented/versioned) will only have a single version which is not scheduled to reset. */ public static class GetPlayerStatisticVersionsResult { /** version change history of the statistic */ @@ -2136,11 +2119,9 @@ public static class GetPolicyResponse { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. This AdminAPI call for getting title data guarantees no delay in between - * update and retrieval of newly set data. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. This AdminAPI call for getting + * title data guarantees no delay in between update and retrieval of newly set data. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -2230,15 +2211,14 @@ public static class GetServerBuildUploadURLResult { } /** - * A store contains an array of references to items defined in the catalog, - * along with the prices for the item, in both real world and virtual currencies. These prices - * act as an override to any prices defined in the catalog. In this way, the base definitions of the items may be - * defined in the catalog, with all associated properties, while the pricing can be set for each store, as needed. - * This allows for subsets of goods to be defined for different purposes (in order to simplify showing some, but not - * all catalog items to users, based upon different characteristics), along with unique prices. Note that all prices - * defined in the catalog and store definitions for the item are considered valid, and that a compromised client can - * be made to send a request for an item based upon any of these definitions. If no price is specified in the store - * for an item, the price set in the catalog should be displayed to the user. + * A store contains an array of references to items defined in the catalog, along with the prices for the item, in both + * real world and virtual currencies. These prices act as an override to any prices defined in the catalog. In this way, + * the base definitions of the items may be defined in the catalog, with all associated properties, while the pricing can + * be set for each store, as needed. This allows for subsets of goods to be defined for different purposes (in order to + * simplify showing some, but not all catalog items to users, based upon different characteristics), along with unique + * prices. Note that all prices defined in the catalog and store definitions for the item are considered valid, and that a + * compromised client can be made to send a request for an item based upon any of these definitions. If no price is + * specified in the store for an item, the price set in the catalog should be displayed to the user. */ public static class GetStoreItemsRequest { /** catalog version to store items from. Use default catalog version if null */ @@ -2264,8 +2244,9 @@ public static class GetStoreItemsResult { } /** - * The result includes detail information that's specific to a CloudScript tasks. To get a list of task instances with - * generic basic information, use GetTaskInstances. + * The result includes detail information that's specific to a CloudScript task. Only CloudScript tasks configured as "Run + * Cloud Script function once" will be retrieved. To get a list of task instances by task, status, or time range, use + * GetTaskInstances. */ public static class GetTaskInstanceRequest { /** ID of the requested task instance. */ @@ -2316,12 +2297,11 @@ public static class GetTasksResult { } /** - * This API method is designed to return title specific values which can be read by the client. - * For example, a developer could choose to store values which modify the user experience, such as enemy spawn rates, - * weapon - * strengths, movement speeds, etc. This allows a developer to update the title without the need to create,test, and ship a - * new build. Note that due to caching, there may up to a minute delay in between updating title data and a query returning - * the newest value. + * This API method is designed to return title specific values which can be read by the client. For example, a developer + * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement + * speeds, etc. This allows a developer to update the title without the need to create,test, and ship a new build. Note + * that due to caching, there may up to a minute delay in between updating title data and a query returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2349,10 +2329,8 @@ public static class GetUserBansResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set of custom - * user - * data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2381,10 +2359,9 @@ public static class GetUserDataResult { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2455,12 +2432,10 @@ public int compareTo(GrantedItemInstance other) { } /** - * This function directly adds inventory items to user inventories. As a result of this operations, the user - * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the - * processing time for - * inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in the - * grant/purchase - * operation. + * This function directly adds inventory items to user inventories. As a result of this operations, the user will not be + * charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing time + * for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in + * the grant/purchase operation. */ public static class GrantItemsToUsersRequest { /** Catalog version from which items are to be granted. */ @@ -2497,21 +2472,16 @@ public static class IncrementLimitedEditionItemAvailabilityResult { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. - * When this call is made on a given statistic, this forces a reset of that statistic. Upon reset, the statistic updates to - * a new - * version with no values (effectively removing all players from the leaderboard). The previous version's statistic values - * are - * also archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. When this call is made on + * a given statistic, this forces a reset of that statistic. Upon reset, the statistic updates to a new version with no + * values (effectively removing all players from the leaderboard). The previous version's statistic values are also + * archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to * CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on a - * schedule, but - * they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset (sometimes - * referred to - * as versioned or incremented), the now-previous version can still be written to for up a short, pre-defined period - * (currently - * 10 seconds), to prevent issues with levels completing around the time of the reset. Also, once reset, the historical - * statistics for players in the title may be retrieved using the URL specified in the version information - * (GetPlayerStatisticVersions). + * schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset + * (sometimes referred to as versioned or incremented), the now-previous version can still be written to for up a short, + * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). */ public static class IncrementPlayerStatisticVersionRequest { /** unique name of the statistic */ @@ -2685,12 +2655,10 @@ public static class LogStatement { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class LookupUserAccountInfoRequest { /** User email address attached to their account */ @@ -2728,14 +2696,11 @@ public static class MembershipModel { } /** - * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room - * for additional users, and by the PlayFab game server management service to determine when a new Game Server Host should - * be created in order to - * prevent excess load on existing Hosts. This operation is not additive. Using it will cause the game mode definition for - * the game server executable - * in question to be created from scratch. If there is an existing game server mode definition for the given BuildVersion, - * it will be deleted and - * replaced with the data specified in this call. + * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room for + * additional users, and by the PlayFab game server management service to determine when a new Game Server Host should be + * created in order to prevent excess load on existing Hosts. This operation is not additive. Using it will cause the game + * mode definition for the game server executable in question to be created from scratch. If there is an existing game + * server mode definition for the given BuildVersion, it will be deleted and replaced with the data specified in this call. */ public static class ModifyMatchmakerGameModesRequest { /** previously uploaded build version for which game modes are being specified */ @@ -3182,8 +3147,8 @@ public static class RemoveVirtualCurrencyTypesRequest { } /** - * Note that this action cannot be un-done. All statistics for this - * character will be deleted, removing the user from all leaderboards for the game. + * Note that this action cannot be un-done. All statistics for this character will be deleted, removing the user from all + * leaderboards for the game. */ public static class ResetCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3467,12 +3432,10 @@ public static class SetPublishedRevisionResult { /** * This API is designed to store publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. This operation is additive. - * If a Key does not exist in the current dataset, it will be added with - * the specified Value. If it already exists, the Value for that key will be overwritten with the new Value. For more - * information email devrel@playfab.com + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. This operation is additive. If a Key does not exist in the current dataset, it + * will be added with the specified Value. If it already exists, the Value for that key will be overwritten with the new + * Value. For more information email devrel@playfab.com */ public static class SetPublisherDataRequest { /** @@ -3490,14 +3453,11 @@ public static class SetPublisherDataResult { } /** - * This API method is designed to store title specific values which can be read by the client. - * For example, a developer could choose to store values which modify the user experience, such as enemy spawn rates, - * weapon - * strengths, movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship - * a - * new build. This operation is additive. If a Key does not exist in the current dataset, it will be added with the - * specified - * Value. If it already exists, the Value for that key will be overwritten with the new Value. + * This API method is designed to store title specific values which can be read by the client. For example, a developer + * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement + * speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new build. This + * operation is additive. If a Key does not exist in the current dataset, it will be added with the specified Value. If it + * already exists, the Value for that key will be overwritten with the new Value. */ public static class SetTitleDataRequest { /** @@ -3515,10 +3475,9 @@ public static class SetTitleDataResult { } /** - * When using the Apple Push Notification service (APNS) or the development - * version (APNS_SANDBOX), the APNS Private Key should be used as the Credential in this call. With Google - * Cloud Messaging (GCM), the Android API Key should be used. The current ARN (if one exists) can be - * overwritten by setting the OverwriteOldARN boolean to true. + * When using the Apple Push Notification service (APNS) or the development version (APNS_SANDBOX), the APNS Private Key + * should be used as the Credential in this call. With Google Cloud Messaging (GCM), the Android API Key should be used. + * The current ARN (if one exists) can be overwritten by setting the OverwriteOldARN boolean to true. */ public static class SetupPushNotificationRequest { /** Credential is the Private Key for APNS/APNS_SANDBOX, and the API Key for GCM */ @@ -3764,10 +3723,9 @@ public static class UpdateBansResult { } /** - * This operation is not additive. Using it will cause the indicated catalog version to be created from - * scratch. If there is an existing catalog with the version number in question, it will be deleted and replaced with only - * the items specified - * in this call. + * This operation is not additive. Using it will cause the indicated catalog version to be created from scratch. If there + * is an existing catalog with the version number in question, it will be deleted and replaced with only the items + * specified in this call. */ public static class UpdateCatalogItemsRequest { /** @@ -3840,23 +3798,17 @@ public static class UpdatePlayerSharedSecretResult { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval - * enables automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version - * with no values (effectively - * removing all players from the leaderboard). The previous version's statistic values are also archived for retrieval, if - * needed (see - * GetPlayerStatisticVersions). Statistics not created via a call to CreatePlayerStatisticDefinition by default have a - * VersionChangeInterval of Never, - * meaning they do not reset on a schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. - * Once a statistic has been reset + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval enables + * automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version with no + * values (effectively removing all players from the leaderboard). The previous version's statistic values are also + * archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to + * CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on a + * schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset * (sometimes referred to as versioned or incremented), the now-previous version can still be written to for up a short, - * pre-defined period (currently - * 10 seconds), to prevent issues with levels completing around the time of the reset. Also, once reset, the historical - * statistics for players in the - * title may be retrieved using the URL specified in the version information (GetPlayerStatisticVersions). The - * AggregationMethod determines what action - * is taken when a new statistic value is submitted - always update with the new value (Last), use the highest of the old - * and new values (Max), use the + * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). The AggregationMethod determines what action is taken when a new statistic + * value is submitted - always update with the new value (Last), use the highest of the old and new values (Max), use the * smallest (Min), or add them together (Sum). */ public static class UpdatePlayerStatisticDefinitionRequest { @@ -3902,8 +3854,8 @@ public static class UpdatePolicyResponse { } /** - * This operation is additive. Tables with TableId values not currently defined will be added, - * while those with TableId values matching Tables currently in the catalog will be overwritten with the given values. + * This operation is additive. Tables with TableId values not currently defined will be added, while those with TableId + * values matching Tables currently in the catalog will be overwritten with the given values. */ public static class UpdateRandomResultTablesRequest { /** which catalog is being updated. If null, update the current default catalog version */ @@ -3921,17 +3873,16 @@ public static class UpdateRandomResultTablesResult { } /** - * This operation is not additive. Using it will cause the indicated virtual store to - * be created from scratch. If there is an existing store with the same storeId, it will be deleted and replaced - * with only the items specified in this call. A store contains an array of references to items defined inthe catalog, - * along with the prices for the item, in both real world and virtual currencies. - * These prices act as an override to any prices defined in the catalog. In this way, the base definitions of the - * items may be defined in the catalog, with all associated properties, while the pricing can be set for each store, - * as needed. This allows for subsets of goods to be defined for different purposes (in order to simplify showing - * some, but not all catalog items to users, based upon different characteristics), along with unique prices. Note - * that all prices defined in the catalog and store definitions for the item are considered valid, and that a - * compromised client can be made to send a request for an item based upon any of these definitions. If no price - * is specified in the store for an item, the price set in the catalog should be displayed to the user. + * This operation is not additive. Using it will cause the indicated virtual store to be created from scratch. If there is + * an existing store with the same storeId, it will be deleted and replaced with only the items specified in this call. A + * store contains an array of references to items defined inthe catalog, along with the prices for the item, in both real + * world and virtual currencies. These prices act as an override to any prices defined in the catalog. In this way, the + * base definitions of the items may be defined in the catalog, with all associated properties, while the pricing can be + * set for each store, as needed. This allows for subsets of goods to be defined for different purposes (in order to + * simplify showing some, but not all catalog items to users, based upon different characteristics), along with unique + * prices. Note that all prices defined in the catalog and store definitions for the item are considered valid, and that a + * compromised client can be made to send a request for an item based upon any of these definitions. If no price is + * specified in the store for an item, the price set in the catalog should be displayed to the user. */ public static class UpdateStoreItemsRequest { /** Catalog version of the store to update. If null, uses the default catalog. */ @@ -3974,10 +3925,9 @@ public static class UpdateTaskRequest { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -4007,10 +3957,9 @@ public static class UpdateUserDataResult { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, keys with - * null values will be - * removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, keys with + * null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserInternalDataRequest { /** @@ -4029,10 +3978,9 @@ public static class UpdateUserInternalDataRequest { } /** - * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, - * but specific to the title. This allows for unique names which more closely match the theme or genre of a title, for - * example. This API enables - * changing that name, whether due to a customer request, an offensive name choice, etc. + * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, but + * specific to the title. This allows for unique names which more closely match the theme or genre of a title, for example. + * This API enables changing that name, whether due to a customer request, an offensive name choice, etc. */ public static class UpdateUserTitleDisplayNameRequest { /** New title display name for the user - must be between 3 and 25 characters */ @@ -4155,6 +4103,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4236,6 +4186,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabClientModels.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabClientModels.java index f6ebc9ee..6b1a5768 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabClientModels.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabClientModels.java @@ -99,10 +99,10 @@ public static class AddUsernamePasswordRequest { } /** - * Each account must have a unique username and email address in the PlayFab service. Once created, the - * account may be associated with additional accounts (Steam, Facebook, Game Center, etc.), - * allowing for added social network lists and achievements systems. - * This can also be used to provide a recovery method if the user loses their original means of access. + * Each account must have a unique username and email address in the PlayFab service. Once created, the account may be + * associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and + * achievements systems. This can also be used to provide a recovery method if the user loses their original means of + * access. */ public static class AddUsernamePasswordResult { /** PlayFab unique user name. */ @@ -120,11 +120,9 @@ public static class AddUserVirtualCurrencyRequest { } /** - * More information can be found on configuring your game for the - * Google Cloud Messaging service in the Google developer documentation, here: - * http://developer.android.com/google/gcm/client.html. - * The steps to configure and send Push Notifications is described in the PlayFab tutorials, here: - * https://api.playfab.com/docs/pushCrashCourse/. + * More information can be found on configuring your game for the Google Cloud Messaging service in the Google developer + * documentation, here: http://developer.android.com/google/gcm/client.html. The steps to configure and send Push + * Notifications is described in the PlayFab tutorials, here: https://api.playfab.com/docs/pushCrashCourse/. */ public static class AndroidDevicePushNotificationRegistrationRequest { /** Message to display when confirming push notification. */ @@ -144,8 +142,8 @@ public static class AndroidDevicePushNotificationRegistrationResult { } /** - * If you have an ad attribution partner enabled, this will post an install to their service - * to track the device. It uses the given device id to match based on clicks on ads. + * If you have an ad attribution partner enabled, this will post an install to their service to track the device. It uses + * the given device id to match based on clicks on ads. */ public static class AttributeInstallRequest { /** The adid for this device. */ @@ -374,14 +372,12 @@ public static class CollectionFilter { } /** - * The final step in the purchasing process, this API finalizes the purchase with the payment provider, where - * applicable, adding virtual goods to the player inventory (including random drop table resolution and recursive addition - * of bundled items) - * and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should be - * polled regularly when a - * purchase is in progress. Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are - * in the inventory, and the more items are in the grant/purchase operation. + * The final step in the purchasing process, this API finalizes the purchase with the payment provider, where applicable, + * adding virtual goods to the player inventory (including random drop table resolution and recursive addition of bundled + * items) and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should + * be polled regularly when a purchase is in progress. Please note that the processing time for inventory grants and + * purchases increases fractionally the more items are in the inventory, and the more items are in the grant/purchase + * operation. */ public static class ConfirmPurchaseRequest { /** Purchase order identifier returned from StartPurchase. */ @@ -390,10 +386,9 @@ public static class ConfirmPurchaseRequest { } /** - * When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, - * ProviderErrorMessage, and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some - * rare cases, this - * may mean that the provider hasn't completed some operation required to finalize the purchase. + * When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, ProviderErrorMessage, + * and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some rare cases, this may + * mean that the provider hasn't completed some operation required to finalize the purchase. */ public static class ConfirmPurchaseResult { /** Array of items purchased. */ @@ -732,8 +727,8 @@ public static enum CountryCode { } /** - * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will - * return an error if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. + * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error + * if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. */ public static class CreateSharedGroupRequest { /** Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). */ @@ -1052,12 +1047,6 @@ public static class FacebookPlayFabIdPair { } public static class FriendInfo { - /** - * This field is not populated. - * @deprecated Do not use - */ - @Deprecated - public String CurrentMatchmakerLobbyId; /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ public UserFacebookInfo FacebookInfo; /** PlayFab unique identifier for this friend. */ @@ -1182,14 +1171,11 @@ public static class GetAccountInfoRequest { } /** - * This API retrieves details regarding the player in the PlayFab service. Note that when this call is used - * to retrieve data about another player (not the one signed into the local client), some data, such as Personally - * Identifying Information - * (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to. The user - * account returned - * will be based on the identifier provided in priority order: PlayFabId, Username, Email, then TitleDisplayName. If no - * identifier is - * specified, the currently signed in user's information will be returned. + * This API retrieves details regarding the player in the PlayFab service. Note that when this call is used to retrieve + * data about another player (not the one signed into the local client), some data, such as Personally Identifying + * Information (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to. + * The user account returned will be based on the identifier provided in priority order: PlayFabId, Username, Email, then + * TitleDisplayName. If no identifier is specified, the currently signed in user's information will be returned. */ public static class GetAccountInfoResult { /** Account information for the local user. */ @@ -1204,8 +1190,8 @@ public static class GetCatalogItemsRequest { } /** - * If CatalogVersion is not specified, only inventory items associated with the most recent version of - * the catalog will be returned. + * If CatalogVersion is not specified, only inventory items associated with the most recent version of the catalog will be + * returned. */ public static class GetCatalogItemsResult { /** Array of items which can be purchased. */ @@ -1215,9 +1201,8 @@ public static class GetCatalogItemsResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full - * set of custom character data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom character data will be returned. */ public static class GetCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1248,10 +1233,9 @@ public static class GetCharacterDataResult { } /** - * All items currently in the character inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. Also returns their virtual currency balances. + * All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. Also returns their virtual currency balances. */ public static class GetCharacterInventoryRequest { /** Used to limit results to only those from a specific catalog version. */ @@ -1552,7 +1536,7 @@ public static class GetPlayerCombinedInfoRequestParams { public Boolean GetCharacterInventories; /** Whether to get the list of characters. Defaults to false. */ public Boolean GetCharacterList; - /** Whether to get player profile. Defaults to false. */ + /** Whether to get player profile. Defaults to false. Has no effect for a new player. */ public Boolean GetPlayerProfile; /** Whether to get player statistics. Defaults to false. */ public Boolean GetPlayerStatistics; @@ -1585,9 +1569,9 @@ public static class GetPlayerCombinedInfoRequestParams { } /** - * Returns whatever info is requested in the response for the user. If no user is explicitly requested - * this defaults to the authenticated user. If the user is the same as the requester, PII (like email address, facebook id) - * is returned if available. Otherwise, only public information is returned. All parameters default to false. + * Returns whatever info is requested in the response for the user. If no user is explicitly requested this defaults to the + * authenticated user. If the user is the same as the requester, PII (like email address, facebook id) is returned if + * available. Otherwise, only public information is returned. All parameters default to false. */ public static class GetPlayerCombinedInfoResult { /** Results for requested info. */ @@ -1632,12 +1616,10 @@ public static class GetPlayerCombinedInfoResultPayload { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1887,12 +1869,9 @@ public static class GetPlayFabIDsFromXboxLiveIDsResult { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. Note that there may up to a minute delay in between updating title data - * and this API call returning - * the newest value. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a + * minute delay in between updating title data and this API call returning the newest value. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -1958,15 +1937,15 @@ public static class GetSharedGroupDataResult { } /** - * A store contains an array of references to items defined in one or more catalog - * versions of the game, along with the prices for the item, in both real world and virtual currencies. These prices - * act as an override to any prices defined in the catalog. In this way, the base definitions of the items may be - * defined in the catalog, with all associated properties, while the pricing can be set for each store, as needed. - * This allows for subsets of goods to be defined for different purposes (in order to simplify showing some, but not - * all catalog items to users, based upon different characteristics), along with unique prices. Note that all prices - * defined in the catalog and store definitions for the item are considered valid, and that a compromised client can - * be made to send a request for an item based upon any of these definitions. If no price is specified in the store - * for an item, the price set in the catalog should be displayed to the user. + * A store contains an array of references to items defined in one or more catalog versions of the game, along with the + * prices for the item, in both real world and virtual currencies. These prices act as an override to any prices defined in + * the catalog. In this way, the base definitions of the items may be defined in the catalog, with all associated + * properties, while the pricing can be set for each store, as needed. This allows for subsets of goods to be defined for + * different purposes (in order to simplify showing some, but not all catalog items to users, based upon different + * characteristics), along with unique prices. Note that all prices defined in the catalog and store definitions for the + * item are considered valid, and that a compromised client can be made to send a request for an item based upon any of + * these definitions. If no price is specified in the store for an item, the price set in the catalog should be displayed + * to the user. */ public static class GetStoreItemsRequest { /** catalog version to store items from. Use default catalog version if null */ @@ -1993,8 +1972,7 @@ public static class GetStoreItemsResult { /** * This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between - * servers, - * there is a potential variance of up to 5 seconds. + * servers, there is a potential variance of up to 5 seconds. */ public static class GetTimeRequest { @@ -2009,12 +1987,10 @@ public static class GetTimeResult { /** * This API is designed to return title specific values which can be read, but not written to, by the client. For example, - * a developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. Note that there may up to a minute delay in between - * updating title data and this API call returning - * the newest value. + * a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. Note that there may up to a minute delay in between updating title data and this API call returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2082,12 +2058,9 @@ public static class GetTradeStatusResponse { /** * Data is stored as JSON key-value pairs. Every time the data is updated via any source, the version counter is - * incremented. If the - * Version parameter is provided, then this call will only return data if the current version on the system is greater than - * the value provided. - * If the Keys parameter is provided, the data object returned will only contain the data specific to the indicated Keys. - * Otherwise, the full set of custom user - * data will be returned. + * incremented. If the Version parameter is provided, then this call will only return data if the current version on the + * system is greater than the value provided. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2121,10 +2094,9 @@ public static class GetUserInventoryRequest { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryResult { /** Array of inventory items belonging to the user. */ @@ -2164,9 +2136,9 @@ public static class GooglePlayFabIdPair { } /** - * Grants a character to the user of the type specified by the item ID. The user must - * already have an instance of this item in their inventory in order to allow character creation. This item can come - * from a purchase or grant, which must be done before calling to create the character. + * Grants a character to the user of the type specified by the item ID. The user must already have an instance of this item + * in their inventory in order to allow character creation. This item can come from a purchase or grant, which must be done + * before calling to create the character. */ public static class GrantCharacterToUserRequest { /** Catalog version from which items are to be granted. */ @@ -2300,16 +2272,13 @@ public static class LinkedPlatformAccountModel { } /** - * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token - * can be found in the Facebook developer documentation - * (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, - * for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. Note that titles should - * never re-use the - * same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so - * can result - * in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an application in a - * new PlayFab - * Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in the first Title ID. + * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the + * Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, for + * example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. Note that titles should never + * re-use the same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application + * and doing so can result in issues with the Facebook ID for the user in their PlayFab account information. If you must + * re-use an application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete + * all users in the first Title ID. */ public static class LinkFacebookAccountRequest { /** Unique identifier from Facebook for the user. */ @@ -2449,13 +2418,11 @@ public static class LinkPSNAccountResult { } /** - * Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be - * found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam - * authentication - * to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game Manager (under - * Properties). - * Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your title can be found here: - * https://partner.steamgames.com/documentation/webapi#publisherkey. + * Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the + * Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam + * authentication to work, the title must be configured with the Steam Application ID and Publisher Key in the PlayFab Game + * Manager (under Properties). Information on creating a Publisher Key (referred to as the Secret Key in PlayFab) for your + * title can be found here: https://partner.steamgames.com/documentation/webapi#publisherkey. */ public static class LinkSteamAccountRequest { /** If another user is already linked to the account, unlink the other user and re-link. */ @@ -2584,22 +2551,16 @@ public static class LoginResult { } /** - * On Android devices, the recommendation is to use the Settings.Secure.ANDROID_ID as the - * AndroidDeviceId, as described in this blog post - * (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html). - * More information on this identifier can be found in the Android documentation - * (http://developer.android.com/reference/android/provider/Settings.Secure.html). - * If this is the first time a user has signed in with the Android device and CreateAccount is set to true, a new PlayFab - * account - * will be created and linked to the Android device ID. In this case, no email or username will be associated with the - * PlayFab account. - * Otherwise, if no PlayFab account is linked to the Android device, an error indicating this will be returned, so that the - * title can - * guide the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked - * to a single - * user account, only the one most recently used to login (or most recently linked) will be reflected in the user's account - * information. - * We will be updating to show all linked devices in a future release. + * On Android devices, the recommendation is to use the Settings.Secure.ANDROID_ID as the AndroidDeviceId, as described in + * this blog post (http://android-developers.blogspot.com/2011/03/identifying-app-installations.html). More information on + * this identifier can be found in the Android documentation + * (http://developer.android.com/reference/android/provider/Settings.Secure.html). If this is the first time a user has + * signed in with the Android device and CreateAccount is set to true, a new PlayFab account will be created and linked to + * the Android device ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no + * PlayFab account is linked to the Android device, an error indicating this will be returned, so that the title can guide + * the user through creation of a PlayFab account. Please note that while multiple devices of this type can be linked to a + * single user account, only the one most recently used to login (or most recently linked) will be reflected in the user's + * account information. We will be updating to show all linked devices in a future release. */ public static class LoginWithAndroidDeviceIDRequest { /** Specific model of the user's device. */ @@ -2625,12 +2586,11 @@ public static class LoginWithAndroidDeviceIDRequest { } /** - * It is highly recommended that developers ensure that it is extremely unlikely that - * a customer could generate an ID which is already in use by another customer. If this is the first time a user has - * signed in with the Custom ID and CreateAccount is set to true, a new PlayFab account will be created and linked - * to the Custom ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if - * no PlayFab account is linked to the Custom ID, an error indicating this will be returned, so that the title can - * guide the user through creation of a PlayFab account. + * It is highly recommended that developers ensure that it is extremely unlikely that a customer could generate an ID which + * is already in use by another customer. If this is the first time a user has signed in with the Custom ID and + * CreateAccount is set to true, a new PlayFab account will be created and linked to the Custom ID. In this case, no email + * or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Custom ID, an + * error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithCustomIDRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2652,10 +2612,9 @@ public static class LoginWithCustomIDRequest { } /** - * Email address and password lengths are provided for information purposes. The server will validate - * that data passed in conforms to the field definition and report errors appropriately. It is recommended that developers - * not - * perform this validation locally, so that future updates do not require client updates. + * Email address and password lengths are provided for information purposes. The server will validate that data passed in + * conforms to the field definition and report errors appropriately. It is recommended that developers not perform this + * validation locally, so that future updates do not require client updates. */ public static class LoginWithEmailAddressRequest { /** Email address for the account. */ @@ -2692,24 +2651,17 @@ public static class LoginWithFacebookInstantGamesIdRequest { } /** - * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token - * can be found in the Facebook developer documentation - * (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, - * for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a - * user has - * signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and linked - * to the - * provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab account. - * Otherwise, if no - * PlayFab account is linked to the Facebook account, an error indicating this will be returned, so that the title can - * guide the user - * through creation of a PlayFab account. Note that titles should never re-use the same Facebook applications between - * PlayFab Title IDs, - * as Facebook provides unique user IDs per application and doing so can result in issues with the Facebook ID for the user - * in their - * PlayFab account information. If you must re-use an application in a new PlayFab Title ID, please be sure to first unlink - * all accounts - * from Facebook, or delete all users in the first Title ID. + * Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the + * Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). In Unity, for + * example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a user + * has signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and + * linked to the provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab + * account. Otherwise, if no PlayFab account is linked to the Facebook account, an error indicating this will be returned, + * so that the title can guide the user through creation of a PlayFab account. Note that titles should never re-use the + * same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so + * can result in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an + * application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in + * the first Title ID. */ public static class LoginWithFacebookRequest { /** Unique identifier from Facebook for the user. */ @@ -2734,16 +2686,11 @@ public static class LoginWithFacebookRequest { * The Game Center player identifier * (https://developer.apple.com/library/ios/documentation/Accounts/Reference/ACAccountClassRef/index.html#//apple_ref/occ/instp/ACAccount/identifier) * is a generated string which is stored on the local device. As with device identifiers, care must be taken to never - * expose a - * player's Game Center identifier to end users, as that could result in a user's account being compromised. If this is the - * first - * time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account will be created and - * linked - * to the Game Center identifier. In this case, no email or username will be associated with the PlayFab account. - * Otherwise, if - * no PlayFab account is linked to the Game Center account, an error indicating this will be returned, so that the title - * can - * guide the user through creation of a PlayFab account. + * expose a player's Game Center identifier to end users, as that could result in a user's account being compromised. If + * this is the first time a user has signed in with Game Center and CreateAccount is set to true, a new PlayFab account + * will be created and linked to the Game Center identifier. In this case, no email or username will be associated with the + * PlayFab account. Otherwise, if no PlayFab account is linked to the Game Center account, an error indicating this will be + * returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithGameCenterRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2777,24 +2724,19 @@ public static class LoginWithGameCenterRequest { /** * Google sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google sign-in for Android APIs on - * the device and passing it to this API. - * If this is the first time a user has signed in with the Google account and CreateAccount is - * set to true, a new PlayFab account will be created and linked to the Google account. Otherwise, if no PlayFab account is - * linked to the Google account, an error indicating this will be returned, so - * that the title can guide the user through creation of a PlayFab account. - * The current (recommended) method for obtaining a Google account credential in an Android application is to call - * GoogleSignInAccount.getServerAuthCode() and send the auth code as the ServerAuthCode parameter of this API. - * Before doing this, you must create an OAuth 2.0 web application client ID in the Google API Console and configure its - * client ID and secret in the PlayFab Game Manager Google Add-on - * for your title. This method does not require prompting of the user for additional Google account permissions, resulting - * in a user experience with the least possible friction. - * For more information about obtaining the server auth code, see - * https://developers.google.com/identity/sign-in/android/offline-access. - * The previous (deprecated) method was to obtain an OAuth access token by calling GetAccessToken() on the client and - * passing it as the AccessToken parameter to this API. - * for the with the Google OAuth 2.0 Access Token. More information on this change can be - * found in the Google developer documentation - * (https://android-developers.googleblog.com/2016/01/play-games-permissions-are-changing-in.html). + * the device and passing it to this API. If this is the first time a user has signed in with the Google account and + * CreateAccount is set to true, a new PlayFab account will be created and linked to the Google account. Otherwise, if no + * PlayFab account is linked to the Google account, an error indicating this will be returned, so that the title can guide + * the user through creation of a PlayFab account. The current (recommended) method for obtaining a Google account + * credential in an Android application is to call GoogleSignInAccount.getServerAuthCode() and send the auth code as the + * ServerAuthCode parameter of this API. Before doing this, you must create an OAuth 2.0 web application client ID in the + * Google API Console and configure its client ID and secret in the PlayFab Game Manager Google Add-on for your title. This + * method does not require prompting of the user for additional Google account permissions, resulting in a user experience + * with the least possible friction. For more information about obtaining the server auth code, see + * https://developers.google.com/identity/sign-in/android/offline-access. The previous (deprecated) method was to obtain an + * OAuth access token by calling GetAccessToken() on the client and passing it as the AccessToken parameter to this API. + * for the with the Google OAuth 2.0 Access Token. More information on this change can be found in the Google developer + * documentation (https://android-developers.googleblog.com/2016/01/play-games-permissions-are-changing-in.html). */ public static class LoginWithGoogleAccountRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2822,20 +2764,13 @@ public static class LoginWithGoogleAccountRequest { * On iOS devices, the identifierForVendor * (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/occ/instp/UIDevice/identifierForVendor) * must be used as the DeviceId, as the UIDevice uniqueIdentifier has been deprecated as of iOS 5, and use of the - * advertisingIdentifier - * for this purpose will result in failure of Apple's certification process. If this is the first time a user has signed in - * with the iOS - * device and CreateAccount is set to true, a new PlayFab account will be created and linked to the vendor-specific iOS - * device ID. In - * this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked - * to the iOS - * device, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab - * account. Please - * note that while multiple devices of this type can be linked to a single user account, only the one most recently used to - * login (or - * most recently linked) will be reflected in the user's account information. We will be updating to show all linked - * devices in a future - * release. + * advertisingIdentifier for this purpose will result in failure of Apple's certification process. If this is the first + * time a user has signed in with the iOS device and CreateAccount is set to true, a new PlayFab account will be created + * and linked to the vendor-specific iOS device ID. In this case, no email or username will be associated with the PlayFab + * account. Otherwise, if no PlayFab account is linked to the iOS device, an error indicating this will be returned, so + * that the title can guide the user through creation of a PlayFab account. Please note that while multiple devices of this + * type can be linked to a single user account, only the one most recently used to login (or most recently linked) will be + * reflected in the user's account information. We will be updating to show all linked devices in a future release. */ public static class LoginWithIOSDeviceIDRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2862,13 +2797,12 @@ public static class LoginWithIOSDeviceIDRequest { /** * More details regarding Kongregate and their game authentication system can be found at - * http://developers.kongregate.com/docs/virtual-goods/authentication. Developers must provide the Kongregate user ID - * and auth token that are generated using the Kongregate client library. PlayFab will combine these identifiers - * with the title's unique Kongregate app ID to log the player into the Kongregate system. If CreateAccount is set - * to true and there is not already a user matched to this Kongregate ID, then PlayFab will create a new account for this - * user - * and link the ID. In this case, no email or username will be associated with the PlayFab account. If there is already - * a different PlayFab user linked with this account, then an error will be returned. + * http://developers.kongregate.com/docs/virtual-goods/authentication. Developers must provide the Kongregate user ID and + * auth token that are generated using the Kongregate client library. PlayFab will combine these identifiers with the + * title's unique Kongregate app ID to log the player into the Kongregate system. If CreateAccount is set to true and there + * is not already a user matched to this Kongregate ID, then PlayFab will create a new account for this user and link the + * ID. In this case, no email or username will be associated with the PlayFab account. If there is already a different + * PlayFab user linked with this account, then an error will be returned. */ public static class LoginWithKongregateRequest { /** Token issued by Kongregate's client API for the user. */ @@ -2935,10 +2869,9 @@ public static class LoginWithOpenIdConnectRequest { } /** - * Username and password lengths are provided for information purposes. The server will validate - * that data passed in conforms to the field definition and report errors appropriately. It is recommended that developers - * not - * perform this validation locally, so that future updates to the username or password do not require client updates. + * Username and password lengths are provided for information purposes. The server will validate that data passed in + * conforms to the field definition and report errors appropriately. It is recommended that developers not perform this + * validation locally, so that future updates to the username or password do not require client updates. */ public static class LoginWithPlayFabRequest { /** Flags for which pieces of info to return for the user. */ @@ -2956,11 +2889,9 @@ public static class LoginWithPlayFabRequest { } /** - * If this is the first time a user has signed in with the PlayStation Network account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the PSN account. In this case, no email or username - * will be - * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the PSN account, an error indicating - * this will + * If this is the first time a user has signed in with the PlayStation Network account and CreateAccount is set to true, a + * new PlayFab account will be created and linked to the PSN account. In this case, no email or username will be associated + * with the PlayFab account. Otherwise, if no PlayFab account is linked to the PSN account, an error indicating this will * be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithPSNRequest { @@ -2987,20 +2918,15 @@ public static class LoginWithPSNRequest { } /** - * Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be - * found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam - * authentication - * to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game Manager (under - * Steam in the - * Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group associated with your App ID in - * the Steamworks - * site. If this is the first time a user has signed in with the Steam account and CreateAccount is set to true, a new - * PlayFab account - * will be created and linked to the provided account's Steam ID. In this case, no email or username will be associated - * with the PlayFab - * account. Otherwise, if no PlayFab account is linked to the Steam account, an error indicating this will be returned, so - * that the title - * can guide the user through creation of a PlayFab account. + * Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be found in the + * Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires sign-in). NOTE: For Steam + * authentication to work, the title must be configured with the Steam Application ID and Web API Key in the PlayFab Game + * Manager (under Steam in the Add-ons Marketplace). You can obtain a Web API Key from the Permissions page of any Group + * associated with your App ID in the Steamworks site. If this is the first time a user has signed in with the Steam + * account and CreateAccount is set to true, a new PlayFab account will be created and linked to the provided account's + * Steam ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab + * account is linked to the Steam account, an error indicating this will be returned, so that the title can guide the user + * through creation of a PlayFab account. */ public static class LoginWithSteamRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -3029,9 +2955,9 @@ public static class LoginWithSteamRequest { * https://github.com/justintv/Twitch-API/blob/master/authentication.md. Developers must provide the Twitch access token * that is generated using one of the Twitch authentication flows. PlayFab will use the title's unique Twitch Client ID to * authenticate the token and log in to the PlayFab system. If CreateAccount is set to true and there is not already a user - * matched to the Twitch username that generated the token, then PlayFab will create a new account for this user - * and link the ID. In this case, no email or username will be associated with the PlayFab account. If there is already - * a different PlayFab user linked with this account, then an error will be returned. + * matched to the Twitch username that generated the token, then PlayFab will create a new account for this user and link + * the ID. In this case, no email or username will be associated with the PlayFab account. If there is already a different + * PlayFab user linked with this account, then an error will be returned. */ public static class LoginWithTwitchRequest { /** Token issued by Twitch's API for the user. */ @@ -3069,12 +2995,10 @@ public static class LoginWithWindowsHelloRequest { } /** - * If this is the first time a user has signed in with the Xbox Live account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email or - * username will be + * If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set to true, a new + * PlayFab account will be created and linked to the Xbox Live account. In this case, no email or username will be * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Xbox Live account, an error - * indicating this will - * be returned, so that the title can guide the user through creation of a PlayFab account. + * indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithXboxRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -3391,10 +3315,8 @@ public static class PSNAccountPlayFabIdPair { } /** - * Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are in the inventory, and the more items are in the grant/purchase operation (with each item in a bundle - * being a - * distinct add). + * Please note that the processing time for inventory grants and purchases increases fractionally the more items are in the + * inventory, and the more items are in the grant/purchase operation (with each item in a bundle being a distinct add). */ public static class PurchaseItemRequest { /** Catalog version for the items to be purchased (defaults to most recent version. */ @@ -3432,10 +3354,9 @@ public static class PushNotificationRegistrationModel { } /** - * Coupon codes can be created for any item, or set of items, in the catalog for the title. This - * operation causes the coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an - * already - * consumed code, or a code which has not yet been created in the service, will result in an error. + * Coupon codes can be created for any item, or set of items, in the catalog for the title. This operation causes the + * coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an already consumed code, + * or a code which has not yet been created in the service, will result in an error. */ public static class RedeemCouponRequest { /** Catalog version of the coupon. If null, uses the default catalog */ @@ -3533,9 +3454,9 @@ public static class RegisterPlayFabUserRequest { } /** - * Each account must have a unique email address in the PlayFab service. Once created, the - * account may be associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social - * network lists and achievements systems. + * Each account must have a unique email address in the PlayFab service. Once created, the account may be associated with + * additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and achievements + * systems. */ public static class RegisterPlayFabUserResult { /** @@ -3636,11 +3557,9 @@ public static class ReportPlayerClientResult { } /** - * The title should obtain a refresh receipt via restoreCompletedTransactions in the SKPaymentQueue - * of the Apple StoreKit and pass that in to this call. The resultant receipt contains new receipt instances for all - * non-consumable - * goods previously purchased by the user. This API call iterates through every purchase in the receipt and restores the - * items if + * The title should obtain a refresh receipt via restoreCompletedTransactions in the SKPaymentQueue of the Apple StoreKit + * and pass that in to this call. The resultant receipt contains new receipt instances for all non-consumable goods + * previously purchased by the user. This API call iterates through every purchase in the receipt and restores the items if * they still exist in the catalog and can be validated. */ public static class RestoreIOSPurchasesRequest { @@ -3690,10 +3609,9 @@ public static class SendAccountRecoveryEmailResult { } /** - * This operation is not additive. It will completely replace the tag list for the specified user. - * Please note that only users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only - * included - * in the friends list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. + * This operation is not additive. It will completely replace the tag list for the specified user. Please note that only + * users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only included in the friends + * list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. */ public static class SetFriendTagsRequest { /** PlayFab identifier of the friend account to which the tag(s) should be applied. */ @@ -4206,7 +4124,7 @@ public static class UnlockContainerItemRequest { } - /** The items and vc found within the container. These will be added and stacked in the appropriate inventory. */ + /** The items and vc found within the container. These will be added and stacked in the appropriate inventory. */ public static class UnlockContainerItemResult { /** Items granted to the player as a result of unlocking the container. */ public ArrayList GrantedItems; @@ -4226,11 +4144,10 @@ public static class UpdateAvatarUrlRequest { } /** - * This function performs an additive update of the arbitrary strings - * containing the custom data for the character. In updating the custom data object, keys which already - * exist in the object will have their values overwritten, while keys with null values will be removed. - * New keys will be added, with the given values. No other key-value pairs will be changed apart from - * those specified in the call. + * This function performs an additive update of the arbitrary strings containing the custom data for the character. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. New keys will be added, with the given values. No other key-value pairs will be + * changed apart from those specified in the call. */ public static class UpdateCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4261,11 +4178,10 @@ public static class UpdateCharacterDataResult { /** * Enable this option with the 'Allow Client to Post Player Statistics' option in PlayFab GameManager for your title. - * However, this is not best practice, as this data will no longer be safely controlled by the server. - * This operation is additive. Character Statistics not currently defined will be added, while those already defined will - * be updated with the given values. - * All other user statistics will remain unchanged. Character statistics are used by the character-leaderboard apis, and - * accessible for custom game-logic. + * However, this is not best practice, as this data will no longer be safely controlled by the server. This operation is + * additive. Character Statistics not currently defined will be added, while those already defined will be updated with the + * given values. All other user statistics will remain unchanged. Character statistics are used by the + * character-leaderboard apis, and accessible for custom game-logic. */ public static class UpdateCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4282,14 +4198,11 @@ public static class UpdateCharacterStatisticsResult { /** * Enable this option with the 'Allow Client to Post Player Statistics' option in PlayFab GameManager for your title. * However, this is not best practice, as this data will no longer be safely controlled by the server. This operation is - * additive. Statistics not - * currently defined will be added, while those already defined will be updated with the given values. All other user - * statistics will remain - * unchanged. Note that if the statistic is intended to have a reset period, the UpdatePlayerStatisticDefinition API call - * can be used to define - * that reset period. Once a statistic has been versioned (reset), the now-previous version can still be written to for up - * a - * short, pre-defined period (currently 10 seconds), using the Version parameter in this call. + * additive. Statistics not currently defined will be added, while those already defined will be updated with the given + * values. All other user statistics will remain unchanged. Note that if the statistic is intended to have a reset period, + * the UpdatePlayerStatisticDefinition API call can be used to define that reset period. Once a statistic has been + * versioned (reset), the now-previous version can still be written to for up a short, pre-defined period (currently 10 + * seconds), using the Version parameter in this call. */ public static class UpdatePlayerStatisticsRequest { /** Statistics to be updated with the provided values */ @@ -4302,11 +4215,10 @@ public static class UpdatePlayerStatisticsResult { } /** - * Note that in the case of multiple calls to write to the same shared group data keys, the - * last write received by the PlayFab service will determine the value available to subsequent read operations. For - * scenarios - * requiring coordination of data updates, it is recommended that titles make use of user data with read permission set to - * public, or a combination of user data and shared group data. + * Note that in the case of multiple calls to write to the same shared group data keys, the last write received by the + * PlayFab service will determine the value available to subsequent read operations. For scenarios requiring coordination + * of data updates, it is recommended that titles make use of user data with read permission set to public, or a + * combination of user data and shared group data. */ public static class UpdateSharedGroupDataRequest { /** @@ -4331,11 +4243,10 @@ public static class UpdateSharedGroupDataResult { } /** - * This function performs an additive update of the arbitrary strings containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. New keys will be added, with the given values. No other key-value pairs will be changed apart from those - * specified in the call. + * This function performs an additive update of the arbitrary strings containing the custom data for the user. In updating + * the custom data object, keys which already exist in the object will have their values overwritten, while keys with null + * values will be removed. New keys will be added, with the given values. No other key-value pairs will be changed apart + * from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -4366,9 +4277,8 @@ public static class UpdateUserDataResult { } /** - * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, - * but specific to the title. This allows for unique names which more closely match the theme or genre of a title, for - * example. + * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, but + * specific to the title. This allows for unique names which more closely match the theme or genre of a title, for example. */ public static class UpdateUserTitleDisplayNameRequest { /** New title display name for the user - must be between 3 and 25 characters. */ @@ -4489,6 +4399,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4580,6 +4492,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } @@ -4652,12 +4566,10 @@ public static class ValidateAmazonReceiptResult { /** * The packageName and productId are defined in the GooglePlay store. The productId must match the ItemId of the inventory - * item - * in the PlayFab catalog for the title. This enables the PlayFab service to securely validate that the purchase is for the - * correct item, in order to prevent - * uses from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being - * for a $19.99 purchase, for example). - * Each receipt may be validated only once to avoid granting the same item over and over from a single purchase. + * item in the PlayFab catalog for the title. This enables the PlayFab service to securely validate that the purchase is + * for the correct item, in order to prevent uses from passing valid receipts as being for more expensive items (passing a + * receipt for a 99-cent purchase as being for a $19.99 purchase, for example). Each receipt may be validated only once to + * avoid granting the same item over and over from a single purchase. */ public static class ValidateGooglePlayPurchaseRequest { /** Currency used for the purchase. */ @@ -4682,10 +4594,9 @@ public static class ValidateGooglePlayPurchaseResult { /** * The CurrencyCode and PurchasePrice must match the price which was set up for the item in the Apple store. In addition, * The ItemId of the inventory in the PlayFab Catalog must match the Product ID as it was set up in the Apple store. This - * enables the PlayFab service to - * securely validate that the purchase is for the correct item, in order to prevent uses from passing valid receipts as - * being for more expensive items - * (passing a receipt for a 99-cent purchase as being for a $19.99 purchase, for example). + * enables the PlayFab service to securely validate that the purchase is for the correct item, in order to prevent uses + * from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being for a + * $19.99 purchase, for example). */ public static class ValidateIOSReceiptRequest { /** Currency used for the purchase. */ diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabErrors.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabErrors.java index 9f0db166..df32a81e 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabErrors.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabErrors.java @@ -446,6 +446,7 @@ public static enum PlayFabErrorCode { CannotEnableMultiplayerServersForTitle(1443), WriteAttemptedDuringExport(1444), MultiplayerServerTitleQuotaCoresExceeded(1445), + AutomationRuleNotFound(1446), MatchmakingEntityInvalid(2001), MatchmakingPlayerAttributesInvalid(2002), MatchmakingQueueNotFound(2016), @@ -464,6 +465,7 @@ public static enum PlayFabErrorCode { MatchmakingRateLimitExceeded(2054), MatchmakingTicketMembershipLimitExceeded(2055), MatchmakingUnauthorized(2056), + MatchmakingQueueLimitExceeded(2057), TitleConfigNotFound(3001), TitleConfigUpdateConflict(3002), TitleConfigSerializationError(3003), @@ -481,13 +483,27 @@ public static enum PlayFabErrorCode { CatalogConfigContentTypeTooLong(4102), CatalogConfigTooManyTags(4103), CatalogConfigTagTooLong(4104), + CatalogConfigInvalidDeepLinkObject(4105), + CatalogConfigInvalidDeepLinkPlatform(4106), + CatalogConfigInvalidDeepLinkFormat(4107), + CatalogConfigInvalidDisplayPropertyObject(4108), + CatalogConfigInvalidDisplayPropertyName(4109), + CatalogConfigInvalidDisplayPropertyType(4110), + CatalogConfigDisplayPropertyMappingLimit(4111), ExportInvalidStatusUpdate(5000), ExportInvalidPrefix(5001), ExportBlobContainerDoesNotExist(5002), ExportEventNameNotFound(5003), ExportExportTitleIdNotFound(5004), ExportCouldNotUpdate(5005), - ExportInvalidStorageType(5006); + ExportInvalidStorageType(5006), + ExportAmazonBucketDoesNotExist(5007), + ExportInvalidBlobStorage(5008), + ExportKustoException(5009), + ExportKustoExceptionNew_SomeResources(5010), + ExportKustoExceptionEdit(5011), + ExportKustoConnectionFailed(5012), + ExportUnknownError(5013); public int id; diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java index 3354158e..d3279191 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java @@ -7,10 +7,8 @@ public class PlayFabMatchmakerModels { /** * This API allows the external match-making service to confirm that the user has a valid Session Ticket for the title, in - * order - * to securely enable match-making. The client passes the user's Session Ticket to the external match-making service, which - * then passes the Session Ticket in as the - * AuthorizationTicket in this call. + * order to securely enable match-making. The client passes the user's Session Ticket to the external match-making service, + * which then passes the Session Ticket in as the AuthorizationTicket in this call. */ public static class AuthUserRequest { /** Session Ticket provided by the client. */ diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabProfilesModels.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabProfilesModels.java index b710e60d..aa59ac2b 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabProfilesModels.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabProfilesModels.java @@ -87,6 +87,8 @@ public static class EntityProfileBody { * profile, not global statements from titles and namespaces. */ public ArrayList Permissions; + /** The statistics on this profile. */ + public Map Statistics; /** * The version number of the profile in persistent storage at the time of the read. Used for optional optimistic * concurrency during update. @@ -108,6 +110,30 @@ public static class EntityProfileFileMetadata { } + public static class EntityStatisticChildValue { + /** Child name value, if child statistic */ + public String ChildName; + /** Child statistic metadata */ + public String Metadata; + /** Child statistic value */ + public Integer Value; + + } + + public static class EntityStatisticValue { + /** Child statistic values */ + public Map ChildStatistics; + /** Statistic metadata */ + public String Metadata; + /** Statistic name */ + public String Name; + /** Statistic value */ + public Integer Value; + /** Statistic version */ + public Integer Version; + + } + /** * Given an entity type and entity identifier will retrieve the profile from the entity store. If the profile being * retrieved is the caller's, then the read operation is consistent, if not it is an inconsistent read. An inconsistent diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabServerModels.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabServerModels.java index f4d55f06..dffeea1e 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabServerModels.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabServerModels.java @@ -107,8 +107,7 @@ public static class AdvancedPushPlatformMsg { /** * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class AuthenticateSessionTicketRequest { /** Session ticket as issued by a PlayFab client login API. */ @@ -665,9 +664,8 @@ public static enum CountryCode { } /** - * If SharedGroupId is specified, the service will attempt to create a group with that - * identifier, and will return an error if it is already in use. If no SharedGroupId is specified, a random identifier will - * be assigned. + * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error + * if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. */ public static class CreateSharedGroupRequest { /** Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). */ @@ -847,9 +845,9 @@ public static enum Currency { } /** - * This function will delete the specified character from the list allowed by the user, and - * will also delete any inventory or VC currently held by that character. It will NOT delete any statistics - * associated for this character, in order to preserve leaderboard integrity. + * This function will delete the specified character from the list allowed by the user, and will also delete any inventory + * or VC currently held by that character. It will NOT delete any statistics associated for this character, in order to + * preserve leaderboard integrity. */ public static class DeleteCharacterFromUserRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -870,17 +868,13 @@ public static class DeleteCharacterFromUserResult { /** * Deletes all data associated with the player, including statistics, custom data, inventory, purchases, virtual currency - * balances, - * characters and shared group memberships. Removes the player from all leaderboards and player search - * indexes. Does not delete PlayStream event history associated with the player. - * Does not delete the publisher user account that created the player in the title nor associated data - * such as username, password, email address, account linkages, or friends list. - * Note, this API queues the player for deletion and returns immediately. It may take several minutes - * or more before all player data is fully deleted. - * Until the player data is fully deleted, attempts to recreate the player with the same user account - * in the same title will fail with the 'AccountDeleted' error. - * This API must be enabled for use as an option in the game manager website. It is disabled by - * default. + * balances, characters and shared group memberships. Removes the player from all leaderboards and player search indexes. + * Does not delete PlayStream event history associated with the player. Does not delete the publisher user account that + * created the player in the title nor associated data such as username, password, email address, account linkages, or + * friends list. Note, this API queues the player for deletion and returns immediately. It may take several minutes or more + * before all player data is fully deleted. Until the player data is fully deleted, attempts to recreate the player with + * the same user account in the same title will fail with the 'AccountDeleted' error. This API must be enabled for use as + * an option in the game manager website. It is disabled by default. */ public static class DeletePlayerRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1036,12 +1030,6 @@ public static class FacebookPlayFabIdPair { } public static class FriendInfo { - /** - * This field is not populated. - * @deprecated Do not use - */ - @Deprecated - public String CurrentMatchmakerLobbyId; /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ public UserFacebookInfo FacebookInfo; /** PlayFab unique identifier for this friend. */ @@ -1506,6 +1494,7 @@ public static enum GenericErrorCodes { CannotEnableMultiplayerServersForTitle, WriteAttemptedDuringExport, MultiplayerServerTitleQuotaCoresExceeded, + AutomationRuleNotFound, MatchmakingEntityInvalid, MatchmakingPlayerAttributesInvalid, MatchmakingQueueNotFound, @@ -1524,6 +1513,7 @@ public static enum GenericErrorCodes { MatchmakingRateLimitExceeded, MatchmakingTicketMembershipLimitExceeded, MatchmakingUnauthorized, + MatchmakingQueueLimitExceeded, TitleConfigNotFound, TitleConfigUpdateConflict, TitleConfigSerializationError, @@ -1541,13 +1531,27 @@ public static enum GenericErrorCodes { CatalogConfigContentTypeTooLong, CatalogConfigTooManyTags, CatalogConfigTagTooLong, + CatalogConfigInvalidDeepLinkObject, + CatalogConfigInvalidDeepLinkPlatform, + CatalogConfigInvalidDeepLinkFormat, + CatalogConfigInvalidDisplayPropertyObject, + CatalogConfigInvalidDisplayPropertyName, + CatalogConfigInvalidDisplayPropertyType, + CatalogConfigDisplayPropertyMappingLimit, ExportInvalidStatusUpdate, ExportInvalidPrefix, ExportBlobContainerDoesNotExist, ExportEventNameNotFound, ExportExportTitleIdNotFound, ExportCouldNotUpdate, - ExportInvalidStorageType + ExportInvalidStorageType, + ExportAmazonBucketDoesNotExist, + ExportInvalidBlobStorage, + ExportKustoException, + ExportKustoExceptionNew_SomeResources, + ExportKustoExceptionEdit, + ExportKustoConnectionFailed, + ExportUnknownError } /** Request has no paramaters. */ @@ -1575,9 +1579,8 @@ public static class GetCatalogItemsResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set - * of custom user data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1610,10 +1613,9 @@ public static class GetCharacterDataResult { } /** - * All items currently in the character inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. Also returns their virtual currency balances. + * All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. Also returns their virtual currency balances. */ public static class GetCharacterInventoryRequest { /** Used to limit results to only those from a specific catalog version. */ @@ -1660,9 +1662,9 @@ public static class GetCharacterLeaderboardResult { } /** - * Character statistics are similar to user statistics in that they are numeric values which - * may only be updated by a server operation, in order to minimize the opportunity for unauthorized changes. In addition to - * being available for use by the title, the statistics are used for all leaderboard operations in PlayFab. + * Character statistics are similar to user statistics in that they are numeric values which may only be updated by a + * server operation, in order to minimize the opportunity for unauthorized changes. In addition to being available for use + * by the title, the statistics are used for all leaderboard operations in PlayFab. */ public static class GetCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1871,7 +1873,7 @@ public static class GetPlayerCombinedInfoRequestParams { public Boolean GetCharacterInventories; /** Whether to get the list of characters. Defaults to false. */ public Boolean GetCharacterList; - /** Whether to get player profile. Defaults to false. */ + /** Whether to get player profile. Defaults to false. Has no effect for a new player. */ public Boolean GetPlayerProfile; /** Whether to get player statistics. Defaults to false. */ public Boolean GetPlayerStatistics; @@ -1946,12 +1948,10 @@ public static class GetPlayerCombinedInfoResultPayload { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2159,12 +2159,9 @@ public static class GetPlayFabIDsFromXboxLiveIDsResult { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. Note that there may up to a minute delay in between updating title data - * and this API call returning - * the newest value. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a + * minute delay in between updating title data and this API call returning the newest value. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -2248,8 +2245,7 @@ public static class GetSharedGroupDataResult { /** * This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between - * servers, - * there is a potential variance of up to 5 seconds. + * servers, there is a potential variance of up to 5 seconds. */ public static class GetTimeRequest { @@ -2264,12 +2260,10 @@ public static class GetTimeResult { /** * This API is designed to return title specific values which can be read, but not written to, by the client. For example, - * a developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. Note that there may up to a minute delay in between - * updating title data and this API call returning - * the newest value. + * a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. Note that there may up to a minute delay in between updating title data and this API call returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2296,12 +2290,10 @@ public static class GetTitleNewsResult { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetUserAccountInfoRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2329,10 +2321,8 @@ public static class GetUserBansResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set of custom - * user - * data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2361,10 +2351,9 @@ public static class GetUserDataResult { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2452,10 +2441,10 @@ public int compareTo(GrantedItemInstance other) { } /** - * This function directly adds inventory items to the character's inventories. As - * a result of this operations, the user will not be charged any transaction fee, regardless of the inventory item - * catalog definition. Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are in the inventory, and the more items are in the grant/purchase operation. + * This function directly adds inventory items to the character's inventories. As a result of this operations, the user + * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the + * processing time for inventory grants and purchases increases fractionally the more items are in the inventory, and the + * more items are in the grant/purchase operation. */ public static class GrantItemsToCharacterRequest { /** String detailing any additional information concerning this operation. */ @@ -2478,12 +2467,10 @@ public static class GrantItemsToCharacterResult { } /** - * This function directly adds inventory items to the user's inventories. As a result of this operations, the user - * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the - * processing time for - * inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in the - * grant/purchase - * operation. + * This function directly adds inventory items to the user's inventories. As a result of this operations, the user will not + * be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing + * time for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items + * are in the grant/purchase operation. */ public static class GrantItemsToUserRequest { /** String detailing any additional information concerning this operation. */ @@ -2505,12 +2492,10 @@ public static class GrantItemsToUserResult { } /** - * This function directly adds inventory items to user inventories. As a result of this operations, the user - * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the - * processing time for - * inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in the - * grant/purchase - * operation. + * This function directly adds inventory items to user inventories. As a result of this operations, the user will not be + * charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing time + * for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in + * the grant/purchase operation. */ public static class GrantItemsToUsersRequest { /** Catalog version from which items are to be granted. */ @@ -2686,12 +2671,10 @@ public static class LoginWithServerCustomIdRequest { } /** - * If this is the first time a user has signed in with the Xbox Live account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email or - * username will be + * If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set to true, a new + * PlayFab account will be created and linked to the Xbox Live account. In this case, no email or username will be * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Xbox Live account, an error - * indicating this will - * be returned, so that the title can guide the user through creation of a PlayFab account. + * indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithXboxRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2775,9 +2758,9 @@ public static class ModifyUserVirtualCurrencyResult { } /** - * Transfers an item from a character to another character that is owned by the same - * user. This will remove the item from the character's inventory (until and unless it is moved back), and will enable the - * other character to make use of the item instead. + * Transfers an item from a character to another character that is owned by the same user. This will remove the item from + * the character's inventory (until and unless it is moved back), and will enable the other character to make use of the + * item instead. */ public static class MoveItemToCharacterFromCharacterRequest { /** Unique identifier of the character that currently has the item. */ @@ -2796,9 +2779,8 @@ public static class MoveItemToCharacterFromCharacterResult { } /** - * Transfers an item from a user to a character she owns. This will remove - * the item from the user's inventory (until and unless it is moved back), and will enable the - * character to make use of the item instead. + * Transfers an item from a user to a character she owns. This will remove the item from the user's inventory (until and + * unless it is moved back), and will enable the character to make use of the item instead. */ public static class MoveItemToCharacterFromUserRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -2815,9 +2797,8 @@ public static class MoveItemToCharacterFromUserResult { } /** - * Transfers an item from a character to the owning user. This will remove - * the item from the character's inventory (until and unless it is moved back), and will enable the - * user to make use of the item instead. + * Transfers an item from a character to the owning user. This will remove the item from the character's inventory (until + * and unless it is moved back), and will enable the user to make use of the item instead. */ public static class MoveItemToUserFromCharacterRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3111,10 +3092,9 @@ public static class RandomResultTableListing { } /** - * Coupon codes can be created for any item, or set of items, in the catalog for the title. This - * operation causes the coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an - * already - * consumed code, or a code which has not yet been created in the service, will result in an error. + * Coupon codes can be created for any item, or set of items, in the catalog for the title. This operation causes the + * coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an already consumed code, + * or a code which has not yet been created in the service, will result in an error. */ public static class RedeemCouponRequest { /** Catalog version of the coupon. */ @@ -3135,16 +3115,13 @@ public static class RedeemCouponResult { } /** - * This function is used by a Game Server Instance to validate with the PlayFab service that a user has been - * registered as connected to the server. The Ticket is provided to the client either as a result of a call to StartGame or - * Matchmake, each - * of which return a Ticket specific to the Game Server Instance. This function will fail in any case where the Ticket - * presented is not valid - * for the specific Game Server Instance making the call. Note that data returned may be Personally Identifying Information - * (PII), such as - * email address, and so care should be taken in how this data is stored and managed. Since this call will always return - * the relevant information - * for users who have accessed the title, the recommendation is to not store this data locally. + * This function is used by a Game Server Instance to validate with the PlayFab service that a user has been registered as + * connected to the server. The Ticket is provided to the client either as a result of a call to StartGame or Matchmake, + * each of which return a Ticket specific to the Game Server Instance. This function will fail in any case where the Ticket + * presented is not valid for the specific Game Server Instance making the call. Note that data returned may be Personally + * Identifying Information (PII), such as email address, and so care should be taken in how this data is stored and + * managed. Since this call will always return the relevant information for users who have accessed the title, the + * recommendation is to not store this data locally. */ public static class RedeemMatchmakerTicketRequest { /** Unique identifier of the Game Server Instance that is asking for validation of the authorization ticket. */ @@ -3479,10 +3456,9 @@ public static class ServerLoginResult { } /** - * This operation is not additive. It will completely replace the tag list for the specified user. - * Please note that only users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only - * included - * in the friends list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. + * This operation is not additive. It will completely replace the tag list for the specified user. Please note that only + * users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only included in the friends + * list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. */ public static class SetFriendTagsRequest { /** PlayFab identifier of the friend account to which the tag(s) should be applied. */ @@ -3555,12 +3531,10 @@ public static class SetPlayerSecretResult { /** * This API is designed to store publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. This operation is additive. - * If a Key does not exist in the current dataset, it will be added with - * the specified Value. If it already exists, the Value for that key will be overwritten with the new Value. For more - * information email devrel@playfab.com + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. This operation is additive. If a Key does not exist in the current dataset, it + * will be added with the specified Value. If it already exists, the Value for that key will be overwritten with the new + * Value. For more information email devrel@playfab.com */ public static class SetPublisherDataRequest { /** @@ -3579,12 +3553,10 @@ public static class SetPublisherDataResult { /** * This API is designed to store title specific values which can be read, but not written to, by the client. For example, a - * developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. This operation is additive. If a Key does not exist in - * the current dataset, it will be added with - * the specified Value. If it already exists, the Value for that key will be overwritten with the new Value. + * developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. This operation is additive. If a Key does not exist in the current dataset, it will be added with the specified + * Value. If it already exists, the Value for that key will be overwritten with the new Value. */ public static class SetTitleDataRequest { /** @@ -3788,7 +3760,7 @@ public static class UnlockContainerItemRequest { } - /** The items and vc found within the container. These will be added and stacked in your inventory as appropriate. */ + /** The items and vc found within the container. These will be added and stacked in your inventory as appropriate. */ public static class UnlockContainerItemResult { /** Items granted to the player as a result of unlocking the container. */ public ArrayList GrantedItems; @@ -3845,10 +3817,9 @@ public static class UpdateBansResult { } /** - * This function performs an additive update of the arbitrary JSON object containing - * the custom data for the user. In updating the custom data object, keys which already exist in the object will have - * their values overwritten, while keys with null values will be removed. No other key-value pairs will be changed apart - * from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3880,9 +3851,9 @@ public static class UpdateCharacterDataResult { } /** - * Character statistics are similar to user statistics in that they are numeric values which - * may only be updated by a server operation, in order to minimize the opportunity for unauthorized changes. In addition to - * being available for use by the title, the statistics are used for all leaderboard operations in PlayFab. + * Character statistics are similar to user statistics in that they are numeric values which may only be updated by a + * server operation, in order to minimize the opportunity for unauthorized changes. In addition to being available for use + * by the title, the statistics are used for all leaderboard operations in PlayFab. */ public static class UpdateCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3899,8 +3870,8 @@ public static class UpdateCharacterStatisticsResult { } /** - * This operation is additive. Statistics not currently defined will be added, - * while those already defined will be updated with the given values. All other user statistics will remain unchanged. + * This operation is additive. Statistics not currently defined will be added, while those already defined will be updated + * with the given values. All other user statistics will remain unchanged. */ public static class UpdatePlayerStatisticsRequest { /** @@ -3920,11 +3891,10 @@ public static class UpdatePlayerStatisticsResult { } /** - * Note that in the case of multiple calls to write to the same shared group data keys, the - * last write received by the PlayFab service will determine the value available to subsequent read operations. For - * scenarios - * requiring coordination of data updates, it is recommended that titles make use of user data with read permission set to - * public, or a combination of user data and shared group data. + * Note that in the case of multiple calls to write to the same shared group data keys, the last write received by the + * PlayFab service will determine the value available to subsequent read operations. For scenarios requiring coordination + * of data updates, it is recommended that titles make use of user data with read permission set to public, or a + * combination of user data and shared group data. */ public static class UpdateSharedGroupDataRequest { /** @@ -3949,10 +3919,9 @@ public static class UpdateSharedGroupDataResult { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -3982,10 +3951,9 @@ public static class UpdateUserDataResult { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, keys with - * null values will be - * removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, keys with + * null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserInternalDataRequest { /** @@ -4006,8 +3974,8 @@ public static class UpdateUserInternalDataRequest { /** * This function performs an additive update of the arbitrary JSON object containing the custom data for the item instance * which belongs to the specified user. In updating the custom data object, keys which already exist in the object will - * have their values overwritten, while - * keys with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. + * have their values overwritten, while keys with null values will be removed. No other key-value pairs will be changed + * apart from those specified in the call. */ public static class UpdateUserInventoryItemDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4136,6 +4104,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4227,6 +4197,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } diff --git a/PlayFabSDK/src/main/java/com/playfab/PlayFabSettings.java b/PlayFabSDK/src/main/java/com/playfab/PlayFabSettings.java index 1ccfa4f3..5e952e7c 100644 --- a/PlayFabSDK/src/main/java/com/playfab/PlayFabSettings.java +++ b/PlayFabSDK/src/main/java/com/playfab/PlayFabSettings.java @@ -8,9 +8,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.87.190312"; - public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_0"; - public static String SdkVersionString = "JavaSDK-0.87.190312"; + public static String SdkVersion = "0.88.190410"; + public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_2"; + public static String SdkVersionString = "JavaSDK-0.88.190410"; public static Map RequestGetParams; static { diff --git a/PlayFabServerSDK/pom.xml b/PlayFabServerSDK/pom.xml index 2009aead..d5f0da84 100644 --- a/PlayFabServerSDK/pom.xml +++ b/PlayFabServerSDK/pom.xml @@ -14,7 +14,7 @@ com.playfab server-sdk - 0.87.190312 + 0.88.190410 PlayFab Server API PlayFab is the unified backend platform for games — everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience. http://api.playfab.com/ diff --git a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabAdminModels.java b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabAdminModels.java index 55f21231..c9afecf3 100644 --- a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabAdminModels.java +++ b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabAdminModels.java @@ -182,9 +182,8 @@ public static class AddUserVirtualCurrencyRequest { } /** - * This operation is additive. Any new currencies defined in the array will be added - * to the set of those available for the title, while any CurrencyCode identifiers matching existing ones in the - * game will be overwritten with the new values. + * This operation is additive. Any new currencies defined in the array will be added to the set of those available for the + * title, while any CurrencyCode identifiers matching existing ones in the game will be overwritten with the new values. */ public static class AddVirtualCurrencyTypesRequest { /** @@ -821,23 +820,17 @@ public static class CreatePlayerSharedSecretResult { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval - * enables automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version - * with no values (effectively - * removing all players from the leaderboard). The previous version's statistic values are also archived for retrieval, if - * needed (see - * GetPlayerStatisticVersions). Statistics not created via a call to CreatePlayerStatisticDefinition by default have a - * VersionChangeInterval of Never, - * meaning they do not reset on a schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. - * Once a statistic has been reset + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval enables + * automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version with no + * values (effectively removing all players from the leaderboard). The previous version's statistic values are also + * archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to + * CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on a + * schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset * (sometimes referred to as versioned or incremented), the now-previous version can still be written to for up a short, - * pre-defined period (currently - * 10 seconds), to prevent issues with levels completing around the time of the reset. Also, once reset, the historical - * statistics for players in the - * title may be retrieved using the URL specified in the version information (GetPlayerStatisticVersions). The - * AggregationMethod determines what action - * is taken when a new statistic value is submitted - always update with the new value (Last), use the highest of the old - * and new values (Max), use the + * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). The AggregationMethod determines what action is taken when a new statistic + * value is submitted - always update with the new value (Last), use the highest of the old and new values (Max), use the * smallest (Min), or add them together (Sum). */ public static class CreatePlayerStatisticDefinitionRequest { @@ -1035,17 +1028,14 @@ public static class DeleteContentRequest { /** * 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 data, credential data, account linkages, friends list and - * PlayStream event history. Removes the player from all leaderboards and player search indexes. - * Note, this API queues the player for deletion and returns a receipt immediately. Record the receipt ID - * for future reference. It may take some time before all player data is fully deleted. - * Upon completion of the deletion, an email will be sent to the notification email address configured for - * the title confirming the deletion. - * Until the player data is fully deleted, attempts to recreate the player with the same user account in - * the same title will fail with the 'AccountDeleted' error. - * It is highly recommended to know the impact of the deletion by calling GetPlayedTitleList, before - * calling this API. + * as statistics, custom data, inventory, purchases, virtual currency balances, characters, group memberships, publisher + * data, credential data, account linkages, friends list and PlayStream event history. Removes the player from all + * leaderboards and player search indexes. Note, this API queues the player for deletion and returns a receipt immediately. + * Record the receipt ID for future reference. It may take some time before all player data is fully deleted. Upon + * completion of the deletion, an email will be sent to the notification email address configured for the title confirming + * the deletion. Until the player data is fully deleted, attempts to recreate the player with the same user account in the + * same title will fail with the 'AccountDeleted' error. It is highly recommended to know the impact of the deletion by + * calling GetPlayedTitleList, before calling this API. */ public static class DeleteMasterPlayerAccountRequest { /** Developer created string to identify a user without PlayFab ID */ @@ -1074,15 +1064,12 @@ public static class DeleteOpenIdConnectionRequest { /** * Deletes all data associated with the player, including statistics, custom data, inventory, purchases, virtual currency - * balances, - * characters and shared group memberships. Removes the player from all leaderboards and player search - * indexes. Does not delete PlayStream event history associated with the player. - * Does not delete the publisher user account that created the player in the title nor associated data such - * as username, password, email address, account linkages, or friends list. - * Note, this API queues the player for deletion and returns immediately. It may take several minutes or - * more before all player data is fully deleted. - * Until the player data is fully deleted, attempts to recreate the player with the same user account in - * the same title will fail with the 'AccountDeleted' error. + * balances, characters and shared group memberships. Removes the player from all leaderboards and player search indexes. + * Does not delete PlayStream event history associated with the player. Does not delete the publisher user account that + * created the player in the title nor associated data such as username, password, email address, account linkages, or + * friends list. Note, this API queues the player for deletion and returns immediately. It may take several minutes or more + * before all player data is fully deleted. Until the player data is fully deleted, attempts to recreate the player with + * the same user account in the same title will fail with the 'AccountDeleted' error. */ public static class DeletePlayerRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1134,17 +1121,12 @@ public static class DeleteTaskRequest { /** * Deletes all data associated with the title, including catalog, virtual currencies, leaderboard statistics, Cloud Script - * revisions, - * segment definitions, event rules, tasks, add-ons, secret keys, data encryption keys, and permission - * policies. - * Removes the title from its studio and removes all associated developer roles and permissions. - * Does not delete PlayStream event history associated with the title. - * Note, this API queues the title for deletion and returns immediately. It may take several hours or more - * before all title data is fully deleted. - * All player accounts in the title must be deleted before deleting the title. If any player accounts - * exist, the API will return a 'TitleContainsUserAccounts' error. - * Until the title data is fully deleted, attempts to call APIs with the title will fail with the - * 'TitleDeleted' error. + * revisions, segment definitions, event rules, tasks, add-ons, secret keys, data encryption keys, and permission policies. + * Removes the title from its studio and removes all associated developer roles and permissions. Does not delete PlayStream + * event history associated with the title. Note, this API queues the title for deletion and returns immediately. It may + * take several hours or more before all title data is fully deleted. All player accounts in the title must be deleted + * before deleting the title. If any player accounts exist, the API will return a 'TitleContainsUserAccounts' error. Until + * the title data is fully deleted, attempts to call APIs with the title will fail with the 'TitleDeleted' error. */ public static class DeleteTitleRequest { @@ -1218,13 +1200,11 @@ public static class ExecuteCloudScriptResult { /** * Exports 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 data, credential data, account linkages, friends list and - * PlayStream event history. - * Note, this API queues the player for export and returns a receipt immediately. Record the receipt ID for - * future reference. It may take some time before the export is available for download. - * Upon completion of the export, an email containing the URL to download the export dump will be sent to - * the notification email address configured for the title. + * as statistics, custom data, inventory, purchases, virtual currency balances, characters, group memberships, publisher + * data, credential data, account linkages, friends list and PlayStream event history. Note, this API queues the player for + * export and returns a receipt immediately. Record the receipt ID for future reference. It may take some time before the + * export is available for download. Upon completion of the export, an email containing the URL to download the export dump + * will be sent to the notification email address configured for the title. */ public static class ExportMasterPlayerDataRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1697,6 +1677,7 @@ public static enum GenericErrorCodes { CannotEnableMultiplayerServersForTitle, WriteAttemptedDuringExport, MultiplayerServerTitleQuotaCoresExceeded, + AutomationRuleNotFound, MatchmakingEntityInvalid, MatchmakingPlayerAttributesInvalid, MatchmakingQueueNotFound, @@ -1715,6 +1696,7 @@ public static enum GenericErrorCodes { MatchmakingRateLimitExceeded, MatchmakingTicketMembershipLimitExceeded, MatchmakingUnauthorized, + MatchmakingQueueLimitExceeded, TitleConfigNotFound, TitleConfigUpdateConflict, TitleConfigSerializationError, @@ -1732,13 +1714,27 @@ public static enum GenericErrorCodes { CatalogConfigContentTypeTooLong, CatalogConfigTooManyTags, CatalogConfigTagTooLong, + CatalogConfigInvalidDeepLinkObject, + CatalogConfigInvalidDeepLinkPlatform, + CatalogConfigInvalidDeepLinkFormat, + CatalogConfigInvalidDisplayPropertyObject, + CatalogConfigInvalidDisplayPropertyName, + CatalogConfigInvalidDisplayPropertyType, + CatalogConfigDisplayPropertyMappingLimit, ExportInvalidStatusUpdate, ExportInvalidPrefix, ExportBlobContainerDoesNotExist, ExportEventNameNotFound, ExportExportTitleIdNotFound, ExportCouldNotUpdate, - ExportInvalidStorageType + ExportInvalidStorageType, + ExportAmazonBucketDoesNotExist, + ExportInvalidBlobStorage, + ExportKustoException, + ExportKustoExceptionNew_SomeResources, + ExportKustoExceptionEdit, + ExportKustoConnectionFailed, + ExportUnknownError } public static class GetActionsOnPlayersInSegmentTaskInstanceResult { @@ -1907,10 +1903,9 @@ public static class GetMatchmakerGameInfoResult { } /** - * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room - * for additional users, and by the PlayFab game server management service to determine when a new Game Server Host should - * be created in order to - * prevent excess load on existing Hosts. + * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room for + * additional users, and by the PlayFab game server management service to determine when a new Game Server Host should be + * created in order to prevent excess load on existing Hosts. */ public static class GetMatchmakerGameModesRequest { /** previously uploaded build version for which game modes are being requested */ @@ -1956,12 +1951,10 @@ public static class GetPlayerIdFromAuthTokenResult { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2049,24 +2042,18 @@ public static class GetPlayerStatisticDefinitionsRequest { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval - * defines the period of time at which the leaderboard for the statistic will automatically reset. Upon reset, the - * statistic updates to a new version - * with no values (effectively removing all players from the leaderboard). The previous version's statistic values are also - * archived for retrieval, - * if needed (see GetPlayerStatisticVersions). Statistics not created via a call to CreatePlayerStatisticDefinition by - * default have a - * VersionChangeInterval of Never, meaning they do not reset on a schedule, but they can be set to do so via a call to - * UpdatePlayerStatisticDefinition. - * Once a statistic has been reset (sometimes referred to as versioned or incremented), the previous version can still be - * written to for up a short, + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval defines + * the period of time at which the leaderboard for the statistic will automatically reset. Upon reset, the statistic + * updates to a new version with no values (effectively removing all players from the leaderboard). The previous version's + * statistic values are also archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via + * a call to CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on + * a schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset + * (sometimes referred to as versioned or incremented), the previous version can still be written to for up a short, * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, - * once reset, the historical - * statistics for players in the title may be retrieved using the URL specified in the version information - * (GetPlayerStatisticVersions). The - * AggregationMethod defines what action is taken when a new statistic value is submitted - always update with the new - * value (Last), use the highest - * of the old and new values (Max), use the smallest (Min), or add them together (Sum). + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). The AggregationMethod defines what action is taken when a new statistic value + * is submitted - always update with the new value (Last), use the highest of the old and new values (Max), use the + * smallest (Min), or add them together (Sum). */ public static class GetPlayerStatisticDefinitionsResult { /** the player statistic definitions for the title */ @@ -2081,16 +2068,12 @@ public static class GetPlayerStatisticVersionsRequest { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The information - * returned in the results defines the state of a specific version of a statistic, including when it was or will become the - * currently active version, - * when it will (or did) become a previous version, and its archival state if it is no longer the active version. For a - * statistic which has been - * reset, once the archival status is Complete, the full set of statistics for all players in the leaderboard for that - * version may be retrieved - * via the ArchiveDownloadUrl. Statistics which have not been reset (incremented/versioned) will only have a single version - * which is not scheduled - * to reset. + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The information returned + * in the results defines the state of a specific version of a statistic, including when it was or will become the + * currently active version, when it will (or did) become a previous version, and its archival state if it is no longer the + * active version. For a statistic which has been reset, once the archival status is Complete, the full set of statistics + * for all players in the leaderboard for that version may be retrieved via the ArchiveDownloadUrl. Statistics which have + * not been reset (incremented/versioned) will only have a single version which is not scheduled to reset. */ public static class GetPlayerStatisticVersionsResult { /** version change history of the statistic */ @@ -2136,11 +2119,9 @@ public static class GetPolicyResponse { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. This AdminAPI call for getting title data guarantees no delay in between - * update and retrieval of newly set data. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. This AdminAPI call for getting + * title data guarantees no delay in between update and retrieval of newly set data. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -2230,15 +2211,14 @@ public static class GetServerBuildUploadURLResult { } /** - * A store contains an array of references to items defined in the catalog, - * along with the prices for the item, in both real world and virtual currencies. These prices - * act as an override to any prices defined in the catalog. In this way, the base definitions of the items may be - * defined in the catalog, with all associated properties, while the pricing can be set for each store, as needed. - * This allows for subsets of goods to be defined for different purposes (in order to simplify showing some, but not - * all catalog items to users, based upon different characteristics), along with unique prices. Note that all prices - * defined in the catalog and store definitions for the item are considered valid, and that a compromised client can - * be made to send a request for an item based upon any of these definitions. If no price is specified in the store - * for an item, the price set in the catalog should be displayed to the user. + * A store contains an array of references to items defined in the catalog, along with the prices for the item, in both + * real world and virtual currencies. These prices act as an override to any prices defined in the catalog. In this way, + * the base definitions of the items may be defined in the catalog, with all associated properties, while the pricing can + * be set for each store, as needed. This allows for subsets of goods to be defined for different purposes (in order to + * simplify showing some, but not all catalog items to users, based upon different characteristics), along with unique + * prices. Note that all prices defined in the catalog and store definitions for the item are considered valid, and that a + * compromised client can be made to send a request for an item based upon any of these definitions. If no price is + * specified in the store for an item, the price set in the catalog should be displayed to the user. */ public static class GetStoreItemsRequest { /** catalog version to store items from. Use default catalog version if null */ @@ -2264,8 +2244,9 @@ public static class GetStoreItemsResult { } /** - * The result includes detail information that's specific to a CloudScript tasks. To get a list of task instances with - * generic basic information, use GetTaskInstances. + * The result includes detail information that's specific to a CloudScript task. Only CloudScript tasks configured as "Run + * Cloud Script function once" will be retrieved. To get a list of task instances by task, status, or time range, use + * GetTaskInstances. */ public static class GetTaskInstanceRequest { /** ID of the requested task instance. */ @@ -2316,12 +2297,11 @@ public static class GetTasksResult { } /** - * This API method is designed to return title specific values which can be read by the client. - * For example, a developer could choose to store values which modify the user experience, such as enemy spawn rates, - * weapon - * strengths, movement speeds, etc. This allows a developer to update the title without the need to create,test, and ship a - * new build. Note that due to caching, there may up to a minute delay in between updating title data and a query returning - * the newest value. + * This API method is designed to return title specific values which can be read by the client. For example, a developer + * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement + * speeds, etc. This allows a developer to update the title without the need to create,test, and ship a new build. Note + * that due to caching, there may up to a minute delay in between updating title data and a query returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2349,10 +2329,8 @@ public static class GetUserBansResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set of custom - * user - * data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2381,10 +2359,9 @@ public static class GetUserDataResult { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2455,12 +2432,10 @@ public int compareTo(GrantedItemInstance other) { } /** - * This function directly adds inventory items to user inventories. As a result of this operations, the user - * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the - * processing time for - * inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in the - * grant/purchase - * operation. + * This function directly adds inventory items to user inventories. As a result of this operations, the user will not be + * charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing time + * for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in + * the grant/purchase operation. */ public static class GrantItemsToUsersRequest { /** Catalog version from which items are to be granted. */ @@ -2497,21 +2472,16 @@ public static class IncrementLimitedEditionItemAvailabilityResult { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. - * When this call is made on a given statistic, this forces a reset of that statistic. Upon reset, the statistic updates to - * a new - * version with no values (effectively removing all players from the leaderboard). The previous version's statistic values - * are - * also archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. When this call is made on + * a given statistic, this forces a reset of that statistic. Upon reset, the statistic updates to a new version with no + * values (effectively removing all players from the leaderboard). The previous version's statistic values are also + * archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to * CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on a - * schedule, but - * they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset (sometimes - * referred to - * as versioned or incremented), the now-previous version can still be written to for up a short, pre-defined period - * (currently - * 10 seconds), to prevent issues with levels completing around the time of the reset. Also, once reset, the historical - * statistics for players in the title may be retrieved using the URL specified in the version information - * (GetPlayerStatisticVersions). + * schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset + * (sometimes referred to as versioned or incremented), the now-previous version can still be written to for up a short, + * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). */ public static class IncrementPlayerStatisticVersionRequest { /** unique name of the statistic */ @@ -2685,12 +2655,10 @@ public static class LogStatement { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class LookupUserAccountInfoRequest { /** User email address attached to their account */ @@ -2728,14 +2696,11 @@ public static class MembershipModel { } /** - * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room - * for additional users, and by the PlayFab game server management service to determine when a new Game Server Host should - * be created in order to - * prevent excess load on existing Hosts. This operation is not additive. Using it will cause the game mode definition for - * the game server executable - * in question to be created from scratch. If there is an existing game server mode definition for the given BuildVersion, - * it will be deleted and - * replaced with the data specified in this call. + * These details are used by the PlayFab matchmaking service to determine if an existing Game Server Instance has room for + * additional users, and by the PlayFab game server management service to determine when a new Game Server Host should be + * created in order to prevent excess load on existing Hosts. This operation is not additive. Using it will cause the game + * mode definition for the game server executable in question to be created from scratch. If there is an existing game + * server mode definition for the given BuildVersion, it will be deleted and replaced with the data specified in this call. */ public static class ModifyMatchmakerGameModesRequest { /** previously uploaded build version for which game modes are being specified */ @@ -3182,8 +3147,8 @@ public static class RemoveVirtualCurrencyTypesRequest { } /** - * Note that this action cannot be un-done. All statistics for this - * character will be deleted, removing the user from all leaderboards for the game. + * Note that this action cannot be un-done. All statistics for this character will be deleted, removing the user from all + * leaderboards for the game. */ public static class ResetCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3467,12 +3432,10 @@ public static class SetPublishedRevisionResult { /** * This API is designed to store publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. This operation is additive. - * If a Key does not exist in the current dataset, it will be added with - * the specified Value. If it already exists, the Value for that key will be overwritten with the new Value. For more - * information email devrel@playfab.com + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. This operation is additive. If a Key does not exist in the current dataset, it + * will be added with the specified Value. If it already exists, the Value for that key will be overwritten with the new + * Value. For more information email devrel@playfab.com */ public static class SetPublisherDataRequest { /** @@ -3490,14 +3453,11 @@ public static class SetPublisherDataResult { } /** - * This API method is designed to store title specific values which can be read by the client. - * For example, a developer could choose to store values which modify the user experience, such as enemy spawn rates, - * weapon - * strengths, movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship - * a - * new build. This operation is additive. If a Key does not exist in the current dataset, it will be added with the - * specified - * Value. If it already exists, the Value for that key will be overwritten with the new Value. + * This API method is designed to store title specific values which can be read by the client. For example, a developer + * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement + * speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new build. This + * operation is additive. If a Key does not exist in the current dataset, it will be added with the specified Value. If it + * already exists, the Value for that key will be overwritten with the new Value. */ public static class SetTitleDataRequest { /** @@ -3515,10 +3475,9 @@ public static class SetTitleDataResult { } /** - * When using the Apple Push Notification service (APNS) or the development - * version (APNS_SANDBOX), the APNS Private Key should be used as the Credential in this call. With Google - * Cloud Messaging (GCM), the Android API Key should be used. The current ARN (if one exists) can be - * overwritten by setting the OverwriteOldARN boolean to true. + * When using the Apple Push Notification service (APNS) or the development version (APNS_SANDBOX), the APNS Private Key + * should be used as the Credential in this call. With Google Cloud Messaging (GCM), the Android API Key should be used. + * The current ARN (if one exists) can be overwritten by setting the OverwriteOldARN boolean to true. */ public static class SetupPushNotificationRequest { /** Credential is the Private Key for APNS/APNS_SANDBOX, and the API Key for GCM */ @@ -3764,10 +3723,9 @@ public static class UpdateBansResult { } /** - * This operation is not additive. Using it will cause the indicated catalog version to be created from - * scratch. If there is an existing catalog with the version number in question, it will be deleted and replaced with only - * the items specified - * in this call. + * This operation is not additive. Using it will cause the indicated catalog version to be created from scratch. If there + * is an existing catalog with the version number in question, it will be deleted and replaced with only the items + * specified in this call. */ public static class UpdateCatalogItemsRequest { /** @@ -3840,23 +3798,17 @@ public static class UpdatePlayerSharedSecretResult { } /** - * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval - * enables automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version - * with no values (effectively - * removing all players from the leaderboard). The previous version's statistic values are also archived for retrieval, if - * needed (see - * GetPlayerStatisticVersions). Statistics not created via a call to CreatePlayerStatisticDefinition by default have a - * VersionChangeInterval of Never, - * meaning they do not reset on a schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. - * Once a statistic has been reset + * Statistics are numeric values, with each statistic in the title also generating a leaderboard. The ResetInterval enables + * automatically resetting leaderboards on a specified interval. Upon reset, the statistic updates to a new version with no + * values (effectively removing all players from the leaderboard). The previous version's statistic values are also + * archived for retrieval, if needed (see GetPlayerStatisticVersions). Statistics not created via a call to + * CreatePlayerStatisticDefinition by default have a VersionChangeInterval of Never, meaning they do not reset on a + * schedule, but they can be set to do so via a call to UpdatePlayerStatisticDefinition. Once a statistic has been reset * (sometimes referred to as versioned or incremented), the now-previous version can still be written to for up a short, - * pre-defined period (currently - * 10 seconds), to prevent issues with levels completing around the time of the reset. Also, once reset, the historical - * statistics for players in the - * title may be retrieved using the URL specified in the version information (GetPlayerStatisticVersions). The - * AggregationMethod determines what action - * is taken when a new statistic value is submitted - always update with the new value (Last), use the highest of the old - * and new values (Max), use the + * pre-defined period (currently 10 seconds), to prevent issues with levels completing around the time of the reset. Also, + * once reset, the historical statistics for players in the title may be retrieved using the URL specified in the version + * information (GetPlayerStatisticVersions). The AggregationMethod determines what action is taken when a new statistic + * value is submitted - always update with the new value (Last), use the highest of the old and new values (Max), use the * smallest (Min), or add them together (Sum). */ public static class UpdatePlayerStatisticDefinitionRequest { @@ -3902,8 +3854,8 @@ public static class UpdatePolicyResponse { } /** - * This operation is additive. Tables with TableId values not currently defined will be added, - * while those with TableId values matching Tables currently in the catalog will be overwritten with the given values. + * This operation is additive. Tables with TableId values not currently defined will be added, while those with TableId + * values matching Tables currently in the catalog will be overwritten with the given values. */ public static class UpdateRandomResultTablesRequest { /** which catalog is being updated. If null, update the current default catalog version */ @@ -3921,17 +3873,16 @@ public static class UpdateRandomResultTablesResult { } /** - * This operation is not additive. Using it will cause the indicated virtual store to - * be created from scratch. If there is an existing store with the same storeId, it will be deleted and replaced - * with only the items specified in this call. A store contains an array of references to items defined inthe catalog, - * along with the prices for the item, in both real world and virtual currencies. - * These prices act as an override to any prices defined in the catalog. In this way, the base definitions of the - * items may be defined in the catalog, with all associated properties, while the pricing can be set for each store, - * as needed. This allows for subsets of goods to be defined for different purposes (in order to simplify showing - * some, but not all catalog items to users, based upon different characteristics), along with unique prices. Note - * that all prices defined in the catalog and store definitions for the item are considered valid, and that a - * compromised client can be made to send a request for an item based upon any of these definitions. If no price - * is specified in the store for an item, the price set in the catalog should be displayed to the user. + * This operation is not additive. Using it will cause the indicated virtual store to be created from scratch. If there is + * an existing store with the same storeId, it will be deleted and replaced with only the items specified in this call. A + * store contains an array of references to items defined inthe catalog, along with the prices for the item, in both real + * world and virtual currencies. These prices act as an override to any prices defined in the catalog. In this way, the + * base definitions of the items may be defined in the catalog, with all associated properties, while the pricing can be + * set for each store, as needed. This allows for subsets of goods to be defined for different purposes (in order to + * simplify showing some, but not all catalog items to users, based upon different characteristics), along with unique + * prices. Note that all prices defined in the catalog and store definitions for the item are considered valid, and that a + * compromised client can be made to send a request for an item based upon any of these definitions. If no price is + * specified in the store for an item, the price set in the catalog should be displayed to the user. */ public static class UpdateStoreItemsRequest { /** Catalog version of the store to update. If null, uses the default catalog. */ @@ -3974,10 +3925,9 @@ public static class UpdateTaskRequest { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -4007,10 +3957,9 @@ public static class UpdateUserDataResult { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, keys with - * null values will be - * removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, keys with + * null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserInternalDataRequest { /** @@ -4029,10 +3978,9 @@ public static class UpdateUserInternalDataRequest { } /** - * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, - * but specific to the title. This allows for unique names which more closely match the theme or genre of a title, for - * example. This API enables - * changing that name, whether due to a customer request, an offensive name choice, etc. + * In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique identifier, but + * specific to the title. This allows for unique names which more closely match the theme or genre of a title, for example. + * This API enables changing that name, whether due to a customer request, an offensive name choice, etc. */ public static class UpdateUserTitleDisplayNameRequest { /** New title display name for the user - must be between 3 and 25 characters */ @@ -4155,6 +4103,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4236,6 +4186,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } diff --git a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabErrors.java b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabErrors.java index 9f0db166..df32a81e 100644 --- a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabErrors.java +++ b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabErrors.java @@ -446,6 +446,7 @@ public static enum PlayFabErrorCode { CannotEnableMultiplayerServersForTitle(1443), WriteAttemptedDuringExport(1444), MultiplayerServerTitleQuotaCoresExceeded(1445), + AutomationRuleNotFound(1446), MatchmakingEntityInvalid(2001), MatchmakingPlayerAttributesInvalid(2002), MatchmakingQueueNotFound(2016), @@ -464,6 +465,7 @@ public static enum PlayFabErrorCode { MatchmakingRateLimitExceeded(2054), MatchmakingTicketMembershipLimitExceeded(2055), MatchmakingUnauthorized(2056), + MatchmakingQueueLimitExceeded(2057), TitleConfigNotFound(3001), TitleConfigUpdateConflict(3002), TitleConfigSerializationError(3003), @@ -481,13 +483,27 @@ public static enum PlayFabErrorCode { CatalogConfigContentTypeTooLong(4102), CatalogConfigTooManyTags(4103), CatalogConfigTagTooLong(4104), + CatalogConfigInvalidDeepLinkObject(4105), + CatalogConfigInvalidDeepLinkPlatform(4106), + CatalogConfigInvalidDeepLinkFormat(4107), + CatalogConfigInvalidDisplayPropertyObject(4108), + CatalogConfigInvalidDisplayPropertyName(4109), + CatalogConfigInvalidDisplayPropertyType(4110), + CatalogConfigDisplayPropertyMappingLimit(4111), ExportInvalidStatusUpdate(5000), ExportInvalidPrefix(5001), ExportBlobContainerDoesNotExist(5002), ExportEventNameNotFound(5003), ExportExportTitleIdNotFound(5004), ExportCouldNotUpdate(5005), - ExportInvalidStorageType(5006); + ExportInvalidStorageType(5006), + ExportAmazonBucketDoesNotExist(5007), + ExportInvalidBlobStorage(5008), + ExportKustoException(5009), + ExportKustoExceptionNew_SomeResources(5010), + ExportKustoExceptionEdit(5011), + ExportKustoConnectionFailed(5012), + ExportUnknownError(5013); public int id; diff --git a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java index 3354158e..d3279191 100644 --- a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java +++ b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabMatchmakerModels.java @@ -7,10 +7,8 @@ public class PlayFabMatchmakerModels { /** * This API allows the external match-making service to confirm that the user has a valid Session Ticket for the title, in - * order - * to securely enable match-making. The client passes the user's Session Ticket to the external match-making service, which - * then passes the Session Ticket in as the - * AuthorizationTicket in this call. + * order to securely enable match-making. The client passes the user's Session Ticket to the external match-making service, + * which then passes the Session Ticket in as the AuthorizationTicket in this call. */ public static class AuthUserRequest { /** Session Ticket provided by the client. */ diff --git a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabProfilesModels.java b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabProfilesModels.java index b710e60d..aa59ac2b 100644 --- a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabProfilesModels.java +++ b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabProfilesModels.java @@ -87,6 +87,8 @@ public static class EntityProfileBody { * profile, not global statements from titles and namespaces. */ public ArrayList Permissions; + /** The statistics on this profile. */ + public Map Statistics; /** * The version number of the profile in persistent storage at the time of the read. Used for optional optimistic * concurrency during update. @@ -108,6 +110,30 @@ public static class EntityProfileFileMetadata { } + public static class EntityStatisticChildValue { + /** Child name value, if child statistic */ + public String ChildName; + /** Child statistic metadata */ + public String Metadata; + /** Child statistic value */ + public Integer Value; + + } + + public static class EntityStatisticValue { + /** Child statistic values */ + public Map ChildStatistics; + /** Statistic metadata */ + public String Metadata; + /** Statistic name */ + public String Name; + /** Statistic value */ + public Integer Value; + /** Statistic version */ + public Integer Version; + + } + /** * Given an entity type and entity identifier will retrieve the profile from the entity store. If the profile being * retrieved is the caller's, then the read operation is consistent, if not it is an inconsistent read. An inconsistent diff --git a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabServerModels.java b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabServerModels.java index f4d55f06..dffeea1e 100644 --- a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabServerModels.java +++ b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabServerModels.java @@ -107,8 +107,7 @@ public static class AdvancedPushPlatformMsg { /** * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class AuthenticateSessionTicketRequest { /** Session ticket as issued by a PlayFab client login API. */ @@ -665,9 +664,8 @@ public static enum CountryCode { } /** - * If SharedGroupId is specified, the service will attempt to create a group with that - * identifier, and will return an error if it is already in use. If no SharedGroupId is specified, a random identifier will - * be assigned. + * If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error + * if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned. */ public static class CreateSharedGroupRequest { /** Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). */ @@ -847,9 +845,9 @@ public static enum Currency { } /** - * This function will delete the specified character from the list allowed by the user, and - * will also delete any inventory or VC currently held by that character. It will NOT delete any statistics - * associated for this character, in order to preserve leaderboard integrity. + * This function will delete the specified character from the list allowed by the user, and will also delete any inventory + * or VC currently held by that character. It will NOT delete any statistics associated for this character, in order to + * preserve leaderboard integrity. */ public static class DeleteCharacterFromUserRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -870,17 +868,13 @@ public static class DeleteCharacterFromUserResult { /** * Deletes all data associated with the player, including statistics, custom data, inventory, purchases, virtual currency - * balances, - * characters and shared group memberships. Removes the player from all leaderboards and player search - * indexes. Does not delete PlayStream event history associated with the player. - * Does not delete the publisher user account that created the player in the title nor associated data - * such as username, password, email address, account linkages, or friends list. - * Note, this API queues the player for deletion and returns immediately. It may take several minutes - * or more before all player data is fully deleted. - * Until the player data is fully deleted, attempts to recreate the player with the same user account - * in the same title will fail with the 'AccountDeleted' error. - * This API must be enabled for use as an option in the game manager website. It is disabled by - * default. + * balances, characters and shared group memberships. Removes the player from all leaderboards and player search indexes. + * Does not delete PlayStream event history associated with the player. Does not delete the publisher user account that + * created the player in the title nor associated data such as username, password, email address, account linkages, or + * friends list. Note, this API queues the player for deletion and returns immediately. It may take several minutes or more + * before all player data is fully deleted. Until the player data is fully deleted, attempts to recreate the player with + * the same user account in the same title will fail with the 'AccountDeleted' error. This API must be enabled for use as + * an option in the game manager website. It is disabled by default. */ public static class DeletePlayerRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -1036,12 +1030,6 @@ public static class FacebookPlayFabIdPair { } public static class FriendInfo { - /** - * This field is not populated. - * @deprecated Do not use - */ - @Deprecated - public String CurrentMatchmakerLobbyId; /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ public UserFacebookInfo FacebookInfo; /** PlayFab unique identifier for this friend. */ @@ -1506,6 +1494,7 @@ public static enum GenericErrorCodes { CannotEnableMultiplayerServersForTitle, WriteAttemptedDuringExport, MultiplayerServerTitleQuotaCoresExceeded, + AutomationRuleNotFound, MatchmakingEntityInvalid, MatchmakingPlayerAttributesInvalid, MatchmakingQueueNotFound, @@ -1524,6 +1513,7 @@ public static enum GenericErrorCodes { MatchmakingRateLimitExceeded, MatchmakingTicketMembershipLimitExceeded, MatchmakingUnauthorized, + MatchmakingQueueLimitExceeded, TitleConfigNotFound, TitleConfigUpdateConflict, TitleConfigSerializationError, @@ -1541,13 +1531,27 @@ public static enum GenericErrorCodes { CatalogConfigContentTypeTooLong, CatalogConfigTooManyTags, CatalogConfigTagTooLong, + CatalogConfigInvalidDeepLinkObject, + CatalogConfigInvalidDeepLinkPlatform, + CatalogConfigInvalidDeepLinkFormat, + CatalogConfigInvalidDisplayPropertyObject, + CatalogConfigInvalidDisplayPropertyName, + CatalogConfigInvalidDisplayPropertyType, + CatalogConfigDisplayPropertyMappingLimit, ExportInvalidStatusUpdate, ExportInvalidPrefix, ExportBlobContainerDoesNotExist, ExportEventNameNotFound, ExportExportTitleIdNotFound, ExportCouldNotUpdate, - ExportInvalidStorageType + ExportInvalidStorageType, + ExportAmazonBucketDoesNotExist, + ExportInvalidBlobStorage, + ExportKustoException, + ExportKustoExceptionNew_SomeResources, + ExportKustoExceptionEdit, + ExportKustoConnectionFailed, + ExportUnknownError } /** Request has no paramaters. */ @@ -1575,9 +1579,8 @@ public static class GetCatalogItemsResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set - * of custom user data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1610,10 +1613,9 @@ public static class GetCharacterDataResult { } /** - * All items currently in the character inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. Also returns their virtual currency balances. + * All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. Also returns their virtual currency balances. */ public static class GetCharacterInventoryRequest { /** Used to limit results to only those from a specific catalog version. */ @@ -1660,9 +1662,9 @@ public static class GetCharacterLeaderboardResult { } /** - * Character statistics are similar to user statistics in that they are numeric values which - * may only be updated by a server operation, in order to minimize the opportunity for unauthorized changes. In addition to - * being available for use by the title, the statistics are used for all leaderboard operations in PlayFab. + * Character statistics are similar to user statistics in that they are numeric values which may only be updated by a + * server operation, in order to minimize the opportunity for unauthorized changes. In addition to being available for use + * by the title, the statistics are used for all leaderboard operations in PlayFab. */ public static class GetCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -1871,7 +1873,7 @@ public static class GetPlayerCombinedInfoRequestParams { public Boolean GetCharacterInventories; /** Whether to get the list of characters. Defaults to false. */ public Boolean GetCharacterList; - /** Whether to get player profile. Defaults to false. */ + /** Whether to get player profile. Defaults to false. Has no effect for a new player. */ public Boolean GetPlayerProfile; /** Whether to get player statistics. Defaults to false. */ public Boolean GetPlayerStatistics; @@ -1946,12 +1948,10 @@ public static class GetPlayerCombinedInfoResultPayload { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetPlayerProfileRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2159,12 +2159,9 @@ public static class GetPlayFabIDsFromXboxLiveIDsResult { /** * This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. - * For more information email devrel@playfab.com. Note that there may up to a minute delay in between updating title data - * and this API call returning - * the newest value. + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a + * minute delay in between updating title data and this API call returning the newest value. */ public static class GetPublisherDataRequest { /** array of keys to get back data from the Publisher data blob, set by the admin tools */ @@ -2248,8 +2245,7 @@ public static class GetSharedGroupDataResult { /** * This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between - * servers, - * there is a potential variance of up to 5 seconds. + * servers, there is a potential variance of up to 5 seconds. */ public static class GetTimeRequest { @@ -2264,12 +2260,10 @@ public static class GetTimeResult { /** * This API is designed to return title specific values which can be read, but not written to, by the client. For example, - * a developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. Note that there may up to a minute delay in between - * updating title data and this API call returning - * the newest value. + * a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. Note that there may up to a minute delay in between updating title data and this API call returning the newest + * value. */ public static class GetTitleDataRequest { /** Specific keys to search for in the title data (leave null to get all keys) */ @@ -2296,12 +2290,10 @@ public static class GetTitleNewsResult { } /** - * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of - * customer support. Note that data returned may be Personally Identifying Information (PII), such as email address, and so - * care should be + * This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support. + * Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be * taken in how this data is stored and managed. Since this call will always return the relevant information for users who - * have accessed - * the title, the recommendation is to not store this data locally. + * have accessed the title, the recommendation is to not store this data locally. */ public static class GetUserAccountInfoRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2329,10 +2321,8 @@ public static class GetUserBansResult { } /** - * Data is stored as JSON key-value pairs. If the Keys parameter is provided, - * the data object returned will only contain the data specific to the indicated Keys. Otherwise, the full set of custom - * user - * data will be returned. + * Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain + * the data specific to the indicated Keys. Otherwise, the full set of custom user data will be returned. */ public static class GetUserDataRequest { /** @@ -2361,10 +2351,9 @@ public static class GetUserDataResult { } /** - * All items currently in the user inventory will be returned, irrespective of how they were acquired - * (via purchasing, grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not - * considered to be - * in the user's current inventory, and so will not be not included. + * All items currently in the user inventory will be returned, irrespective of how they were acquired (via purchasing, + * grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the + * user's current inventory, and so will not be not included. */ public static class GetUserInventoryRequest { /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ @@ -2452,10 +2441,10 @@ public int compareTo(GrantedItemInstance other) { } /** - * This function directly adds inventory items to the character's inventories. As - * a result of this operations, the user will not be charged any transaction fee, regardless of the inventory item - * catalog definition. Please note that the processing time for inventory grants and purchases increases fractionally - * the more items are in the inventory, and the more items are in the grant/purchase operation. + * This function directly adds inventory items to the character's inventories. As a result of this operations, the user + * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the + * processing time for inventory grants and purchases increases fractionally the more items are in the inventory, and the + * more items are in the grant/purchase operation. */ public static class GrantItemsToCharacterRequest { /** String detailing any additional information concerning this operation. */ @@ -2478,12 +2467,10 @@ public static class GrantItemsToCharacterResult { } /** - * This function directly adds inventory items to the user's inventories. As a result of this operations, the user - * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the - * processing time for - * inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in the - * grant/purchase - * operation. + * This function directly adds inventory items to the user's inventories. As a result of this operations, the user will not + * be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing + * time for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items + * are in the grant/purchase operation. */ public static class GrantItemsToUserRequest { /** String detailing any additional information concerning this operation. */ @@ -2505,12 +2492,10 @@ public static class GrantItemsToUserResult { } /** - * This function directly adds inventory items to user inventories. As a result of this operations, the user - * will not be charged any transaction fee, regardless of the inventory item catalog definition. Please note that the - * processing time for - * inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in the - * grant/purchase - * operation. + * This function directly adds inventory items to user inventories. As a result of this operations, the user will not be + * charged any transaction fee, regardless of the inventory item catalog definition. Please note that the processing time + * for inventory grants and purchases increases fractionally the more items are in the inventory, and the more items are in + * the grant/purchase operation. */ public static class GrantItemsToUsersRequest { /** Catalog version from which items are to be granted. */ @@ -2686,12 +2671,10 @@ public static class LoginWithServerCustomIdRequest { } /** - * If this is the first time a user has signed in with the Xbox Live account and CreateAccount - * is set to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email or - * username will be + * If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set to true, a new + * PlayFab account will be created and linked to the Xbox Live account. In this case, no email or username will be * associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Xbox Live account, an error - * indicating this will - * be returned, so that the title can guide the user through creation of a PlayFab account. + * indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. */ public static class LoginWithXboxRequest { /** Automatically create a PlayFab account if one is not currently linked to this ID. */ @@ -2775,9 +2758,9 @@ public static class ModifyUserVirtualCurrencyResult { } /** - * Transfers an item from a character to another character that is owned by the same - * user. This will remove the item from the character's inventory (until and unless it is moved back), and will enable the - * other character to make use of the item instead. + * Transfers an item from a character to another character that is owned by the same user. This will remove the item from + * the character's inventory (until and unless it is moved back), and will enable the other character to make use of the + * item instead. */ public static class MoveItemToCharacterFromCharacterRequest { /** Unique identifier of the character that currently has the item. */ @@ -2796,9 +2779,8 @@ public static class MoveItemToCharacterFromCharacterResult { } /** - * Transfers an item from a user to a character she owns. This will remove - * the item from the user's inventory (until and unless it is moved back), and will enable the - * character to make use of the item instead. + * Transfers an item from a user to a character she owns. This will remove the item from the user's inventory (until and + * unless it is moved back), and will enable the character to make use of the item instead. */ public static class MoveItemToCharacterFromUserRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -2815,9 +2797,8 @@ public static class MoveItemToCharacterFromUserResult { } /** - * Transfers an item from a character to the owning user. This will remove - * the item from the character's inventory (until and unless it is moved back), and will enable the - * user to make use of the item instead. + * Transfers an item from a character to the owning user. This will remove the item from the character's inventory (until + * and unless it is moved back), and will enable the user to make use of the item instead. */ public static class MoveItemToUserFromCharacterRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3111,10 +3092,9 @@ public static class RandomResultTableListing { } /** - * Coupon codes can be created for any item, or set of items, in the catalog for the title. This - * operation causes the coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an - * already - * consumed code, or a code which has not yet been created in the service, will result in an error. + * Coupon codes can be created for any item, or set of items, in the catalog for the title. This operation causes the + * coupon to be consumed, and the specific items to be awarded to the user. Attempting to re-use an already consumed code, + * or a code which has not yet been created in the service, will result in an error. */ public static class RedeemCouponRequest { /** Catalog version of the coupon. */ @@ -3135,16 +3115,13 @@ public static class RedeemCouponResult { } /** - * This function is used by a Game Server Instance to validate with the PlayFab service that a user has been - * registered as connected to the server. The Ticket is provided to the client either as a result of a call to StartGame or - * Matchmake, each - * of which return a Ticket specific to the Game Server Instance. This function will fail in any case where the Ticket - * presented is not valid - * for the specific Game Server Instance making the call. Note that data returned may be Personally Identifying Information - * (PII), such as - * email address, and so care should be taken in how this data is stored and managed. Since this call will always return - * the relevant information - * for users who have accessed the title, the recommendation is to not store this data locally. + * This function is used by a Game Server Instance to validate with the PlayFab service that a user has been registered as + * connected to the server. The Ticket is provided to the client either as a result of a call to StartGame or Matchmake, + * each of which return a Ticket specific to the Game Server Instance. This function will fail in any case where the Ticket + * presented is not valid for the specific Game Server Instance making the call. Note that data returned may be Personally + * Identifying Information (PII), such as email address, and so care should be taken in how this data is stored and + * managed. Since this call will always return the relevant information for users who have accessed the title, the + * recommendation is to not store this data locally. */ public static class RedeemMatchmakerTicketRequest { /** Unique identifier of the Game Server Instance that is asking for validation of the authorization ticket. */ @@ -3479,10 +3456,9 @@ public static class ServerLoginResult { } /** - * This operation is not additive. It will completely replace the tag list for the specified user. - * Please note that only users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only - * included - * in the friends list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. + * This operation is not additive. It will completely replace the tag list for the specified user. Please note that only + * users in the PlayFab friends list can be assigned tags. Attempting to set a tag on a friend only included in the friends + * list from a social site integration (such as Facebook or Steam) will return the AccountNotFound error. */ public static class SetFriendTagsRequest { /** PlayFab identifier of the friend account to which the tag(s) should be applied. */ @@ -3555,12 +3531,10 @@ public static class SetPlayerSecretResult { /** * This API is designed to store publisher-specific values which can be read, but not written to, by the client. This data - * is shared across all - * titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles assigned to a - * publisher can use this API. This operation is additive. - * If a Key does not exist in the current dataset, it will be added with - * the specified Value. If it already exists, the Value for that key will be overwritten with the new Value. For more - * information email devrel@playfab.com + * is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles + * assigned to a publisher can use this API. This operation is additive. If a Key does not exist in the current dataset, it + * will be added with the specified Value. If it already exists, the Value for that key will be overwritten with the new + * Value. For more information email devrel@playfab.com */ public static class SetPublisherDataRequest { /** @@ -3579,12 +3553,10 @@ public static class SetPublisherDataResult { /** * This API is designed to store title specific values which can be read, but not written to, by the client. For example, a - * developer - * could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, movement - * speeds, etc. This allows a developer to update - * the title without the need to create, test, and ship a new build. This operation is additive. If a Key does not exist in - * the current dataset, it will be added with - * the specified Value. If it already exists, the Value for that key will be overwritten with the new Value. + * developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths, + * movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new + * build. This operation is additive. If a Key does not exist in the current dataset, it will be added with the specified + * Value. If it already exists, the Value for that key will be overwritten with the new Value. */ public static class SetTitleDataRequest { /** @@ -3788,7 +3760,7 @@ public static class UnlockContainerItemRequest { } - /** The items and vc found within the container. These will be added and stacked in your inventory as appropriate. */ + /** The items and vc found within the container. These will be added and stacked in your inventory as appropriate. */ public static class UnlockContainerItemResult { /** Items granted to the player as a result of unlocking the container. */ public ArrayList GrantedItems; @@ -3845,10 +3817,9 @@ public static class UpdateBansResult { } /** - * This function performs an additive update of the arbitrary JSON object containing - * the custom data for the user. In updating the custom data object, keys which already exist in the object will have - * their values overwritten, while keys with null values will be removed. No other key-value pairs will be changed apart - * from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateCharacterDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3880,9 +3851,9 @@ public static class UpdateCharacterDataResult { } /** - * Character statistics are similar to user statistics in that they are numeric values which - * may only be updated by a server operation, in order to minimize the opportunity for unauthorized changes. In addition to - * being available for use by the title, the statistics are used for all leaderboard operations in PlayFab. + * Character statistics are similar to user statistics in that they are numeric values which may only be updated by a + * server operation, in order to minimize the opportunity for unauthorized changes. In addition to being available for use + * by the title, the statistics are used for all leaderboard operations in PlayFab. */ public static class UpdateCharacterStatisticsRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -3899,8 +3870,8 @@ public static class UpdateCharacterStatisticsResult { } /** - * This operation is additive. Statistics not currently defined will be added, - * while those already defined will be updated with the given values. All other user statistics will remain unchanged. + * This operation is additive. Statistics not currently defined will be added, while those already defined will be updated + * with the given values. All other user statistics will remain unchanged. */ public static class UpdatePlayerStatisticsRequest { /** @@ -3920,11 +3891,10 @@ public static class UpdatePlayerStatisticsResult { } /** - * Note that in the case of multiple calls to write to the same shared group data keys, the - * last write received by the PlayFab service will determine the value available to subsequent read operations. For - * scenarios - * requiring coordination of data updates, it is recommended that titles make use of user data with read permission set to - * public, or a combination of user data and shared group data. + * Note that in the case of multiple calls to write to the same shared group data keys, the last write received by the + * PlayFab service will determine the value available to subsequent read operations. For scenarios requiring coordination + * of data updates, it is recommended that titles make use of user data with read permission set to public, or a + * combination of user data and shared group data. */ public static class UpdateSharedGroupDataRequest { /** @@ -3949,10 +3919,9 @@ public static class UpdateSharedGroupDataResult { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, while - * keys with null values will - * be removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, while keys + * with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserDataRequest { /** @@ -3982,10 +3951,9 @@ public static class UpdateUserDataResult { } /** - * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. - * In updating the custom data object, keys which already exist in the object will have their values overwritten, keys with - * null values will be - * removed. No other key-value pairs will be changed apart from those specified in the call. + * This function performs an additive update of the arbitrary JSON object containing the custom data for the user. In + * updating the custom data object, keys which already exist in the object will have their values overwritten, keys with + * null values will be removed. No other key-value pairs will be changed apart from those specified in the call. */ public static class UpdateUserInternalDataRequest { /** @@ -4006,8 +3974,8 @@ public static class UpdateUserInternalDataRequest { /** * This function performs an additive update of the arbitrary JSON object containing the custom data for the item instance * which belongs to the specified user. In updating the custom data object, keys which already exist in the object will - * have their values overwritten, while - * keys with null values will be removed. No other key-value pairs will be changed apart from those specified in the call. + * have their values overwritten, while keys with null values will be removed. No other key-value pairs will be changed + * apart from those specified in the call. */ public static class UpdateUserInventoryItemDataRequest { /** Unique PlayFab assigned ID for a specific character owned by a user */ @@ -4136,6 +4104,8 @@ public static class UserGoogleInfo { public String GoogleId; /** Locale of the Google account */ public String GoogleLocale; + /** Name of the Google account user */ + public String GoogleName; } @@ -4227,6 +4197,8 @@ public static class UserSteamInfo { public Currency SteamCurrency; /** Steam identifier */ public String SteamId; + /** Steam display name */ + public String SteamName; } diff --git a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabSettings.java b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabSettings.java index 16b245ed..62642b7f 100644 --- a/PlayFabServerSDK/src/main/java/com/playfab/PlayFabSettings.java +++ b/PlayFabServerSDK/src/main/java/com/playfab/PlayFabSettings.java @@ -8,9 +8,9 @@ import com.playfab.PlayFabErrors.ErrorCallback; public class PlayFabSettings { - public static String SdkVersion = "0.87.190312"; - public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_0"; - public static String SdkVersionString = "JavaSDK-0.87.190312"; + public static String SdkVersion = "0.88.190410"; + public static String BuildIdentifier = "jbuild_javasdk__sdk-genericslave-2_2"; + public static String SdkVersionString = "JavaSDK-0.88.190410"; public static Map RequestGetParams; static {