diff --git a/PlayFabSDK/source/IPlayFabAddonInstanceAPI.cs b/PlayFabSDK/source/IPlayFabAddonInstanceAPI.cs new file mode 100644 index 00000000..d6d97c9c --- /dev/null +++ b/PlayFabSDK/source/IPlayFabAddonInstanceAPI.cs @@ -0,0 +1,257 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.AddonModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs for managing addons. + /// + public interface IPlayFabAddonInstanceAPI + { + /// + /// Creates the Apple addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateAppleAsync( + CreateOrUpdateAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Facebook addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateFacebookAsync( + CreateOrUpdateFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Facebook Instant Games addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateFacebookInstantGamesAsync( + CreateOrUpdateFacebookInstantGamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Google addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateGoogleAsync( + CreateOrUpdateGoogleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Kongregate addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateKongregateAsync( + CreateOrUpdateKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Nintendo addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateNintendoAsync( + CreateOrUpdateNintendoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the PSN addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdatePSNAsync( + CreateOrUpdatePSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Steam addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateSteamAsync( + CreateOrUpdateSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the ToxMod addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateToxModAsync( + CreateOrUpdateToxModRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Twitch addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateTwitchAsync( + CreateOrUpdateTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Apple addon on a title. + /// + Task> DeleteAppleAsync( + DeleteAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Facebook addon on a title. + /// + Task> DeleteFacebookAsync( + DeleteFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Facebook addon on a title. + /// + Task> DeleteFacebookInstantGamesAsync( + DeleteFacebookInstantGamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Google addon on a title. + /// + Task> DeleteGoogleAsync( + DeleteGoogleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Kongregate addon on a title. + /// + Task> DeleteKongregateAsync( + DeleteKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Nintendo addon on a title. + /// + Task> DeleteNintendoAsync( + DeleteNintendoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the PSN addon on a title. + /// + Task> DeletePSNAsync( + DeletePSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Steam addon on a title. + /// + Task> DeleteSteamAsync( + DeleteSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the ToxMod addon on a title. + /// + Task> DeleteToxModAsync( + DeleteToxModRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Twitch addon on a title. + /// + Task> DeleteTwitchAsync( + DeleteTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Apple addon on a title, omits secrets. + /// + Task> GetAppleAsync( + GetAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Facebook addon on a title, omits secrets. + /// + Task> GetFacebookAsync( + GetFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Facebook Instant Games addon on a title, omits secrets. + /// + Task> GetFacebookInstantGamesAsync( + GetFacebookInstantGamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Google addon on a title, omits secrets. + /// + Task> GetGoogleAsync( + GetGoogleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Kongregate addon on a title, omits secrets. + /// + Task> GetKongregateAsync( + GetKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Nintendo addon on a title, omits secrets. + /// + Task> GetNintendoAsync( + GetNintendoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the PSN addon on a title, omits secrets. + /// + Task> GetPSNAsync( + GetPSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Steam addon on a title, omits secrets. + /// + Task> GetSteamAsync( + GetSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the ToxMod addon on a title, omits secrets. + /// + Task> GetToxModAsync( + GetToxModRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Twitch addon on a title, omits secrets. + /// + Task> GetTwitchAsync( + GetTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabAdminInstanceAPI.cs b/PlayFabSDK/source/IPlayFabAdminInstanceAPI.cs new file mode 100644 index 00000000..e3a2c923 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabAdminInstanceAPI.cs @@ -0,0 +1,1004 @@ +#if ENABLE_PLAYFABADMIN_API + +using PlayFab.AdminModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs for managing title configurations, uploaded Game Server code executables, and user data + /// + public interface IPlayFabAdminInstanceAPI + { + /// + /// Abort an ongoing task instance. + /// + Task> AbortTaskInstanceAsync( + AbortTaskInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update news item to include localized version + /// + Task> AddLocalizedNewsAsync( + AddLocalizedNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a new news item to the title's news feed + /// + Task> AddNewsAsync( + AddNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> AddPlayerTagAsync( + AddPlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the specified virtual currency by the stated amount + /// + Task> AddUserVirtualCurrencyAsync( + AddUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum + /// value of 2,147,483,647 when granted to a player. Any value over that will be discarded. + /// + Task> AddVirtualCurrencyTypesAsync( + AddVirtualCurrencyTypesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + /// + Task> BanUsersAsync( + BanUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Checks the global count for the limited edition item. + /// + Task> CheckLimitedEditionItemAvailabilityAsync( + CheckLimitedEditionItemAvailabilityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create an ActionsOnPlayersInSegment task, which iterates through all players in a segment to execute action. + /// + Task> CreateActionsOnPlayersInSegmentTaskAsync( + CreateActionsOnPlayerSegmentTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a CloudScript task, which can run a CloudScript on a schedule. + /// + Task> CreateCloudScriptTaskAsync( + CreateCloudScriptTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a Insights Scheduled Scaling task, which can scale Insights Performance Units on a schedule + /// + Task> CreateInsightsScheduledScalingTaskAsync( + CreateInsightsScheduledScalingTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers a relationship between a title and an Open ID Connect provider. + /// + Task> CreateOpenIdConnectionAsync( + CreateOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new Player Shared Secret Key. It may take up to 5 minutes for this key to become generally available after + /// this API returns. + /// + Task> CreatePlayerSharedSecretAsync( + CreatePlayerSharedSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a new player statistic configuration to the title, optionally allowing the developer to specify a reset interval + /// and an aggregation method. + /// + Task> CreatePlayerStatisticDefinitionAsync( + CreatePlayerStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new player segment by defining the conditions on player properties. Also, create actions to target the player + /// segments for a title. + /// + Task> CreateSegmentAsync( + CreateSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a content file from the title. When deleting a file that does not exist, it returns success. + /// + Task> DeleteContentAsync( + DeleteContentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a master player account entirely from all titles and deletes all associated data + /// + Task> DeleteMasterPlayerAccountAsync( + DeleteMasterPlayerAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage + /// + Task> DeleteMasterPlayerEventDataAsync( + DeleteMasterPlayerEventDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a player's subscription + /// + Task> DeleteMembershipSubscriptionAsync( + DeleteMembershipSubscriptionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a relationship between a title and an OpenID Connect provider. + /// + Task> DeleteOpenIdConnectionAsync( + DeleteOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a user's player account from a title and deletes all associated data + /// + Task> DeletePlayerAsync( + DeletePlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes title-specific custom properties for a player + /// + Task> DeletePlayerCustomPropertiesAsync( + DeletePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing Player Shared Secret Key. It may take up to 5 minutes for this delete to be reflected after this API + /// returns. + /// + Task> DeletePlayerSharedSecretAsync( + DeletePlayerSharedSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing player segment and its associated action(s) for a title. + /// + Task> DeleteSegmentAsync( + DeleteSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Deletes an existing virtual item store + /// + Task> DeleteStoreAsync( + DeleteStoreRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a task. + /// + Task> DeleteTaskAsync( + DeleteTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Permanently deletes a title and all associated configuration + /// + Task> DeleteTitleAsync( + DeleteTitleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a specified set of title data overrides. + /// + Task> DeleteTitleDataOverrideAsync( + DeleteTitleDataOverrideRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Exports all associated data of a master player account + /// + Task> ExportMasterPlayerDataAsync( + ExportMasterPlayerDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Starts an export for the player profiles in a segment. This API creates a snapshot of all the player profiles which + /// match the segment definition at the time of the API call. Profiles which change while an export is in progress will not + /// be reflected in the results. + /// + Task> ExportPlayersInSegmentAsync( + ExportPlayersInSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get information about a ActionsOnPlayersInSegment task instance. + /// + Task> GetActionsOnPlayersInSegmentTaskInstanceAsync( + GetTaskInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as + /// GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + /// + Task> GetAllSegmentsAsync( + GetAllSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + /// + Task> GetCatalogItemsAsync( + GetCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the contents and information of a specific Cloud Script revision. + /// + Task> GetCloudScriptRevisionAsync( + GetCloudScriptRevisionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get detail information about a CloudScript task instance. + /// + Task> GetCloudScriptTaskInstanceAsync( + GetTaskInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all the current cloud script versions. For each version, information about the current published and latest + /// revisions is also listed. + /// + Task> GetCloudScriptVersionsAsync( + GetCloudScriptVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all contents of the title and get statistics such as size + /// + Task> GetContentListAsync( + GetContentListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the pre-signed URL for uploading a content file. A subsequent HTTP PUT to the returned URL uploads the + /// content. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN + /// rates apply. + /// + Task> GetContentUploadUrlAsync( + GetContentUploadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a download URL for the requested report + /// + Task> GetDataReportAsync( + GetDataReportRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the list of titles that the player has played + /// + Task> GetPlayedTitleListAsync( + GetPlayedTitleListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a title-specific custom property value for a player. + /// + Task> GetPlayerCustomPropertyAsync( + GetPlayerCustomPropertyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a player's ID from an auth token. + /// + Task> GetPlayerIdFromAuthTokenAsync( + GetPlayerIdFromAuthTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the player's profile + /// + Task> GetPlayerProfileAsync( + GetPlayerProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all segments that a player currently belongs to at this moment in time. + /// + Task> GetPlayerSegmentsAsync( + GetPlayersSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns all Player Shared Secret Keys including disabled and expired. + /// + Task> GetPlayerSharedSecretsAsync( + GetPlayerSharedSecretsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match + /// the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span + /// on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected + /// in the results. AB Test segments are currently not supported by this operation. NOTE: This API is limited to being + /// called 30 times in one minute. You will be returned an error if you exceed this threshold. + /// + Task> GetPlayersInSegmentAsync( + GetPlayersInSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the configuration information for all player statistics defined in the title, regardless of whether they have + /// a reset interval. + /// + Task> GetPlayerStatisticDefinitionsAsync( + GetPlayerStatisticDefinitionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the information on the available versions of the specified statistic. + /// + Task> GetPlayerStatisticVersionsAsync( + GetPlayerStatisticVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all tags with a given Namespace (optional) from a player profile. + /// + Task> GetPlayerTagsAsync( + GetPlayerTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the requested policy. + /// + Task> GetPolicyAsync( + GetPolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom publisher settings + /// + Task> GetPublisherDataAsync( + GetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the random drop table configuration for the title + /// + Task> GetRandomResultTablesAsync( + GetRandomResultTablesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the result of an export started by ExportPlayersInSegment API. If the ExportPlayersInSegment is successful and + /// complete, this API returns the IndexUrl from which the index file can be downloaded. The index file has a list of urls + /// from which the files containing the player profile data can be downloaded. Otherwise, it returns the current 'State' of + /// the export + /// + Task> GetSegmentExportAsync( + GetPlayersInSegmentExportRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get detail information of a segment and its associated definition(s) and action(s) for a title. + /// + Task> GetSegmentsAsync( + GetSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the set of items defined for the specified store, including all prices defined + /// + Task> GetStoreItemsAsync( + GetStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Query for task instances by task, status, or time range. + /// + Task> GetTaskInstancesAsync( + GetTaskInstancesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get definition information on a specified task or all tasks within a title. + /// + Task> GetTasksAsync( + GetTasksRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings which can be read by the client + /// + Task> GetTitleDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings which cannot be read by the client + /// + Task> GetTitleInternalDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the relevant details for a specified user, based upon a match against a supplied unique identifier + /// + Task> GetUserAccountInfoAsync( + LookupUserAccountInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets all bans for a user. + /// + Task> GetUserBansAsync( + GetUserBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified user's current inventory of virtual goods + /// + Task> GetUserInventoryAsync( + GetUserInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserPublisherDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserPublisherInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which can only be read by the client + /// + Task> GetUserPublisherReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which can only be read by the client + /// + Task> GetUserReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified user inventories + /// + Task> GrantItemsToUsersAsync( + GrantItemsToUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increases the global count for the given scarce resource. + /// + Task> IncrementLimitedEditionItemAvailabilityAsync( + IncrementLimitedEditionItemAvailabilityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Resets the indicated statistic, removing all player entries for it and backing up the old values. + /// + Task> IncrementPlayerStatisticVersionAsync( + IncrementPlayerStatisticVersionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of all Open ID Connect providers registered to a title. + /// + Task> ListOpenIdConnectionAsync( + ListOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves title-specific custom property values for a player. + /// + Task> ListPlayerCustomPropertiesAsync( + ListPlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retuns the list of all defined virtual currencies for the title + /// + Task> ListVirtualCurrencyTypesAsync( + ListVirtualCurrencyTypesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Attempts to process an order refund through the original real money payment provider. + /// + Task> RefundPurchaseAsync( + RefundPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> RemovePlayerTagAsync( + RemovePlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Removes one or more virtual currencies from the set defined for the title. + /// + Task> RemoveVirtualCurrencyTypesAsync( + RemoveVirtualCurrencyTypesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Completely removes all statistics for the specified character, for the current game + /// + Task> ResetCharacterStatisticsAsync( + ResetCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Reset a player's password for a given title. + /// + Task> ResetPasswordAsync( + ResetPasswordRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Completely removes all statistics for the specified user, for the current game + /// + Task> ResetUserStatisticsAsync( + ResetUserStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Attempts to resolve a dispute with the original order's payment provider. + /// + Task> ResolvePurchaseDisputeAsync( + ResolvePurchaseDisputeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans for a user. + /// + Task> RevokeAllBansForUserAsync( + RevokeAllBansForUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans specified with BanId. + /// + Task> RevokeBansAsync( + RevokeBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access to an item in a user's inventory + /// + Task> RevokeInventoryItemAsync( + RevokeInventoryItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access for up to 25 items across multiple users and characters. + /// + Task> RevokeInventoryItemsAsync( + RevokeInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Run a task immediately regardless of its schedule. + /// + Task> RunTaskAsync( + RunTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to + /// change the password.If an account recovery email template ID is provided, an email using the custom email template will + /// be used. + /// + Task> SendAccountRecoveryEmailAsync( + SendAccountRecoveryEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Creates the catalog configuration of all virtual goods for the specified catalog version + /// + Task> SetCatalogItemsAsync( + UpdateCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the override expiration for a membership subscription + /// + Task> SetMembershipOverrideAsync( + SetMembershipOverrideRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets or resets the player's secret. Player secrets are used to sign API requests. + /// + Task> SetPlayerSecretAsync( + SetPlayerSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the currently published revision of a title Cloud Script + /// + Task> SetPublishedRevisionAsync( + SetPublishedRevisionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom publisher settings + /// + Task> SetPublisherDataAsync( + SetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Sets all the items in one virtual store + /// + Task> SetStoreItemsAsync( + UpdateStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the key-value store of custom title settings 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. + /// + Task> SetTitleDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Set and delete key-value pairs in a title data override instance. + /// + Task> SetTitleDataAndOverridesAsync( + SetTitleDataAndOverridesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom title settings which cannot be read by the client. These values can be used to + /// tweak settings used by game servers and Cloud Scripts without the need to update and re-deploy. + /// + Task> SetTitleInternalDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the Amazon Resource Name (ARN) for iOS and Android push notifications. Documentation on the exact restrictions can + /// be found at: http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html. Currently, Amazon device + /// Messaging is not supported. + /// + Task> SetupPushNotificationAsync( + SetupPushNotificationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the specified virtual currency by the stated amount + /// + Task> SubtractUserVirtualCurrencyAsync( + SubtractUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates information of a list of existing bans specified with Ban Ids. + /// + Task> UpdateBansAsync( + UpdateBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates the catalog configuration for virtual goods in the specified catalog version + /// + Task> UpdateCatalogItemsAsync( + UpdateCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new Cloud Script revision and uploads source code to it. Note that at this time, only one file should be + /// submitted in the revision. + /// + Task> UpdateCloudScriptAsync( + UpdateCloudScriptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Modifies data and credentials for an existing relationship between a title and an Open ID Connect provider + /// + Task> UpdateOpenIdConnectionAsync( + UpdateOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom property values for a player + /// + Task> UpdatePlayerCustomPropertiesAsync( + UpdatePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a existing Player Shared Secret Key. It may take up to 5 minutes for this update to become generally available + /// after this API returns. + /// + Task> UpdatePlayerSharedSecretAsync( + UpdatePlayerSharedSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a player statistic configuration for the title, optionally allowing the developer to specify a reset interval. + /// + Task> UpdatePlayerStatisticDefinitionAsync( + UpdatePlayerStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Changes a policy for a title + /// + Task> UpdatePolicyAsync( + UpdatePolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates the random drop table configuration for the title + /// + Task> UpdateRandomResultTablesAsync( + UpdateRandomResultTablesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates an existing player segment and its associated definition(s) and action(s) for a title. + /// + Task> UpdateSegmentAsync( + UpdateSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates an existing virtual item store with new or modified items + /// + Task> UpdateStoreItemsAsync( + UpdateStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update an existing task. + /// + Task> UpdateTaskAsync( + UpdateTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserPublisherDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserPublisherInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserPublisherReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title specific display name for a user + /// + Task> UpdateUserTitleDisplayNameAsync( + UpdateUserTitleDisplayNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabAuthenticationInstanceAPI.cs b/PlayFabSDK/source/IPlayFabAuthenticationInstanceAPI.cs new file mode 100644 index 00000000..ef15cba3 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabAuthenticationInstanceAPI.cs @@ -0,0 +1,53 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.AuthenticationModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// The Authentication APIs provide a convenient way to convert classic authentication responses into entity authentication + /// models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. The + /// game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be + /// used to call Matchmaking Lobby and Pubsub for server scenarios. + /// + public interface IPlayFabAuthenticationInstanceAPI + { + /// + /// Create a game_server entity token and return a new or existing game_server entity. + /// + Task> AuthenticateGameServerWithCustomIdAsync( + AuthenticateCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a game_server entity. + /// + Task> DeleteAsync( + DeleteRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Method to exchange a legacy AuthenticationTicket or title SecretKey for an Entity Token or to refresh a still valid + /// Entity Token. + /// + Task> GetEntityTokenAsync( + GetEntityTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Method for a server to validate a client provided EntityToken. Only callable by the title entity. + /// + Task> ValidateEntityTokenAsync( + ValidateEntityTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabClientInstanceAPI.cs b/PlayFabSDK/source/IPlayFabClientInstanceAPI.cs new file mode 100644 index 00000000..8785f524 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabClientInstanceAPI.cs @@ -0,0 +1,1524 @@ +#if !DISABLE_PLAYFABCLIENT_API + +using PlayFab.ClientModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs which provide the full range of PlayFab features available to the client - authentication, account and data + /// management, inventory, friends, matchmaking, reporting, and platform-specific functionality + /// + public interface IPlayFabClientInstanceAPI + { + /// + /// Accepts an open trade (one that has not yet been accepted or cancelled), if the locally signed-in player is in the + /// allowed player list for the trade, or it is open to all players. If the call is successful, the offered and accepted + /// items will be swapped between the two players' inventories. + /// + Task> AcceptTradeAsync( + AcceptTradeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the PlayFab user, based upon a match against a supplied unique identifier, to the friend list of the local user. At + /// least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + /// + Task> AddFriendAsync( + AddFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab + /// ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as + /// authentication credentials, as the intent is that it is easily accessible by other players. + /// + Task> AddGenericIDAsync( + AddGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds or updates a contact email to the player's profile. + /// + Task> AddOrUpdateContactEmailAsync( + AddOrUpdateContactEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users + /// in the group can add new members. Shared Groups are designed for sharing data between a very small number of players, + /// please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> AddSharedGroupMembersAsync( + AddSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device + /// ID login. + /// + Task> AddUsernamePasswordAsync( + AddUsernamePasswordRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the user's balance of the specified virtual currency by the stated amount + /// + Task> AddUserVirtualCurrencyAsync( + AddUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers the Android device to receive push notifications + /// + Task> AndroidDevicePushNotificationRegistrationAsync( + AndroidDevicePushNotificationRegistrationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Attributes an install for advertisment. + /// + Task> AttributeInstallAsync( + AttributeInstallRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancels an open trade (one that has not yet been accepted or cancelled). Note that only the player who created the trade + /// can cancel it via this API call, to prevent griefing of the trade system (cancelling trades in order to prevent other + /// players from accepting them, for trades that can be claimed by more than one player). + /// + Task> CancelTradeAsync( + CancelTradeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and + /// virtual currency balances as appropriate + /// + Task> ConfirmPurchaseAsync( + ConfirmPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's + /// inventory. + /// + Task> ConsumeItemAsync( + ConsumeItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the player's current entitlements from Microsoft Store's Collection API + /// + Task> ConsumeMicrosoftStoreEntitlementsAsync( + ConsumeMicrosoftStoreEntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Checks for any new consumable entitlements. If any are found, they are consumed (if they're consumables) and added as + /// PlayFab items + /// + Task> ConsumePS5EntitlementsAsync( + ConsumePS5EntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Checks for any new consumable entitlements. If any are found, they are consumed and added as PlayFab items + /// + Task> ConsumePSNEntitlementsAsync( + ConsumePSNEntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the player's current entitlements from Xbox Live, consuming all availble items in Xbox and granting them to the + /// player's PlayFab inventory. This call is idempotent and will not grant previously granted items to the player. + /// + Task> ConsumeXboxEntitlementsAsync( + ConsumeXboxEntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the + /// group. Upon creation, the current user will be the only member of the group. Shared Groups are designed for sharing data + /// between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> CreateSharedGroupAsync( + CreateSharedGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes title-specific custom properties for a player + /// + Task> DeletePlayerCustomPropertiesAsync( + DeletePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. The + /// PlayFab ID is the entity ID of the player's master_player_account entity. + /// + Task> ExecuteCloudScriptAsync( + ExecuteCloudScriptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the user's PlayFab account details + /// + Task> GetAccountInfoAsync( + GetAccountInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns a list of ad placements and a reward for each + /// + Task> GetAdPlacementsAsync( + GetAdPlacementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be + /// evaluated with the parent PlayFabId to guarantee uniqueness. + /// + Task> GetAllUsersCharactersAsync( + ListUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + /// + Task> GetCatalogItemsAsync( + GetCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the character which is readable and writable by the client + /// + Task> GetCharacterDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified character's current inventory of virtual goods + /// + Task> GetCharacterInventoryAsync( + GetCharacterInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetCharacterLeaderboardAsync( + GetCharacterLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the character which can only be read by the client + /// + Task> GetCharacterReadOnlyDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the details of all title-specific statistics for the user + /// + Task> GetCharacterStatisticsAsync( + GetCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned + /// URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the + /// content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, + /// the query to retrieve the data will fail. See this post for more information: + /// https://community.playfab.com/hc/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, + /// please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + /// + Task> GetContentDownloadUrlAsync( + GetContentDownloadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in + /// the leaderboard + /// + Task> GetFriendLeaderboardAsync( + GetFriendLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked friends of the current player for the given statistic, centered on the requested PlayFab + /// user. If PlayFabId is empty or null will return currently logged in user. + /// + Task> GetFriendLeaderboardAroundPlayerAsync( + GetFriendLeaderboardAroundPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current friend list for the local user, constrained to users who have PlayFab accounts. Friends from + /// linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + /// + Task> GetFriendsListAsync( + GetFriendsListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetLeaderboardAsync( + GetLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID + /// + Task> GetLeaderboardAroundCharacterAsync( + GetLeaderboardAroundCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or + /// null will return currently logged in user. + /// + Task> GetLeaderboardAroundPlayerAsync( + GetLeaderboardAroundPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of all of the user's characters for the given statistic. + /// + Task> GetLeaderboardForUserCharactersAsync( + GetLeaderboardForUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ For payments flows where the provider requires playfab (the fulfiller) to initiate the transaction, but the + /// client completes the rest of the flow. In the Xsolla case, the token returned here will be passed to Xsolla by the + /// client to create a cart. Poll GetPurchase using the returned OrderId once you've completed the payment. + /// + Task> GetPaymentTokenAsync( + GetPaymentTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See + /// https://docs.microsoft.com/gaming/playfab/features/multiplayer/photon/quickstart for more details. + /// + Task> GetPhotonAuthenticationTokenAsync( + GetPhotonAuthenticationTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves all of the user's different kinds of info. + /// + Task> GetPlayerCombinedInfoAsync( + GetPlayerCombinedInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a title-specific custom property value for a player. + /// + Task> GetPlayerCustomPropertyAsync( + GetPlayerCustomPropertyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the player's profile + /// + Task> GetPlayerProfileAsync( + GetPlayerProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all segments that a player currently belongs to at this moment in time. + /// + Task> GetPlayerSegmentsAsync( + GetPlayerSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local + /// player. + /// + Task> GetPlayerStatisticsAsync( + GetPlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the information on the available versions of the specified statistic. + /// + Task> GetPlayerStatisticVersionsAsync( + GetPlayerStatisticVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all tags with a given Namespace (optional) from a player profile. + /// + Task> GetPlayerTagsAsync( + GetPlayerTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets all trades the player has either opened or accepted, optionally filtered by trade status. + /// + Task> GetPlayerTradesAsync( + GetPlayerTradesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Battle.net account identifiers. + /// + Task> GetPlayFabIDsFromBattleNetAccountIdsAsync( + GetPlayFabIDsFromBattleNetAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + /// + Task> GetPlayFabIDsFromFacebookIDsAsync( + GetPlayFabIDsFromFacebookIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Game identifiers. + /// + Task> GetPlayFabIDsFromFacebookInstantGamesIdsAsync( + GetPlayFabIDsFromFacebookInstantGamesIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Game Center identifiers (referenced in the Game Center + /// Programming Guide as the Player Identifier). + /// + Task> GetPlayFabIDsFromGameCenterIDsAsync( + GetPlayFabIDsFromGameCenterIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the + /// service name plus the service-specific ID for the player, as specified by the title when the generic identifier was + /// added to the player account. + /// + Task> GetPlayFabIDsFromGenericIDsAsync( + GetPlayFabIDsFromGenericIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Google identifiers. The Google identifiers are the IDs for + /// the user accounts, available as "id" in the Google+ People API calls. + /// + Task> GetPlayFabIDsFromGoogleIDsAsync( + GetPlayFabIDsFromGoogleIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Google Play Games identifiers. The Google Play Games + /// identifiers are the IDs for the user accounts, available as "playerId" in the Google Play Games Services - Players API + /// calls. + /// + Task> GetPlayFabIDsFromGooglePlayGamesPlayerIDsAsync( + GetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Kongregate identifiers. The Kongregate identifiers are the + /// IDs for the user accounts, available as "user_id" from the Kongregate API methods(ex: + /// http://developers.kongregate.com/docs/client/getUserId). + /// + Task> GetPlayFabIDsFromKongregateIDsAsync( + GetPlayFabIDsFromKongregateIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers. + /// + Task> GetPlayFabIDsFromNintendoServiceAccountIdsAsync( + GetPlayFabIDsFromNintendoServiceAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers. + /// + Task> GetPlayFabIDsFromNintendoSwitchDeviceIdsAsync( + GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNAccountIDsAsync( + GetPlayFabIDsFromPSNAccountIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNOnlineIDsAsync( + GetPlayFabIDsFromPSNOnlineIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile + /// IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + /// + Task> GetPlayFabIDsFromSteamIDsAsync( + GetPlayFabIDsFromSteamIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona + /// names. + /// + Task> GetPlayFabIDsFromSteamNamesAsync( + GetPlayFabIDsFromSteamNamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for + /// the user accounts, available as "_id" from the Twitch API methods (ex: + /// https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). + /// + Task> GetPlayFabIDsFromTwitchIDsAsync( + GetPlayFabIDsFromTwitchIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. + /// + Task> GetPlayFabIDsFromXboxLiveIDsAsync( + GetPlayFabIDsFromXboxLiveIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom publisher settings + /// + Task> GetPublisherDataAsync( + GetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that + /// are still active. + /// + Task> GetPurchaseAsync( + GetPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves data stored in a shared group object, as well as the list of members in the group. Non-members of the group + /// may use this to retrieve group data, including membership, but they will not receive data for keys marked as private. + /// Shared Groups are designed for sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> GetSharedGroupDataAsync( + GetSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the set of items defined for the specified store, including all prices defined + /// + Task> GetStoreItemsAsync( + GetStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current server time + /// + Task> GetTimeAsync( + GetTimeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings + /// + Task> GetTitleDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title news feed, as configured in the developer portal + /// + Task> GetTitleNewsAsync( + GetTitleNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns the title's base 64 encoded RSA CSP blob. + /// + Task> GetTitlePublicKeyAsync( + GetTitlePublicKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the current status of an existing trade. + /// + Task> GetTradeStatusAsync( + GetTradeStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the user's current inventory of virtual goods + /// + Task> GetUserInventoryAsync( + GetUserInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserPublisherDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which can only be read by the client + /// + Task> GetUserPublisherReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which can only be read by the client + /// + Task> GetUserReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated + /// with the parent PlayFabId to guarantee uniqueness. + /// + Task> GrantCharacterToUserAsync( + GrantCharacterToUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Android device identifier to the user's PlayFab account + /// + Task> LinkAndroidDeviceIDAsync( + LinkAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Apple account associated with the token to the user's PlayFab account. + /// + Task> LinkAppleAsync( + LinkAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Battle.net account associated with the token to the user's PlayFab account. + /// + Task> LinkBattleNetAccountAsync( + LinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the custom identifier, generated by the title, to the user's PlayFab account + /// + Task> LinkCustomIDAsync( + LinkCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account + /// + Task> LinkFacebookAccountAsync( + LinkFacebookAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Facebook Instant Games Id to the user's PlayFab account + /// + Task> LinkFacebookInstantGamesIdAsync( + LinkFacebookInstantGamesIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account. Logging in with + /// a Game Center ID is insecure if you do not include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters + /// in this request. It is recommended you require these parameters on all Game Center calls by going to the Apple Add-ons + /// page in the PlayFab Game Manager and enabling the 'Require secure authentication only for this app' option. + /// + Task> LinkGameCenterAccountAsync( + LinkGameCenterAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the currently signed-in user account to their Google account, using their Google account credentials + /// + Task> LinkGoogleAccountAsync( + LinkGoogleAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the currently signed-in user account to their Google Play Games account, using their Google Play Games account + /// credentials + /// + Task> LinkGooglePlayGamesServicesAccountAsync( + LinkGooglePlayGamesServicesAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the vendor-specific iOS device identifier to the user's PlayFab account + /// + Task> LinkIOSDeviceIDAsync( + LinkIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Kongregate identifier to the user's PlayFab account + /// + Task> LinkKongregateAsync( + LinkKongregateAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Nintendo account associated with the token to the user's PlayFab account. + /// + Task> LinkNintendoServiceAccountAsync( + LinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the NintendoSwitchDeviceId to the user's PlayFab account + /// + Task> LinkNintendoSwitchDeviceIdAsync( + LinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links an OpenID Connect account to a user's PlayFab account, based on an existing relationship between a title and an + /// Open ID Connect provider and the OpenId Connect JWT from that provider. + /// + Task> LinkOpenIdConnectAsync( + LinkOpenIdConnectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the PlayStation :tm: Network account associated with the provided access code to the user's PlayFab account + /// + Task> LinkPSNAccountAsync( + LinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account + /// + Task> LinkSteamAccountAsync( + LinkSteamAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Twitch account associated with the token to the user's PlayFab account. + /// + Task> LinkTwitchAsync( + LinkTwitchAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Xbox Live account associated with the provided access code to the user's PlayFab account + /// + Task> LinkXboxAccountAsync( + LinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves title-specific custom property values for a player. + /// + Task> ListPlayerCustomPropertiesAsync( + ListPlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithAndroidDeviceIDAsync( + LoginWithAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs in the user with a Sign in with Apple identity token. + /// + Task> LoginWithAppleAsync( + LoginWithAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sign in the user with a Battle.net identity token + /// + Task> LoginWithBattleNetAsync( + LoginWithBattleNetRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithCustomIDAsync( + LoginWithCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls + /// which require an authenticated user. Unlike most other login API calls, LoginWithEmailAddress does not permit the + /// creation of new accounts via the CreateAccountFlag. Email addresses may be used to create accounts via + /// RegisterPlayFabUser. + /// + Task> LoginWithEmailAddressAsync( + LoginWithEmailAddressRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API + /// calls which require an authenticated user + /// + Task> LoginWithFacebookAsync( + LoginWithFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Facebook Instant Games ID, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user. Requires Facebook Instant Games to be configured. + /// + Task> LoginWithFacebookInstantGamesIdAsync( + LoginWithFacebookInstantGamesIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using an iOS Game Center player identifier, returning a session identifier that can subsequently be + /// used for API calls which require an authenticated user. Logging in with a Game Center ID is insecure if you do not + /// include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters in this request. It is recommended you + /// require these parameters on all Game Center calls by going to the Apple Add-ons page in the PlayFab Game Manager and + /// enabling the 'Require secure authentication only for this app' option. + /// + Task> LoginWithGameCenterAsync( + LoginWithGameCenterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using their Google account credentials + /// + Task> LoginWithGoogleAccountAsync( + LoginWithGoogleAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using their Google Play Games account credentials + /// + Task> LoginWithGooglePlayGamesServicesAsync( + LoginWithGooglePlayGamesServicesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the vendor-specific iOS device identifier, returning a session identifier that can subsequently + /// be used for API calls which require an authenticated user + /// + Task> LoginWithIOSDeviceIDAsync( + LoginWithIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Kongregate player account. + /// + Task> LoginWithKongregateAsync( + LoginWithKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs in the user with a Nintendo service account token. + /// + Task> LoginWithNintendoServiceAccountAsync( + LoginWithNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Nintendo Switch Device ID, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithNintendoSwitchDeviceIdAsync( + LoginWithNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Logs in a user with an Open ID Connect JWT created by an existing relationship between a title and an Open ID Connect + /// provider. + /// + Task> LoginWithOpenIdConnectAsync( + LoginWithOpenIdConnectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls + /// which require an authenticated user. Unlike most other login API calls, LoginWithPlayFab does not permit the creation of + /// new accounts via the CreateAccountFlag. Username/Password credentials may be used to create accounts via + /// RegisterPlayFabUser, or added to existing accounts using AddUsernamePassword. + /// + Task> LoginWithPlayFabAsync( + LoginWithPlayFabRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithPSNAsync( + LoginWithPSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithSteamAsync( + LoginWithSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Twitch access token. + /// + Task> LoginWithTwitchAsync( + LoginWithTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls + /// which require an authenticated user + /// + Task> LoginWithXboxAsync( + LoginWithXboxRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Opens a new outstanding trade. Note that a given item instance may only be in one open trade at a time. + /// + Task> OpenTradeAsync( + OpenTradeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Selects a payment option for purchase order created via StartPurchase + /// + Task> PayForPurchaseAsync( + PayForPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Buys a single item with virtual currency. You must specify both the virtual currency to use to purchase, as + /// well as what the client believes the price to be. This lets the server fail the purchase if the price has changed. + /// + Task> PurchaseItemAsync( + PurchaseItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the + /// Economy->Catalogs tab in the PlayFab Game Manager. + /// + Task> RedeemCouponAsync( + RedeemCouponRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Uses the supplied OAuth code to refresh the internally cached player PlayStation :tm: Network auth token + /// + Task> RefreshPSNAuthTokenAsync( + RefreshPSNAuthTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers the iOS device to receive push notifications + /// + Task> RegisterForIOSPushNotificationAsync( + RegisterForIOSPushNotificationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which + /// require an authenticated user. You must supply a username and an email address. + /// + Task> RegisterPlayFabUserAsync( + RegisterPlayFabUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a contact email from the player's profile. + /// + Task> RemoveContactEmailAsync( + RemoveContactEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a specified user from the friend list of the local user + /// + Task> RemoveFriendAsync( + RemoveFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes the specified generic service identifier from the player's PlayFab account. + /// + Task> RemoveGenericIDAsync( + RemoveGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the + /// group can remove members. If as a result of the call, zero users remain with access, the group and its associated data + /// will be deleted. Shared Groups are designed for sharing data between a very small number of players, please see our + /// guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> RemoveSharedGroupMembersAsync( + RemoveSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Report player's ad activity + /// + Task> ReportAdActivityAsync( + ReportAdActivityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Write a PlayStream event to describe the provided player device information. This API method is not designed to be + /// called directly by developers. Each PlayFab client SDK will eventually report this information automatically. + /// + Task> ReportDeviceInfoAsync( + DeviceInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report for another player (due to bad bahavior, etc.), so that customer service representatives for the title + /// can take action concerning potentially toxic players. + /// + Task> ReportPlayerAsync( + ReportPlayerClientRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Restores all in-app purchases based on the given restore receipt + /// + Task> RestoreIOSPurchasesAsync( + RestoreIOSPurchasesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Reward player's ad activity + /// + Task> RewardAdActivityAsync( + RewardAdActivityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to + /// change the password.If an account recovery email template ID is provided, an email using the custom email template will + /// be used. + /// + Task> SendAccountRecoveryEmailAsync( + SendAccountRecoveryEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the tag list for a specified user in the friend list of the local user + /// + Task> SetFriendTagsAsync( + SetFriendTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's + /// secret use the Admin or Server API method SetPlayerSecret. + /// + Task> SetPlayerSecretAsync( + SetPlayerSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Creates an order for a list of items from the title catalog + /// + Task> StartPurchaseAsync( + StartPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make + /// a VC balance negative with this API. + /// + Task> SubtractUserVirtualCurrencyAsync( + SubtractUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Android device identifier from the user's PlayFab account + /// + Task> UnlinkAndroidDeviceIDAsync( + UnlinkAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Apple account from the user's PlayFab account. + /// + Task> UnlinkAppleAsync( + UnlinkAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Battle.net account from the user's PlayFab account. + /// + Task> UnlinkBattleNetAccountAsync( + UnlinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related custom identifier from the user's PlayFab account + /// + Task> UnlinkCustomIDAsync( + UnlinkCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Facebook account from the user's PlayFab account + /// + Task> UnlinkFacebookAccountAsync( + UnlinkFacebookAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Facebook Instant Game Ids from the user's PlayFab account + /// + Task> UnlinkFacebookInstantGamesIdAsync( + UnlinkFacebookInstantGamesIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Game Center account from the user's PlayFab account + /// + Task> UnlinkGameCenterAccountAsync( + UnlinkGameCenterAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Google account from the user's PlayFab account + /// (https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil#public-methods). + /// + Task> UnlinkGoogleAccountAsync( + UnlinkGoogleAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Google Play Games account from the user's PlayFab account. + /// + Task> UnlinkGooglePlayGamesServicesAccountAsync( + UnlinkGooglePlayGamesServicesAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related iOS device identifier from the user's PlayFab account + /// + Task> UnlinkIOSDeviceIDAsync( + UnlinkIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Kongregate identifier from the user's PlayFab account + /// + Task> UnlinkKongregateAsync( + UnlinkKongregateAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Nintendo account from the user's PlayFab account. + /// + Task> UnlinkNintendoServiceAccountAsync( + UnlinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account + /// + Task> UnlinkNintendoSwitchDeviceIdAsync( + UnlinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks an OpenID Connect account from a user's PlayFab account, based on the connection ID of an existing relationship + /// between a title and an Open ID Connect provider. + /// + Task> UnlinkOpenIdConnectAsync( + UnlinkOpenIdConnectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account + /// + Task> UnlinkPSNAccountAsync( + UnlinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Steam account from the user's PlayFab account + /// + Task> UnlinkSteamAccountAsync( + UnlinkSteamAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Twitch account from the user's PlayFab account. + /// + Task> UnlinkTwitchAsync( + UnlinkTwitchAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Xbox Live account from the user's PlayFab account + /// + Task> UnlinkXboxAccountAsync( + UnlinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Opens the specified container, with the specified key (when required), and returns the contents of the + /// opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will + /// be decremented, consistent with the operation of ConsumeItem. + /// + Task> UnlockContainerInstanceAsync( + UnlockContainerInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Searches target inventory for an ItemInstance matching the given CatalogItemId, if necessary unlocks it + /// using an appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are + /// consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + /// + Task> UnlockContainerItemAsync( + UnlockContainerItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the avatar URL of the player + /// + Task> UpdateAvatarUrlAsync( + UpdateAvatarUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the title-specific custom data for the user's character which is readable and writable by the client + /// + Task> UpdateCharacterDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the specific character. By default, clients are not + /// permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + /// + Task> UpdateCharacterStatisticsAsync( + UpdateCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom property values for a player + /// + Task> UpdatePlayerCustomPropertiesAsync( + UpdatePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the user. By default, clients are not permitted to + /// update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + /// + Task> UpdatePlayerStatisticsAsync( + UpdatePlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated + /// or added in this call will be readable by users not in the group. By default, data permissions are set to Private. + /// Regardless of the permission setting, only members of the group can update the data. Shared Groups are designed for + /// sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> UpdateSharedGroupDataAsync( + UpdateSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the title-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserPublisherDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title specific display name for the user + /// + Task> UpdateUserTitleDisplayNameAsync( + UpdateUserTitleDisplayNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches + /// the purchased catalog item + /// + Task> ValidateAmazonIAPReceiptAsync( + ValidateAmazonReceiptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates a Google Play purchase and gives the corresponding item to the player. + /// + Task> ValidateGooglePlayPurchaseAsync( + ValidateGooglePlayPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the + /// purchased catalog item + /// + Task> ValidateIOSReceiptAsync( + ValidateIOSReceiptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it + /// matches the purchased catalog item + /// + Task> ValidateWindowsStoreReceiptAsync( + ValidateWindowsReceiptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a character-based event into PlayStream. + /// + Task> WriteCharacterEventAsync( + WriteClientCharacterEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a player-based event into PlayStream. + /// + Task> WritePlayerEventAsync( + WriteClientPlayerEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a title-based event into PlayStream. + /// + Task> WriteTitleEventAsync( + WriteTitleEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabCloudScriptInstanceAPI.cs b/PlayFabSDK/source/IPlayFabCloudScriptInstanceAPI.cs new file mode 100644 index 00000000..d4b7931d --- /dev/null +++ b/PlayFabSDK/source/IPlayFabCloudScriptInstanceAPI.cs @@ -0,0 +1,139 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.CloudScriptModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// API methods for executing CloudScript using an Entity Profile + /// + public interface IPlayFabCloudScriptInstanceAPI + { + /// + /// Cloud Script is one of PlayFab's most versatile features. It allows client code to request execution of any kind of + /// custom server-side functionality you can implement, and it can be used in conjunction with virtually anything. + /// + Task> ExecuteEntityCloudScriptAsync( + ExecuteEntityCloudScriptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cloud Script is one of PlayFab's most versatile features. It allows client code to request execution of any kind of + /// custom server-side functionality you can implement, and it can be used in conjunction with virtually anything. + /// + Task> ExecuteFunctionAsync( + ExecuteFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets registered Azure Functions for a given title id and function name. + /// + Task> GetFunctionAsync( + GetFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered Event Hub triggered Azure Functions for a given title. + /// + Task> ListEventHubFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered Azure Functions for a given title. + /// + Task> ListFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered HTTP triggered Azure Functions for a given title. + /// + Task> ListHttpFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered Queue triggered Azure Functions for a given title. + /// + Task> ListQueuedFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate an entity PlayStream event for the provided function result. + /// + Task> PostFunctionResultForEntityTriggeredActionAsync( + PostFunctionResultForEntityTriggeredActionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate an entity PlayStream event for the provided function result. + /// + Task> PostFunctionResultForFunctionExecutionAsync( + PostFunctionResultForFunctionExecutionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate a player PlayStream event for the provided function result. + /// + Task> PostFunctionResultForPlayerTriggeredActionAsync( + PostFunctionResultForPlayerTriggeredActionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate a PlayStream event for the provided function result. + /// + Task> PostFunctionResultForScheduledTaskAsync( + PostFunctionResultForScheduledTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers an event hub triggered Azure Function with a title. + /// + Task> RegisterEventHubFunctionAsync( + RegisterEventHubFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers an HTTP triggered Azure function with a title. + /// + Task> RegisterHttpFunctionAsync( + RegisterHttpFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers a queue triggered Azure Function with a title. + /// + Task> RegisterQueuedFunctionAsync( + RegisterQueuedFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unregisters an Azure Function with a title. + /// + Task> UnregisterFunctionAsync( + UnregisterFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabDataInstanceAPI.cs b/PlayFabSDK/source/IPlayFabDataInstanceAPI.cs new file mode 100644 index 00000000..0c346912 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabDataInstanceAPI.cs @@ -0,0 +1,76 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.DataModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Store arbitrary data associated with an entity. Objects are small (~1KB) JSON-compatible objects which are stored + /// directly on the entity profile. Objects are made available for use in other PlayFab contexts, such as PlayStream events + /// and CloudScript functions. Files can efficiently store data of any size or format. Both objects and files support a + /// flexible permissions system to control read and write access by other entities. + /// + public interface IPlayFabDataInstanceAPI + { + /// + /// Abort pending file uploads to an entity's profile. + /// + Task> AbortFileUploadsAsync( + AbortFileUploadsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete files on an entity's profile. + /// + Task> DeleteFilesAsync( + DeleteFilesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Finalize file uploads to an entity's profile. + /// + Task> FinalizeFileUploadsAsync( + FinalizeFileUploadsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves file metadata from an entity's profile. + /// + Task> GetFilesAsync( + GetFilesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves objects from an entity's profile. + /// + Task> GetObjectsAsync( + GetObjectsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Initiates file uploads to an entity's profile. + /// + Task> InitiateFileUploadsAsync( + InitiateFileUploadsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets objects on an entity's profile. + /// + Task> SetObjectsAsync( + SetObjectsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabEconomyInstanceAPI.cs b/PlayFabSDK/source/IPlayFabEconomyInstanceAPI.cs new file mode 100644 index 00000000..0b2da0e7 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabEconomyInstanceAPI.cs @@ -0,0 +1,436 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.EconomyModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// API methods for managing the catalog. Inventory manages in-game assets for any given entity. API methods for managing + /// the versioned catalogs. + /// + public interface IPlayFabEconomyInstanceAPI + { + /// + /// Add inventory items. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped. + /// + Task> AddInventoryItemsAsync( + AddInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new item in the working catalog using provided metadata. Note: SAS tokens provided are valid for 1 hour. + /// + Task> CreateDraftItemAsync( + CreateDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates one or more upload URLs which can be used by the client to upload raw file data. Content URls and uploaded + /// content will be garbage collected after 24 hours if not attached to a draft or published item. Detailed pricing info + /// around uploading content can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/pricing/meters/catalog-meters + /// + Task> CreateUploadUrlsAsync( + CreateUploadUrlsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes all reviews, helpfulness votes, and ratings submitted by the entity specified. + /// + Task> DeleteEntityItemReviewsAsync( + DeleteEntityItemReviewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete an Inventory Collection. More information about Inventory Collections can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/collections + /// + Task> DeleteInventoryCollectionAsync( + DeleteInventoryCollectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete inventory items + /// + Task> DeleteInventoryItemsAsync( + DeleteInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes an item from working catalog and all published versions from the public catalog. + /// + Task> DeleteItemAsync( + DeleteItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Execute a list of Inventory Operations. A maximum list of 50 operations can be performed by a single request. There is + /// also a limit to 300 items that can be modified/added in a single request. For example, adding a bundle with 50 items + /// counts as 50 items modified. All operations must be done within a single inventory collection. This API has a reduced + /// RPS compared to an individual inventory operation with Player Entities limited to 60 requests in 90 seconds. + /// + Task> ExecuteInventoryOperationsAsync( + ExecuteInventoryOperationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Transfer a list of inventory items. A maximum list of 50 operations can be performed by a single request. When the + /// response code is 202, one or more operations did not complete within the timeframe of the request. You can identify the + /// pending operations by looking for OperationStatus = 'InProgress'. You can check on the operation status at anytime + /// within 1 day of the request by passing the TransactionToken to the GetInventoryOperationStatus API. + /// + Task> ExecuteTransferOperationsAsync( + ExecuteTransferOperationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the configuration for the catalog. Only Title Entities can call this API. There is a limit of 100 requests in 10 + /// seconds for this API. More information about the Catalog Config can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings + /// + Task> GetCatalogConfigAsync( + GetCatalogConfigRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an item from the working catalog. This item represents the current working state of the item. GetDraftItem + /// does not work off a cache of the Catalog and should be used when trying to get recent item updates. However, please note + /// that item references data is cached and may take a few moments for changes to propagate. Note: SAS tokens provided are + /// valid for 1 hour. + /// + Task> GetDraftItemAsync( + GetDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a paginated list of the items from the draft catalog. Up to 50 IDs can be retrieved in a single request. + /// GetDraftItems does not work off a cache of the Catalog and should be used when trying to get recent item updates. Note: + /// SAS tokens provided are valid for 1 hour. + /// + Task> GetDraftItemsAsync( + GetDraftItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a paginated list of the items from the draft catalog created by the Entity. Up to 50 items can be returned at + /// once. You can use continuation tokens to paginate through results that return greater than the limit. + /// GetEntityDraftItems does not work off a cache of the Catalog and should be used when trying to get recent item updates. + /// + Task> GetEntityDraftItemsAsync( + GetEntityDraftItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the submitted review for the specified item by the authenticated entity. Individual ratings and reviews data update + /// in near real time with delays within a few seconds. + /// + Task> GetEntityItemReviewAsync( + GetEntityItemReviewRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get Inventory Collection Ids. Up to 50 Ids can be returned at once (or 250 with response compression enabled). You can + /// use continuation tokens to paginate through results that return greater than the limit. It can take a few seconds for + /// new collection Ids to show up. + /// + Task> GetInventoryCollectionIdsAsync( + GetInventoryCollectionIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get current inventory items. + /// + Task> GetInventoryItemsAsync( + GetInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the status of an inventory operation using an OperationToken. You can check on the operation status at anytime + /// within 1 day of the request by passing the TransactionToken to the this API. + /// + Task> GetInventoryOperationStatusAsync( + GetInventoryOperationStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an item from the public catalog. GetItem does not work off a cache of the Catalog and should be used when + /// trying to get recent item updates. However, please note that item references data is cached and may take a few moments + /// for changes to propagate. + /// + Task> GetItemAsync( + GetItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Search for a given item and return a set of bundles and stores containing the item. Up to 50 items can be returned at + /// once. You can use continuation tokens to paginate through results that return greater than the limit. This API is + /// intended for tooling/automation scenarios and has a reduced RPS with Player Entities limited to 30 requests in 300 + /// seconds and Title Entities limited to 100 requests in 10 seconds. + /// + Task> GetItemContainersAsync( + GetItemContainersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the moderation state for an item, including the concern category and string reason. More information about + /// moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation + /// + Task> GetItemModerationStateAsync( + GetItemModerationStateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the status of a publish of an item. + /// + Task> GetItemPublishStatusAsync( + GetItemPublishStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a paginated set of reviews associated with the specified item. Individual ratings and reviews data update in near + /// real time with delays within a few seconds. + /// + Task> GetItemReviewsAsync( + GetItemReviewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a summary of all ratings and reviews associated with the specified item. Summary ratings data is cached with update + /// data coming within 15 minutes. + /// + Task> GetItemReviewSummaryAsync( + GetItemReviewSummaryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves items from the public catalog. Up to 50 items can be returned at once. GetItems does not work off a cache of + /// the Catalog and should be used when trying to get recent item updates. However, please note that item references data is + /// cached and may take a few moments for changes to propagate. + /// + Task> GetItemsAsync( + GetItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the access tokens. + /// + Task> GetMicrosoftStoreAccessTokensAsync( + GetMicrosoftStoreAccessTokensRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get transaction history for a player. Up to 250 Events can be returned at once. You can use continuation tokens to + /// paginate through results that return greater than the limit. Getting transaction history has a lower RPS limit than + /// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds. + /// + Task> GetTransactionHistoryAsync( + GetTransactionHistoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Initiates a publish of an item from the working catalog to the public catalog. You can use the GetItemPublishStatus API + /// to track the state of the item publish. + /// + Task> PublishDraftItemAsync( + PublishDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is + /// uncapped. + /// + Task> PurchaseInventoryItemsAsync( + PurchaseInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemAppleAppStoreInventoryItemsAsync( + RedeemAppleAppStoreInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemGooglePlayInventoryItemsAsync( + RedeemGooglePlayInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemMicrosoftStoreInventoryItemsAsync( + RedeemMicrosoftStoreInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemNintendoEShopInventoryItemsAsync( + RedeemNintendoEShopInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemPlayStationStoreInventoryItemsAsync( + RedeemPlayStationStoreInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemSteamInventoryItemsAsync( + RedeemSteamInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report for an item, indicating in what way the item is inappropriate. + /// + Task> ReportItemAsync( + ReportItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report for a review + /// + Task> ReportItemReviewAsync( + ReportItemReviewRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates or updates a review for the specified item. More information around the caching surrounding item ratings and + /// reviews can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/ratings#ratings-design-and-caching + /// + Task> ReviewItemAsync( + ReviewItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Executes a search against the public catalog using the provided search parameters and returns a set of paginated + /// results. SearchItems uses a cache of the catalog with item updates taking up to a few minutes to propagate. You should + /// use the GetItem API for when trying to immediately get recent item updates. More information about the Search API can be + /// found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/search + /// + Task> SearchItemsAsync( + SearchItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the moderation state for an item, including the concern category and string reason. More information about + /// moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation + /// + Task> SetItemModerationStateAsync( + SetItemModerationStateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a vote for a review, indicating whether the review was helpful or unhelpful. + /// + Task> SubmitItemReviewVoteAsync( + SubmitItemReviewVoteRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Subtract inventory items. + /// + Task> SubtractInventoryItemsAsync( + SubtractInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a request to takedown one or more reviews. + /// + Task> TakedownItemReviewsAsync( + TakedownItemReviewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not + /// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus = + /// 'InProgress'. You can check on the operation status at anytime within 1 day of the request by passing the + /// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found + /// here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items + /// + Task> TransferInventoryItemsAsync( + TransferInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the configuration for the catalog. Only Title Entities can call this API. There is a limit of 10 requests in 10 + /// seconds for this API. More information about the Catalog Config can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings + /// + Task> UpdateCatalogConfigAsync( + UpdateCatalogConfigRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the metadata for an item in the working catalog. Note: SAS tokens provided are valid for 1 hour. + /// + Task> UpdateDraftItemAsync( + UpdateDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update inventory items + /// + Task> UpdateInventoryItemsAsync( + UpdateInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabEventsInstanceAPI.cs b/PlayFabSDK/source/IPlayFabEventsInstanceAPI.cs new file mode 100644 index 00000000..037b116f --- /dev/null +++ b/PlayFabSDK/source/IPlayFabEventsInstanceAPI.cs @@ -0,0 +1,115 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.EventsModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Write custom PlayStream and Telemetry events for any PlayFab entity. Telemetry events can be used for analytic, + /// reporting, or debugging. PlayStream events can do all of that and also trigger custom actions in near real-time. + /// + public interface IPlayFabEventsInstanceAPI + { + /// + /// Creates a new telemetry key for the title. + /// + Task> CreateTelemetryKeyAsync( + CreateTelemetryKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a Data Connection from a title. + /// + Task> DeleteDataConnectionAsync( + DeleteDataConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a telemetry key configured for the title. + /// + Task> DeleteTelemetryKeyAsync( + DeleteTelemetryKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a single Data Connection associated with a title. + /// + Task> GetDataConnectionAsync( + GetDataConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information about a telemetry key configured for the title. + /// + Task> GetTelemetryKeyAsync( + GetTelemetryKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the list of Data Connections associated with a title. + /// + Task> ListDataConnectionsAsync( + ListDataConnectionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all telemetry keys configured for the title. + /// + Task> ListTelemetryKeysAsync( + ListTelemetryKeysRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates or updates a Data Connection on a title. + /// + Task> SetDataConnectionAsync( + SetDataConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets a Data Connection for the title to either the active or deactivated state. + /// + Task> SetDataConnectionActiveAsync( + SetDataConnectionActiveRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets a telemetry key to the active or deactivated state. + /// + Task> SetTelemetryKeyActiveAsync( + SetTelemetryKeyActiveRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Write batches of entity based events to PlayStream. The namespace of the Event must be 'custom' or start with 'custom.'. + /// + Task> WriteEventsAsync( + WriteEventsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Write batches of entity based events to as Telemetry events (bypass PlayStream). The namespace must be 'custom' or start + /// with 'custom.' + /// + Task> WriteTelemetryEventsAsync( + WriteEventsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabExperimentationInstanceAPI.cs b/PlayFabSDK/source/IPlayFabExperimentationInstanceAPI.cs new file mode 100644 index 00000000..a2d2327b --- /dev/null +++ b/PlayFabSDK/source/IPlayFabExperimentationInstanceAPI.cs @@ -0,0 +1,121 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.ExperimentationModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs for managing experiments. + /// + public interface IPlayFabExperimentationInstanceAPI + { + /// + /// Creates a new experiment exclusion group for a title. + /// + Task> CreateExclusionGroupAsync( + CreateExclusionGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new experiment for a title. + /// + Task> CreateExperimentAsync( + CreateExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing exclusion group for a title. + /// + Task> DeleteExclusionGroupAsync( + DeleteExclusionGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing experiment for a title. + /// + Task> DeleteExperimentAsync( + DeleteExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the details of all exclusion groups for a title. + /// + Task> GetExclusionGroupsAsync( + GetExclusionGroupsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the details of all exclusion groups for a title. + /// + Task> GetExclusionGroupTrafficAsync( + GetExclusionGroupTrafficRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the details of all experiments for a title. + /// + Task> GetExperimentsAsync( + GetExperimentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the latest scorecard of the experiment for the title. + /// + Task> GetLatestScorecardAsync( + GetLatestScorecardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the treatment assignments for a player for every running experiment in the title. + /// + Task> GetTreatmentAssignmentAsync( + GetTreatmentAssignmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Starts an existing experiment for a title. + /// + Task> StartExperimentAsync( + StartExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Stops an existing experiment for a title. + /// + Task> StopExperimentAsync( + StopExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates an existing exclusion group for a title. + /// + Task> UpdateExclusionGroupAsync( + UpdateExclusionGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates an existing experiment for a title. + /// + Task> UpdateExperimentAsync( + UpdateExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabGroupsInstanceAPI.cs b/PlayFabSDK/source/IPlayFabGroupsInstanceAPI.cs new file mode 100644 index 00000000..c11e18d8 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabGroupsInstanceAPI.cs @@ -0,0 +1,219 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.GroupsModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// The Groups API is designed for any permanent or semi-permanent collections of Entities (players, or non-players). If you + /// want to make Guilds/Clans/Corporations/etc., then you should use groups. Groups can also be used to make chatrooms, + /// parties, or any other persistent collection of entities. + /// + public interface IPlayFabGroupsInstanceAPI + { + /// + /// Accepts an outstanding invitation to to join a group + /// + Task> AcceptGroupApplicationAsync( + AcceptGroupApplicationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Accepts an invitation to join a group + /// + Task> AcceptGroupInvitationAsync( + AcceptGroupInvitationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds members to a group or role. + /// + Task> AddMembersAsync( + AddMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Applies to join a group + /// + Task> ApplyToGroupAsync( + ApplyToGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Blocks a list of entities from joining a group. + /// + Task> BlockEntityAsync( + BlockEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Changes the role membership of a list of entities from one role to another. + /// + Task> ChangeMemberRoleAsync( + ChangeMemberRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new group. + /// + Task> CreateGroupAsync( + CreateGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new group role. + /// + Task> CreateRoleAsync( + CreateGroupRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a group and all roles, invitations, join requests, and blocks associated with it. + /// + Task> DeleteGroupAsync( + DeleteGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing role in a group. + /// + Task> DeleteRoleAsync( + DeleteRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information about a group and its roles + /// + Task> GetGroupAsync( + GetGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Invites a player to join a group + /// + Task> InviteToGroupAsync( + InviteToGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Checks to see if an entity is a member of a group or role within the group + /// + Task> IsMemberAsync( + IsMemberRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all outstanding requests to join a group + /// + Task> ListGroupApplicationsAsync( + ListGroupApplicationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all entities blocked from joining a group + /// + Task> ListGroupBlocksAsync( + ListGroupBlocksRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all outstanding invitations for a group + /// + Task> ListGroupInvitationsAsync( + ListGroupInvitationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all members for a group + /// + Task> ListGroupMembersAsync( + ListGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all groups and roles for an entity + /// + Task> ListMembershipAsync( + ListMembershipRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all outstanding invitations and group applications for an entity + /// + Task> ListMembershipOpportunitiesAsync( + ListMembershipOpportunitiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes an application to join a group + /// + Task> RemoveGroupApplicationAsync( + RemoveGroupApplicationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes an invitation join a group + /// + Task> RemoveGroupInvitationAsync( + RemoveGroupInvitationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes members from a group. + /// + Task> RemoveMembersAsync( + RemoveMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unblocks a list of entities from joining a group + /// + Task> UnblockEntityAsync( + UnblockEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates non-membership data about a group. + /// + Task> UpdateGroupAsync( + UpdateGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates metadata about a role. + /// + Task> UpdateRoleAsync( + UpdateGroupRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabInsightsInstanceAPI.cs b/PlayFabSDK/source/IPlayFabInsightsInstanceAPI.cs new file mode 100644 index 00000000..87439fc0 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabInsightsInstanceAPI.cs @@ -0,0 +1,67 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.InsightsModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Manage the Insights performance level and data storage retention settings. + /// + public interface IPlayFabInsightsInstanceAPI + { + /// + /// Gets the current values for the Insights performance and data storage retention, list of pending operations, and the + /// performance and data storage retention limits. + /// + Task> GetDetailsAsync( + InsightsEmptyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the range of allowed values for performance and data storage retention values as well as the submeter details + /// for each performance level. + /// + Task> GetLimitsAsync( + InsightsEmptyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the status of a SetPerformance or SetStorageRetention operation. + /// + Task> GetOperationStatusAsync( + InsightsGetOperationStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a list of pending SetPerformance and/or SetStorageRetention operations for the title. + /// + Task> GetPendingOperationsAsync( + InsightsGetPendingOperationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the Insights performance level value for the title. + /// + Task> SetPerformanceAsync( + InsightsSetPerformanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the Insights data storage retention days value for the title. + /// + Task> SetStorageRetentionAsync( + InsightsSetStorageRetentionRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabLocalizationInstanceAPI.cs b/PlayFabSDK/source/IPlayFabLocalizationInstanceAPI.cs new file mode 100644 index 00000000..4bd8fef7 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabLocalizationInstanceAPI.cs @@ -0,0 +1,25 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.LocalizationModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// The Localization APIs give you the tools needed to manage language setup in your title. + /// + public interface IPlayFabLocalizationInstanceAPI + { + /// + /// Retrieves the list of allowed languages, only accessible by title entities + /// + Task> GetLanguageListAsync( + GetLanguageListRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabMultiplayerInstanceAPI.cs b/PlayFabSDK/source/IPlayFabMultiplayerInstanceAPI.cs new file mode 100644 index 00000000..d106e5cc --- /dev/null +++ b/PlayFabSDK/source/IPlayFabMultiplayerInstanceAPI.cs @@ -0,0 +1,727 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.MultiplayerModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// API methods for managing multiplayer servers. API methods for managing parties. The lobby service helps players group + /// together to play multiplayer games. It is often used as a rendezvous point for players to share connection information. + /// The TrueSkill service helps titles to estimate a player's skill based on their match results. The player skill values + /// from this service are commonly used by a matchmaking service to provide players with balanced matches. + /// + public interface IPlayFabMultiplayerInstanceAPI + { + /// + /// Cancel all active tickets the player is a member of in a given queue. + /// + Task> CancelAllMatchmakingTicketsForPlayerAsync( + CancelAllMatchmakingTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancel all active backfill tickets the player is a member of in a given queue. + /// + Task> CancelAllServerBackfillTicketsForPlayerAsync( + CancelAllServerBackfillTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancel a matchmaking ticket. + /// + Task> CancelMatchmakingTicketAsync( + CancelMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancel a server backfill ticket. + /// + Task> CancelServerBackfillTicketAsync( + CancelServerBackfillTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build alias. + /// + Task> CreateBuildAliasAsync( + CreateBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build with a custom container. + /// + Task> CreateBuildWithCustomContainerAsync( + CreateBuildWithCustomContainerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build with a managed container. + /// + Task> CreateBuildWithManagedContainerAsync( + CreateBuildWithManagedContainerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build with the server running as a process. + /// + Task> CreateBuildWithProcessBasedServerAsync( + CreateBuildWithProcessBasedServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a lobby. + /// + Task> CreateLobbyAsync( + CreateLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a matchmaking ticket as a client. + /// + Task> CreateMatchmakingTicketAsync( + CreateMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a remote user to log on to a VM for a multiplayer server build. + /// + Task> CreateRemoteUserAsync( + CreateRemoteUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a backfill matchmaking ticket as a server. A backfill ticket represents an ongoing game. The matchmaking service + /// automatically starts matching the backfill ticket against other matchmaking tickets. Backfill tickets cannot match with + /// other backfill tickets. + /// + Task> CreateServerBackfillTicketAsync( + CreateServerBackfillTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a matchmaking ticket as a server. The matchmaking service automatically starts matching the ticket against other + /// matchmaking tickets. + /// + Task> CreateServerMatchmakingTicketAsync( + CreateServerMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a request to change a title's multiplayer server quotas. + /// + Task> CreateTitleMultiplayerServersQuotaChangeAsync( + CreateTitleMultiplayerServersQuotaChangeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server game asset for a title. + /// + Task> DeleteAssetAsync( + DeleteAssetRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server build. + /// + Task> DeleteBuildAsync( + DeleteBuildRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server build alias. + /// + Task> DeleteBuildAliasAsync( + DeleteBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a multiplayer server build's region. + /// + Task> DeleteBuildRegionAsync( + DeleteBuildRegionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server game certificate. + /// + Task> DeleteCertificateAsync( + DeleteCertificateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a container image repository. + /// + Task> DeleteContainerImageRepositoryAsync( + DeleteContainerImageRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a lobby. + /// + Task> DeleteLobbyAsync( + DeleteLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a remote user to log on to a VM for a multiplayer server build. + /// + Task> DeleteRemoteUserAsync( + DeleteRemoteUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server game secret. + /// + Task> DeleteSecretAsync( + DeleteSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Enables the multiplayer server feature for a title. + /// + Task> EnableMultiplayerServersForTitleAsync( + EnableMultiplayerServersForTitleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Find lobbies which match certain criteria, and which friends are in. + /// + Task> FindFriendLobbiesAsync( + FindFriendLobbiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Find all the lobbies that match certain criteria. + /// + Task> FindLobbiesAsync( + FindLobbiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a URL that can be used to download the specified asset. A sample pre-authenticated url - + /// https://sampleStorageAccount.blob.core.windows.net/gameassets/gameserver.zip?sv=2015-04-05&ss=b&srt=sco&sp=rw&st=startDate&se=endDate&spr=https&sig=sampleSig&api-version=2017-07-29 + /// + Task> GetAssetDownloadUrlAsync( + GetAssetDownloadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the URL to upload assets to. A sample pre-authenticated url - + /// https://sampleStorageAccount.blob.core.windows.net/gameassets/gameserver.zip?sv=2015-04-05&ss=b&srt=sco&sp=rw&st=startDate&se=endDate&spr=https&sig=sampleSig&api-version=2017-07-29 + /// + Task> GetAssetUploadUrlAsync( + GetAssetUploadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a multiplayer server build. + /// + Task> GetBuildAsync( + GetBuildRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a multiplayer server build alias. + /// + Task> GetBuildAliasAsync( + GetBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the credentials to the container registry. + /// + Task> GetContainerRegistryCredentialsAsync( + GetContainerRegistryCredentialsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a lobby. + /// + Task> GetLobbyAsync( + GetLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a match. + /// + Task> GetMatchAsync( + GetMatchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. Get a matchmaking queue configuration. + /// + Task> GetMatchmakingQueueAsync( + GetMatchmakingQueueRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a matchmaking ticket by ticket Id. + /// + Task> GetMatchmakingTicketAsync( + GetMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets multiplayer server session details for a build. + /// + Task> GetMultiplayerServerDetailsAsync( + GetMultiplayerServerDetailsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets multiplayer server logs after a server has terminated. + /// + Task> GetMultiplayerServerLogsAsync( + GetMultiplayerServerLogsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets multiplayer server logs after a server has terminated. + /// + Task> GetMultiplayerSessionLogsBySessionIdAsync( + GetMultiplayerSessionLogsBySessionIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the statistics for a queue. + /// + Task> GetQueueStatisticsAsync( + GetQueueStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a remote login endpoint to a VM that is hosting a multiplayer server build. + /// + Task> GetRemoteLoginEndpointAsync( + GetRemoteLoginEndpointRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a matchmaking backfill ticket by ticket Id. + /// + Task> GetServerBackfillTicketAsync( + GetServerBackfillTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the status of whether a title is enabled for the multiplayer server feature. + /// + Task> GetTitleEnabledForMultiplayerServersStatusAsync( + GetTitleEnabledForMultiplayerServersStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a title's server quota change request. + /// + Task> GetTitleMultiplayerServersQuotaChangeAsync( + GetTitleMultiplayerServersQuotaChangeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the quotas for a title in relation to multiplayer servers. + /// + Task> GetTitleMultiplayerServersQuotasAsync( + GetTitleMultiplayerServersQuotasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Send a notification to invite a player to a lobby. + /// + Task> InviteToLobbyAsync( + InviteToLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Join an Arranged lobby. + /// + Task> JoinArrangedLobbyAsync( + JoinArrangedLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Join a lobby. + /// + Task> JoinLobbyAsync( + JoinLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Preview: Join a lobby as a server entity. This is restricted to client lobbies which are using connections. + /// + Task> JoinLobbyAsServerAsync( + JoinLobbyAsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Join a matchmaking ticket. + /// + Task> JoinMatchmakingTicketAsync( + JoinMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Leave a lobby. + /// + Task> LeaveLobbyAsync( + LeaveLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Preview: Request for server to leave a lobby. This is restricted to client owned lobbies which are using connections. + /// + Task> LeaveLobbyAsServerAsync( + LeaveLobbyAsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists archived multiplayer server sessions for a build. + /// + Task> ListArchivedMultiplayerServersAsync( + ListMultiplayerServersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server game assets for a title. + /// + Task> ListAssetSummariesAsync( + ListAssetSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists details of all build aliases for a title. Accepts tokens for title and if game client access is enabled, allows + /// game client to request list of builds with player entity token. + /// + Task> ListBuildAliasesAsync( + ListBuildAliasesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client + /// access is enabled, allows game client to request list of builds with player entity token. + /// + Task> ListBuildSummariesV2Async( + ListBuildSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server game certificates for a title. + /// + Task> ListCertificateSummariesAsync( + ListCertificateSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists custom container images for a title. + /// + Task> ListContainerImagesAsync( + ListContainerImagesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists the tags for a custom container image. + /// + Task> ListContainerImageTagsAsync( + ListContainerImageTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. List all matchmaking queue configs. + /// + Task> ListMatchmakingQueuesAsync( + ListMatchmakingQueuesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all matchmaking ticket Ids the user is a member of. + /// + Task> ListMatchmakingTicketsForPlayerAsync( + ListMatchmakingTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server sessions for a build. + /// + Task> ListMultiplayerServersAsync( + ListMultiplayerServersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists quality of service servers for party. + /// + Task> ListPartyQosServersAsync( + ListPartyQosServersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists quality of service servers for the title. By default, servers are only returned for regions where a Multiplayer + /// Servers build has been deployed. + /// + Task> ListQosServersForTitleAsync( + ListQosServersForTitleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server game secrets for a title. + /// + Task> ListSecretSummariesAsync( + ListSecretSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all server backfill ticket Ids the user is a member of. + /// + Task> ListServerBackfillTicketsForPlayerAsync( + ListServerBackfillTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all server quota change requests for a title. + /// + Task> ListTitleMultiplayerServersQuotaChangesAsync( + ListTitleMultiplayerServersQuotaChangesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists virtual machines for a title. + /// + Task> ListVirtualMachineSummariesAsync( + ListVirtualMachineSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. Remove a matchmaking queue config. + /// + Task> RemoveMatchmakingQueueAsync( + RemoveMatchmakingQueueRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Remove a member from a lobby. + /// + Task> RemoveMemberAsync( + RemoveMemberFromLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Request a multiplayer server session. Accepts tokens for title and if game client access is enabled, allows game client + /// to request a server with player entity token. + /// + Task> RequestMultiplayerServerAsync( + RequestMultiplayerServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Request a party session. + /// + Task> RequestPartyServiceAsync( + RequestPartyServiceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Rolls over the credentials to the container registry. + /// + Task> RolloverContainerRegistryCredentialsAsync( + RolloverContainerRegistryCredentialsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. Create or update a matchmaking queue configuration. + /// + Task> SetMatchmakingQueueAsync( + SetMatchmakingQueueRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Shuts down a multiplayer server session. + /// + Task> ShutdownMultiplayerServerAsync( + ShutdownMultiplayerServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Subscribe to lobby resource notifications. + /// + Task> SubscribeToLobbyResourceAsync( + SubscribeToLobbyResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Subscribe to match resource notifications. + /// + Task> SubscribeToMatchmakingResourceAsync( + SubscribeToMatchResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unsubscribe from lobby notifications. + /// + Task> UnsubscribeFromLobbyResourceAsync( + UnsubscribeFromLobbyResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unsubscribe from match resource notifications. + /// + Task> UnsubscribeFromMatchmakingResourceAsync( + UnsubscribeFromMatchResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Untags a container image. + /// + Task> UntagContainerImageAsync( + UntagContainerImageRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build alias. + /// + Task> UpdateBuildAliasAsync( + UpdateBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a multiplayer server build's name. + /// + Task> UpdateBuildNameAsync( + UpdateBuildNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a multiplayer server build's region. If the region is not yet created, it will be created + /// + Task> UpdateBuildRegionAsync( + UpdateBuildRegionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a multiplayer server build's regions. + /// + Task> UpdateBuildRegionsAsync( + UpdateBuildRegionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update a lobby. + /// + Task> UpdateLobbyAsync( + UpdateLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Preview: Update fields related to a joined server in the lobby the server is in. Servers can keep a lobby from expiring + /// by being the one to "update" the lobby in some way. Servers have no impact on last member leave/last member disconnect + /// behavior. + /// + Task> UpdateLobbyAsServerAsync( + UpdateLobbyAsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Uploads a multiplayer server game certificate. + /// + Task> UploadCertificateAsync( + UploadCertificateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Uploads a multiplayer server game secret. + /// + Task> UploadSecretAsync( + UploadSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabProfilesInstanceAPI.cs b/PlayFabSDK/source/IPlayFabProfilesInstanceAPI.cs new file mode 100644 index 00000000..c332d9b7 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabProfilesInstanceAPI.cs @@ -0,0 +1,91 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.ProfilesModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools + /// needed to manage entity profiles. + /// + public interface IPlayFabProfilesInstanceAPI + { + /// + /// Gets the global title access policy + /// + Task> GetGlobalPolicyAsync( + GetGlobalPolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the entity's profile. + /// + Task> GetProfileAsync( + GetEntityProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the entity's profile. + /// + Task> GetProfilesAsync( + GetEntityProfilesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title player accounts associated with the given master player account. + /// + Task> GetTitlePlayersFromMasterPlayerAccountIdsAsync( + GetTitlePlayersFromMasterPlayerAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title player accounts associated with the given XUIDs. + /// + Task> GetTitlePlayersFromXboxLiveIDsAsync( + GetTitlePlayersFromXboxLiveIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the display name of the entity + /// + Task> SetDisplayNameAsync( + SetDisplayNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the global title access policy + /// + Task> SetGlobalPolicyAsync( + SetGlobalPolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the entity's language. The precedence hierarchy for communication to the player is Title Player Account + /// language, Master Player Account language, and then title default language if the first two aren't set or supported. + /// + Task> SetProfileLanguageAsync( + SetProfileLanguageRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the profiles access policy + /// + Task> SetProfilePolicyAsync( + SetEntityProfilePolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabProgressionInstanceAPI.cs b/PlayFabSDK/source/IPlayFabProgressionInstanceAPI.cs new file mode 100644 index 00000000..b085159e --- /dev/null +++ b/PlayFabSDK/source/IPlayFabProgressionInstanceAPI.cs @@ -0,0 +1,202 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.ProgressionModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Manage entity statistics Manage entity leaderboards + /// + public interface IPlayFabProgressionInstanceAPI + { + /// + /// Creates a new leaderboard definition. + /// + Task> CreateLeaderboardDefinitionAsync( + CreateLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a new entity statistic definition. + /// + Task> CreateStatisticDefinitionAsync( + CreateStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a leaderboard definition. + /// + Task> DeleteLeaderboardDefinitionAsync( + DeleteLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the specified entries from the given leaderboard. + /// + Task> DeleteLeaderboardEntriesAsync( + DeleteLeaderboardEntriesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete an entity statistic definition. Will delete all statistics on entity profiles and leaderboards. + /// + Task> DeleteStatisticDefinitionAsync( + DeleteStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete statistics on an entity profile. This will remove all rankings from associated leaderboards. + /// + Task> DeleteStatisticsAsync( + DeleteStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the friend leaderboard for the specified entity. A maximum of 25 friend entries are listed in the leaderboard. + /// + Task> GetFriendLeaderboardForEntityAsync( + GetFriendLeaderboardForEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the leaderboard for a specific entity type and statistic. + /// + Task> GetLeaderboardAsync( + GetEntityLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the leaderboard around a specific entity. + /// + Task> GetLeaderboardAroundEntityAsync( + GetLeaderboardAroundEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the specified leaderboard definition. + /// + Task> GetLeaderboardDefinitionAsync( + GetLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the leaderboard limited to a set of entities. + /// + Task> GetLeaderboardForEntitiesAsync( + GetLeaderboardForEntitiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get current statistic definition information + /// + Task> GetStatisticDefinitionAsync( + GetStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets statistics for the specified entity. + /// + Task> GetStatisticsAsync( + GetStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets statistics for the specified collection of entities. + /// + Task> GetStatisticsForEntitiesAsync( + GetStatisticsForEntitiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Increment a leaderboard version. + /// + Task> IncrementLeaderboardVersionAsync( + IncrementLeaderboardVersionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Increment an entity statistic definition version. + /// + Task> IncrementStatisticVersionAsync( + IncrementStatisticVersionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists the leaderboard definitions defined for the Title. + /// + Task> ListLeaderboardDefinitionsAsync( + ListLeaderboardDefinitionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all current statistic definitions information + /// + Task> ListStatisticDefinitionsAsync( + ListStatisticDefinitionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks a leaderboard definition from it's linked statistic definition. + /// + Task> UnlinkLeaderboardFromStatisticAsync( + UnlinkLeaderboardFromStatisticRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a leaderboard definition. + /// + Task> UpdateLeaderboardDefinitionAsync( + UpdateLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds or updates entries on the specified leaderboard. + /// + Task> UpdateLeaderboardEntriesAsync( + UpdateLeaderboardEntriesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update an existing entity statistic definition. + /// + Task> UpdateStatisticDefinitionAsync( + UpdateStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update statistics on an entity profile. Depending on the statistic definition, this may result in entity being ranked on + /// various leaderboards. + /// + Task> UpdateStatisticsAsync( + UpdateStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/IPlayFabServerInstanceAPI.cs b/PlayFabSDK/source/IPlayFabServerInstanceAPI.cs new file mode 100644 index 00000000..22d91030 --- /dev/null +++ b/PlayFabSDK/source/IPlayFabServerInstanceAPI.cs @@ -0,0 +1,1302 @@ +#if ENABLE_PLAYFABSERVER_API + +using PlayFab.ServerModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Provides functionality to allow external (developer-controlled) servers to interact with user inventories and data in a + /// trusted manner, and to handle matchmaking and client connection orchestration + /// + public interface IPlayFabServerInstanceAPI + { + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the character's balance of the specified virtual currency by the stated amount + /// + Task> AddCharacterVirtualCurrencyAsync( + AddCharacterVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the Friend user to the friendlist of the user with PlayFabId. At least one of + /// FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + /// + Task> AddFriendAsync( + AddFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab + /// ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as + /// authentication credentials, as the intent is that it is easily accessible by other players. + /// + Task> AddGenericIDAsync( + AddGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> AddPlayerTagAsync( + AddPlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users + /// in the group (and the server) can add new members. Shared Groups are designed for sharing data between a very small + /// number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> AddSharedGroupMembersAsync( + AddSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the user's balance of the specified virtual currency by the stated amount + /// + Task> AddUserVirtualCurrencyAsync( + AddUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Validated a client's session ticket, and if successful, returns details for that user + /// + Task> AuthenticateSessionTicketAsync( + AuthenticateSessionTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Awards the specified users the specified Steam achievements + /// + Task> AwardSteamAchievementAsync( + AwardSteamAchievementRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + /// + Task> BanUsersAsync( + BanUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's + /// inventory. + /// + Task> ConsumeItemAsync( + ConsumeItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the + /// group. When created by a server, the group will initially have no members. Shared Groups are designed for sharing data + /// between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> CreateSharedGroupAsync( + CreateSharedGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the specific character ID from the specified user. + /// + Task> DeleteCharacterFromUserAsync( + DeleteCharacterFromUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a user's player account from a title and deletes all associated data + /// + Task> DeletePlayerAsync( + DeletePlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes title-specific custom properties for a player + /// + Task> DeletePlayerCustomPropertiesAsync( + DeletePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes push notification template for title + /// + Task> DeletePushNotificationTemplateAsync( + DeletePushNotificationTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a shared group, freeing up the shared group ID to be reused for a new group. Shared Groups are designed for + /// sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> DeleteSharedGroupAsync( + DeleteSharedGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would + /// have been added to the player inventory, if the Random Result Table were added via a Bundle or a call to + /// UnlockContainer. + /// + Task> EvaluateRandomResultTableAsync( + EvaluateRandomResultTableRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. The + /// PlayFab ID is the entity ID of the player's master_player_account entity. + /// + Task> ExecuteCloudScriptAsync( + ExecuteCloudScriptServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as + /// GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + /// + Task> GetAllSegmentsAsync( + GetAllSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be + /// evaluated with the parent PlayFabId to guarantee uniqueness. + /// + Task> GetAllUsersCharactersAsync( + ListUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + /// + Task> GetCatalogItemsAsync( + GetCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetCharacterDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user's character which cannot be accessed by the client + /// + Task> GetCharacterInternalDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified character's current inventory of virtual goods + /// + Task> GetCharacterInventoryAsync( + GetCharacterInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetCharacterLeaderboardAsync( + GetCharacterLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user's character which can only be read by the client + /// + Task> GetCharacterReadOnlyDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the details of all title-specific statistics for the specific character + /// + Task> GetCharacterStatisticsAsync( + GetCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned + /// URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the + /// content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, + /// the query to retrieve the data will fail. See this post for more information: + /// https://community.playfab.com/hc/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, + /// please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + /// + Task> GetContentDownloadUrlAsync( + GetContentDownloadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked friends of the given player for the given statistic, starting from the indicated point in the + /// leaderboard + /// + Task> GetFriendLeaderboardAsync( + GetFriendLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current friends for the user with PlayFabId, constrained to users who have PlayFab accounts. Friends from + /// linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + /// + Task> GetFriendsListAsync( + GetFriendsListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetLeaderboardAsync( + GetLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, centered on the requested user + /// + Task> GetLeaderboardAroundCharacterAsync( + GetLeaderboardAroundCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, centered on the currently signed-in user + /// + Task> GetLeaderboardAroundUserAsync( + GetLeaderboardAroundUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of all of the user's characters for the given statistic. + /// + Task> GetLeaderboardForUserCharactersAsync( + GetLeaderboardForUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns whatever info is requested in the response for the user. Note that PII (like email address, facebook id) may be + /// returned. All parameters default to false. + /// + Task> GetPlayerCombinedInfoAsync( + GetPlayerCombinedInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a title-specific custom property value for a player. + /// + Task> GetPlayerCustomPropertyAsync( + GetPlayerCustomPropertyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the player's profile + /// + Task> GetPlayerProfileAsync( + GetPlayerProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all segments that a player currently belongs to at this moment in time. + /// + Task> GetPlayerSegmentsAsync( + GetPlayersSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match + /// the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span + /// on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected + /// in the results. AB Test segments are currently not supported by this operation. NOTE: This API is limited to being + /// called 30 times in one minute. You will be returned an error if you exceed this threshold. + /// + Task> GetPlayersInSegmentAsync( + GetPlayersInSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current version and values for the indicated statistics, for the local player. + /// + Task> GetPlayerStatisticsAsync( + GetPlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the information on the available versions of the specified statistic. + /// + Task> GetPlayerStatisticVersionsAsync( + GetPlayerStatisticVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all tags with a given Namespace (optional) from a player profile. + /// + Task> GetPlayerTagsAsync( + GetPlayerTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Battle.net account identifiers. + /// + Task> GetPlayFabIDsFromBattleNetAccountIdsAsync( + GetPlayFabIDsFromBattleNetAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + /// + Task> GetPlayFabIDsFromFacebookIDsAsync( + GetPlayFabIDsFromFacebookIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Games identifiers. + /// + Task> GetPlayFabIDsFromFacebookInstantGamesIdsAsync( + GetPlayFabIDsFromFacebookInstantGamesIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the + /// service name plus the service-specific ID for the player, as specified by the title when the generic identifier was + /// added to the player account. + /// + Task> GetPlayFabIDsFromGenericIDsAsync( + GetPlayFabIDsFromGenericIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers. + /// + Task> GetPlayFabIDsFromNintendoServiceAccountIdsAsync( + GetPlayFabIDsFromNintendoServiceAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers. + /// + Task> GetPlayFabIDsFromNintendoSwitchDeviceIdsAsync( + GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNAccountIDsAsync( + GetPlayFabIDsFromPSNAccountIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNOnlineIDsAsync( + GetPlayFabIDsFromPSNOnlineIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile + /// IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + /// + Task> GetPlayFabIDsFromSteamIDsAsync( + GetPlayFabIDsFromSteamIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona + /// names. + /// + Task> GetPlayFabIDsFromSteamNamesAsync( + GetPlayFabIDsFromSteamNamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for + /// the user accounts, available as "_id" from the Twitch API methods (ex: + /// https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). + /// + Task> GetPlayFabIDsFromTwitchIDsAsync( + GetPlayFabIDsFromTwitchIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. + /// + Task> GetPlayFabIDsFromXboxLiveIDsAsync( + GetPlayFabIDsFromXboxLiveIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom publisher settings + /// + Task> GetPublisherDataAsync( + GetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the configuration information for the specified random results tables for the title, including all + /// ItemId values and weights + /// + Task> GetRandomResultTablesAsync( + GetRandomResultTablesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the associated PlayFab account identifiers for the given set of server custom identifiers. + /// + Task> GetServerCustomIDsFromPlayFabIDsAsync( + GetServerCustomIDsFromPlayFabIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves data stored in a shared group object, as well as the list of members in the group. The server can access all + /// public and private group data. Shared Groups are designed for sharing data between a very small number of players, + /// please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> GetSharedGroupDataAsync( + GetSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the set of items defined for the specified store, including all prices defined, for the specified + /// player + /// + Task> GetStoreItemsAsync( + GetStoreItemsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current server time + /// + Task> GetTimeAsync( + GetTimeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings + /// + Task> GetTitleDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom internal title settings + /// + Task> GetTitleInternalDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title news feed, as configured in the developer portal + /// + Task> GetTitleNewsAsync( + GetTitleNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the relevant details for a specified user + /// + Task> GetUserAccountInfoAsync( + GetUserAccountInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets all bans for a user. + /// + Task> GetUserBansAsync( + GetUserBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified user's current inventory of virtual goods + /// + Task> GetUserInventoryAsync( + GetUserInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserPublisherDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserPublisherInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which can only be read by the client + /// + Task> GetUserPublisherReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which can only be read by the client + /// + Task> GetUserReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated + /// with the parent PlayFabId to guarantee uniqueness. + /// + Task> GrantCharacterToUserAsync( + GrantCharacterToUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified character's inventory + /// + Task> GrantItemsToCharacterAsync( + GrantItemsToCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified user's inventory + /// + Task> GrantItemsToUserAsync( + GrantItemsToUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified user inventories + /// + Task> GrantItemsToUsersAsync( + GrantItemsToUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Battle.net account associated with the token to the user's PlayFab account. + /// + Task> LinkBattleNetAccountAsync( + LinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Nintendo account associated with the token to the user's PlayFab account + /// + Task> LinkNintendoServiceAccountAsync( + LinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Nintendo account associated with the Nintendo Service Account subject or id to the user's PlayFab account + /// + Task> LinkNintendoServiceAccountSubjectAsync( + LinkNintendoServiceAccountSubjectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the NintendoSwitchDeviceId to the user's PlayFab account + /// + Task> LinkNintendoSwitchDeviceIdAsync( + LinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the PlayStation :tm: Network account associated with the provided access code to the user's PlayFab account + /// + Task> LinkPSNAccountAsync( + LinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the PlayStation :tm: Network account associated with the provided user id to the user's PlayFab account + /// + Task> LinkPSNIdAsync( + LinkPSNIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the custom server identifier, generated by the title, to the user's PlayFab account. + /// + Task> LinkServerCustomIdAsync( + LinkServerCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Steam account associated with the provided Steam ID to the user's PlayFab account + /// + Task> LinkSteamIdAsync( + LinkSteamIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Xbox Live account associated with the provided access code to the user's PlayFab account + /// + Task> LinkXboxAccountAsync( + LinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves title-specific custom property values for a player. + /// + Task> ListPlayerCustomPropertiesAsync( + ListPlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithAndroidDeviceIDAsync( + LoginWithAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sign in the user with a Battle.net identity token + /// + Task> LoginWithBattleNetAsync( + LoginWithBattleNetRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithCustomIDAsync( + LoginWithCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the iOS device identifier, returning a session identifier that can subsequently be used for API + /// calls which require an authenticated user + /// + Task> LoginWithIOSDeviceIDAsync( + LoginWithIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithPSNAsync( + LoginWithPSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Securely login a game client from an external server backend using a custom identifier for that player. Server Custom ID + /// and Client Custom ID are mutually exclusive and cannot be used to retrieve the same player account. + /// + Task> LoginWithServerCustomIdAsync( + LoginWithServerCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using an Steam ID, returning a session identifier that can subsequently be used for API calls which + /// require an authenticated user + /// + Task> LoginWithSteamIdAsync( + LoginWithSteamIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Xbox Live Token from an external server backend, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithXboxAsync( + LoginWithXboxRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using an Xbox ID and Sandbox ID, returning a session identifier that can subsequently be used for API + /// calls which require an authenticated user + /// + Task> LoginWithXboxIdAsync( + LoginWithXboxIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Modifies the number of remaining uses of a player's inventory item + /// + Task> ModifyItemUsesAsync( + ModifyItemUsesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Moves an item from a character's inventory into another of the users's character's inventory. + /// + Task> MoveItemToCharacterFromCharacterAsync( + MoveItemToCharacterFromCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Moves an item from a user's inventory into their character's inventory. + /// + Task> MoveItemToCharacterFromUserAsync( + MoveItemToCharacterFromUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Moves an item from a character's inventory into the owning user's inventory. + /// + Task> MoveItemToUserFromCharacterAsync( + MoveItemToUserFromCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the + /// Economy->Catalogs tab in the PlayFab Game Manager. + /// + Task> RedeemCouponAsync( + RedeemCouponRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes the specified friend from the the user's friend list + /// + Task> RemoveFriendAsync( + RemoveFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes the specified generic service identifier from the player's PlayFab account. + /// + Task> RemoveGenericIDAsync( + RemoveGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> RemovePlayerTagAsync( + RemovePlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the + /// group can remove members. If as a result of the call, zero users remain with access, the group and its associated data + /// will be deleted. Shared Groups are designed for sharing data between a very small number of players, please see our + /// guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> RemoveSharedGroupMembersAsync( + RemoveSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report about a player (due to bad bahavior, etc.) on behalf of another player, so that customer service + /// representatives for the title can take action concerning potentially toxic players. + /// + Task> ReportPlayerAsync( + ReportPlayerServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans for a user. + /// + Task> RevokeAllBansForUserAsync( + RevokeAllBansForUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans specified with BanId. + /// + Task> RevokeBansAsync( + RevokeBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access to an item in a user's inventory + /// + Task> RevokeInventoryItemAsync( + RevokeInventoryItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access for up to 25 items across multiple users and characters. + /// + Task> RevokeInventoryItemsAsync( + RevokeInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Saves push notification template for title + /// + Task> SavePushNotificationTemplateAsync( + SavePushNotificationTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Forces an email to be sent to the registered contact email address for the user's account based on an account recovery + /// email template + /// + Task> SendCustomAccountRecoveryEmailAsync( + SendCustomAccountRecoveryEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sends an email based on an email template to a player's contact email + /// + Task> SendEmailFromTemplateAsync( + SendEmailFromTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sends an iOS/Android Push Notification to a specific user, if that user's device has been configured for Push + /// Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified. + /// + Task> SendPushNotificationAsync( + SendPushNotificationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sends an iOS/Android Push Notification template to a specific user, if that user's device has been configured for Push + /// Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified. + /// + Task> SendPushNotificationFromTemplateAsync( + SendPushNotificationFromTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the tag list for a specified user in the friend list of another user + /// + Task> SetFriendTagsAsync( + SetFriendTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's + /// secret use the Admin or Server API method SetPlayerSecret. + /// + Task> SetPlayerSecretAsync( + SetPlayerSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom publisher settings + /// + Task> SetPublisherDataAsync( + SetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom title settings + /// + Task> SetTitleDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom title settings + /// + Task> SetTitleInternalDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the character's balance of the specified virtual currency by the stated amount. It is possible to + /// make a VC balance negative with this API. + /// + Task> SubtractCharacterVirtualCurrencyAsync( + SubtractCharacterVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make + /// a VC balance negative with this API. + /// + Task> SubtractUserVirtualCurrencyAsync( + SubtractUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Battle.net account from the user's PlayFab account. + /// + Task> UnlinkBattleNetAccountAsync( + UnlinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Nintendo account from the user's PlayFab account + /// + Task> UnlinkNintendoServiceAccountAsync( + UnlinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account + /// + Task> UnlinkNintendoSwitchDeviceIdAsync( + UnlinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account + /// + Task> UnlinkPSNAccountAsync( + UnlinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the custom server identifier from the user's PlayFab account. + /// + Task> UnlinkServerCustomIdAsync( + UnlinkServerCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the Steam account associated with the provided Steam ID to the user's PlayFab account + /// + Task> UnlinkSteamIdAsync( + UnlinkSteamIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Xbox Live account from the user's PlayFab account + /// + Task> UnlinkXboxAccountAsync( + UnlinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, when + /// required), and returns the contents of the opened container. If the container (and key when relevant) are consumable + /// (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + /// + Task> UnlockContainerInstanceAsync( + UnlockContainerInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary + /// unlocks it using any appropriate key, and returns the contents of the opened container. If the container (and key when + /// relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of + /// ConsumeItem. + /// + Task> UnlockContainerItemAsync( + UnlockContainerItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the avatar URL of the specified player + /// + Task> UpdateAvatarUrlAsync( + UpdateAvatarUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates information of a list of existing bans specified with Ban Ids. + /// + Task> UpdateBansAsync( + UpdateBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user's character which is readable and writable by the client + /// + Task> UpdateCharacterDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user's character which cannot be accessed by the client + /// + Task> UpdateCharacterInternalDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user's character which can only be read by the client + /// + Task> UpdateCharacterReadOnlyDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the specific character + /// + Task> UpdateCharacterStatisticsAsync( + UpdateCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom property values for a player + /// + Task> UpdatePlayerCustomPropertiesAsync( + UpdatePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the user + /// + Task> UpdatePlayerStatisticsAsync( + UpdatePlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated + /// or added in this call will be readable by users not in the group. By default, data permissions are set to Private. + /// Regardless of the permission setting, only members of the group (and the server) can update the data. Shared Groups are + /// designed for sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> UpdateSharedGroupDataAsync( + UpdateSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates the key-value pair data tagged to the specified item, which is read-only from the client. + /// + Task> UpdateUserInventoryItemCustomDataAsync( + UpdateUserInventoryItemDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserPublisherDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserPublisherInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserPublisherReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a character-based event into PlayStream. + /// + Task> WriteCharacterEventAsync( + WriteServerCharacterEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a player-based event into PlayStream. + /// + Task> WritePlayerEventAsync( + WriteServerPlayerEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a title-based event into PlayStream. + /// + Task> WriteTitleEventAsync( + WriteTitleEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/PlayFabSDK/source/PlayFabAddonInstanceAPI.cs b/PlayFabSDK/source/PlayFabAddonInstanceAPI.cs index 54341973..b1081b08 100644 --- a/PlayFabSDK/source/PlayFabAddonInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabAddonInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// APIs for managing addons. /// - public class PlayFabAddonInstanceAPI + public class PlayFabAddonInstanceAPI : IPlayFabAddonInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabAdminInstanceAPI.cs b/PlayFabSDK/source/PlayFabAdminInstanceAPI.cs index 65348592..176888ef 100644 --- a/PlayFabSDK/source/PlayFabAdminInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabAdminInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// APIs for managing title configurations, uploaded Game Server code executables, and user data /// - public class PlayFabAdminInstanceAPI + public class PlayFabAdminInstanceAPI : IPlayFabAdminInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabAuthenticationInstanceAPI.cs b/PlayFabSDK/source/PlayFabAuthenticationInstanceAPI.cs index d7e59fa4..f43e87b3 100644 --- a/PlayFabSDK/source/PlayFabAuthenticationInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabAuthenticationInstanceAPI.cs @@ -18,7 +18,7 @@ namespace PlayFab /// game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be /// used to call Matchmaking Lobby and Pubsub for server scenarios. /// - public class PlayFabAuthenticationInstanceAPI + public class PlayFabAuthenticationInstanceAPI : IPlayFabAuthenticationInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabClientInstanceAPI.cs b/PlayFabSDK/source/PlayFabClientInstanceAPI.cs index cdd2612d..1bf6033a 100644 --- a/PlayFabSDK/source/PlayFabClientInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabClientInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// APIs which provide the full range of PlayFab features available to the client - authentication, account and data /// management, inventory, friends, matchmaking, reporting, and platform-specific functionality /// - public class PlayFabClientInstanceAPI + public class PlayFabClientInstanceAPI : IPlayFabClientInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabCloudScriptInstanceAPI.cs b/PlayFabSDK/source/PlayFabCloudScriptInstanceAPI.cs index d85d0486..ad246a06 100644 --- a/PlayFabSDK/source/PlayFabCloudScriptInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabCloudScriptInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// API methods for executing CloudScript using an Entity Profile /// - public class PlayFabCloudScriptInstanceAPI + public class PlayFabCloudScriptInstanceAPI : IPlayFabCloudScriptInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabDataInstanceAPI.cs b/PlayFabSDK/source/PlayFabDataInstanceAPI.cs index a26a3a1f..b5e002ac 100644 --- a/PlayFabSDK/source/PlayFabDataInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabDataInstanceAPI.cs @@ -18,7 +18,7 @@ namespace PlayFab /// and CloudScript functions. Files can efficiently store data of any size or format. Both objects and files support a /// flexible permissions system to control read and write access by other entities. /// - public class PlayFabDataInstanceAPI + public class PlayFabDataInstanceAPI : IPlayFabDataInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabEconomyInstanceAPI.cs b/PlayFabSDK/source/PlayFabEconomyInstanceAPI.cs index 7450d84b..c3fab5ca 100644 --- a/PlayFabSDK/source/PlayFabEconomyInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabEconomyInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// API methods for managing the catalog. Inventory manages in-game assets for any given entity. API methods for managing /// the versioned catalogs. /// - public class PlayFabEconomyInstanceAPI + public class PlayFabEconomyInstanceAPI : IPlayFabEconomyInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabExperimentationInstanceAPI.cs b/PlayFabSDK/source/PlayFabExperimentationInstanceAPI.cs index da44707d..5e7085c2 100644 --- a/PlayFabSDK/source/PlayFabExperimentationInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabExperimentationInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// APIs for managing experiments. /// - public class PlayFabExperimentationInstanceAPI + public class PlayFabExperimentationInstanceAPI : IPlayFabExperimentationInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabGroupsInstanceAPI.cs b/PlayFabSDK/source/PlayFabGroupsInstanceAPI.cs index 3866872f..566b82d2 100644 --- a/PlayFabSDK/source/PlayFabGroupsInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabGroupsInstanceAPI.cs @@ -17,7 +17,7 @@ namespace PlayFab /// want to make Guilds/Clans/Corporations/etc., then you should use groups. Groups can also be used to make chatrooms, /// parties, or any other persistent collection of entities. /// - public class PlayFabGroupsInstanceAPI + public class PlayFabGroupsInstanceAPI : IPlayFabGroupsInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabInsightsInstanceAPI.cs b/PlayFabSDK/source/PlayFabInsightsInstanceAPI.cs index facb82f5..fea2f463 100644 --- a/PlayFabSDK/source/PlayFabInsightsInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabInsightsInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// Manage the Insights performance level and data storage retention settings. /// - public class PlayFabInsightsInstanceAPI + public class PlayFabInsightsInstanceAPI : IPlayFabInsightsInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabLocalizationInstanceAPI.cs b/PlayFabSDK/source/PlayFabLocalizationInstanceAPI.cs index 281c441f..d5ffb6e7 100644 --- a/PlayFabSDK/source/PlayFabLocalizationInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabLocalizationInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// The Localization APIs give you the tools needed to manage language setup in your title. /// - public class PlayFabLocalizationInstanceAPI + public class PlayFabLocalizationInstanceAPI : IPlayFabLocalizationInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabMultiplayerInstanceAPI.cs b/PlayFabSDK/source/PlayFabMultiplayerInstanceAPI.cs index 20ef7d89..32a0effc 100644 --- a/PlayFabSDK/source/PlayFabMultiplayerInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabMultiplayerInstanceAPI.cs @@ -18,7 +18,7 @@ namespace PlayFab /// The TrueSkill service helps titles to estimate a player's skill based on their match results. The player skill values /// from this service are commonly used by a matchmaking service to provide players with balanced matches. /// - public class PlayFabMultiplayerInstanceAPI + public class PlayFabMultiplayerInstanceAPI : IPlayFabMultiplayerInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabProfilesInstanceAPI.cs b/PlayFabSDK/source/PlayFabProfilesInstanceAPI.cs index 366e2340..a3ac8465 100644 --- a/PlayFabSDK/source/PlayFabProfilesInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabProfilesInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools /// needed to manage entity profiles. /// - public class PlayFabProfilesInstanceAPI + public class PlayFabProfilesInstanceAPI : IPlayFabProfilesInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabProgressionInstanceAPI.cs b/PlayFabSDK/source/PlayFabProgressionInstanceAPI.cs index bc485866..22f7981c 100644 --- a/PlayFabSDK/source/PlayFabProgressionInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabProgressionInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// Manage entity statistics Manage entity leaderboards /// - public class PlayFabProgressionInstanceAPI + public class PlayFabProgressionInstanceAPI : IPlayFabProgressionInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabServerInstanceAPI.cs b/PlayFabSDK/source/PlayFabServerInstanceAPI.cs index 67d807c5..d4ca7e96 100644 --- a/PlayFabSDK/source/PlayFabServerInstanceAPI.cs +++ b/PlayFabSDK/source/PlayFabServerInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// Provides functionality to allow external (developer-controlled) servers to interact with user inventories and data in a /// trusted manner, and to handle matchmaking and client connection orchestration /// - public class PlayFabServerInstanceAPI + public class PlayFabServerInstanceAPI : IPlayFabServerInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/PlayFabSDK/source/PlayFabSettings.cs b/PlayFabSDK/source/PlayFabSettings.cs index a9e12f98..61ce2f43 100644 --- a/PlayFabSDK/source/PlayFabSettings.cs +++ b/PlayFabSDK/source/PlayFabSettings.cs @@ -7,7 +7,7 @@ namespace PlayFab public class PlayFabSettings { public const string SdkVersion = "1.203.250620"; - public const string BuildIdentifier = "adobuild_csharpsdk_117"; + public const string BuildIdentifier = "adobuild_csharpsdk_114"; public const string SdkVersionString = "CSharpSDK-1.203.250620"; /// This is only for customers running a private cluster. Generally you shouldn't touch this public static string DefaultProductionEnvironmentUrl = "playfabapi.com"; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAddonInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAddonInstanceAPI.cs new file mode 100644 index 00000000..d6d97c9c --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAddonInstanceAPI.cs @@ -0,0 +1,257 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.AddonModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs for managing addons. + /// + public interface IPlayFabAddonInstanceAPI + { + /// + /// Creates the Apple addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateAppleAsync( + CreateOrUpdateAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Facebook addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateFacebookAsync( + CreateOrUpdateFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Facebook Instant Games addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateFacebookInstantGamesAsync( + CreateOrUpdateFacebookInstantGamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Google addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateGoogleAsync( + CreateOrUpdateGoogleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Kongregate addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateKongregateAsync( + CreateOrUpdateKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Nintendo addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateNintendoAsync( + CreateOrUpdateNintendoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the PSN addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdatePSNAsync( + CreateOrUpdatePSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Steam addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateSteamAsync( + CreateOrUpdateSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the ToxMod addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateToxModAsync( + CreateOrUpdateToxModRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates the Twitch addon on a title, or updates it if it already exists. + /// + Task> CreateOrUpdateTwitchAsync( + CreateOrUpdateTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Apple addon on a title. + /// + Task> DeleteAppleAsync( + DeleteAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Facebook addon on a title. + /// + Task> DeleteFacebookAsync( + DeleteFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Facebook addon on a title. + /// + Task> DeleteFacebookInstantGamesAsync( + DeleteFacebookInstantGamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Google addon on a title. + /// + Task> DeleteGoogleAsync( + DeleteGoogleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Kongregate addon on a title. + /// + Task> DeleteKongregateAsync( + DeleteKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Nintendo addon on a title. + /// + Task> DeleteNintendoAsync( + DeleteNintendoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the PSN addon on a title. + /// + Task> DeletePSNAsync( + DeletePSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Steam addon on a title. + /// + Task> DeleteSteamAsync( + DeleteSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the ToxMod addon on a title. + /// + Task> DeleteToxModAsync( + DeleteToxModRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the Twitch addon on a title. + /// + Task> DeleteTwitchAsync( + DeleteTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Apple addon on a title, omits secrets. + /// + Task> GetAppleAsync( + GetAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Facebook addon on a title, omits secrets. + /// + Task> GetFacebookAsync( + GetFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Facebook Instant Games addon on a title, omits secrets. + /// + Task> GetFacebookInstantGamesAsync( + GetFacebookInstantGamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Google addon on a title, omits secrets. + /// + Task> GetGoogleAsync( + GetGoogleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Kongregate addon on a title, omits secrets. + /// + Task> GetKongregateAsync( + GetKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Nintendo addon on a title, omits secrets. + /// + Task> GetNintendoAsync( + GetNintendoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the PSN addon on a title, omits secrets. + /// + Task> GetPSNAsync( + GetPSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Steam addon on a title, omits secrets. + /// + Task> GetSteamAsync( + GetSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the ToxMod addon on a title, omits secrets. + /// + Task> GetToxModAsync( + GetToxModRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information of the Twitch addon on a title, omits secrets. + /// + Task> GetTwitchAsync( + GetTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAdminInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAdminInstanceAPI.cs new file mode 100644 index 00000000..e3a2c923 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAdminInstanceAPI.cs @@ -0,0 +1,1004 @@ +#if ENABLE_PLAYFABADMIN_API + +using PlayFab.AdminModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs for managing title configurations, uploaded Game Server code executables, and user data + /// + public interface IPlayFabAdminInstanceAPI + { + /// + /// Abort an ongoing task instance. + /// + Task> AbortTaskInstanceAsync( + AbortTaskInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update news item to include localized version + /// + Task> AddLocalizedNewsAsync( + AddLocalizedNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a new news item to the title's news feed + /// + Task> AddNewsAsync( + AddNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> AddPlayerTagAsync( + AddPlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the specified virtual currency by the stated amount + /// + Task> AddUserVirtualCurrencyAsync( + AddUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum + /// value of 2,147,483,647 when granted to a player. Any value over that will be discarded. + /// + Task> AddVirtualCurrencyTypesAsync( + AddVirtualCurrencyTypesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + /// + Task> BanUsersAsync( + BanUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Checks the global count for the limited edition item. + /// + Task> CheckLimitedEditionItemAvailabilityAsync( + CheckLimitedEditionItemAvailabilityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create an ActionsOnPlayersInSegment task, which iterates through all players in a segment to execute action. + /// + Task> CreateActionsOnPlayersInSegmentTaskAsync( + CreateActionsOnPlayerSegmentTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a CloudScript task, which can run a CloudScript on a schedule. + /// + Task> CreateCloudScriptTaskAsync( + CreateCloudScriptTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a Insights Scheduled Scaling task, which can scale Insights Performance Units on a schedule + /// + Task> CreateInsightsScheduledScalingTaskAsync( + CreateInsightsScheduledScalingTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers a relationship between a title and an Open ID Connect provider. + /// + Task> CreateOpenIdConnectionAsync( + CreateOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new Player Shared Secret Key. It may take up to 5 minutes for this key to become generally available after + /// this API returns. + /// + Task> CreatePlayerSharedSecretAsync( + CreatePlayerSharedSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a new player statistic configuration to the title, optionally allowing the developer to specify a reset interval + /// and an aggregation method. + /// + Task> CreatePlayerStatisticDefinitionAsync( + CreatePlayerStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new player segment by defining the conditions on player properties. Also, create actions to target the player + /// segments for a title. + /// + Task> CreateSegmentAsync( + CreateSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a content file from the title. When deleting a file that does not exist, it returns success. + /// + Task> DeleteContentAsync( + DeleteContentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a master player account entirely from all titles and deletes all associated data + /// + Task> DeleteMasterPlayerAccountAsync( + DeleteMasterPlayerAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes PlayStream and telemetry event data associated with the master player account from PlayFab storage + /// + Task> DeleteMasterPlayerEventDataAsync( + DeleteMasterPlayerEventDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a player's subscription + /// + Task> DeleteMembershipSubscriptionAsync( + DeleteMembershipSubscriptionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a relationship between a title and an OpenID Connect provider. + /// + Task> DeleteOpenIdConnectionAsync( + DeleteOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a user's player account from a title and deletes all associated data + /// + Task> DeletePlayerAsync( + DeletePlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes title-specific custom properties for a player + /// + Task> DeletePlayerCustomPropertiesAsync( + DeletePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing Player Shared Secret Key. It may take up to 5 minutes for this delete to be reflected after this API + /// returns. + /// + Task> DeletePlayerSharedSecretAsync( + DeletePlayerSharedSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing player segment and its associated action(s) for a title. + /// + Task> DeleteSegmentAsync( + DeleteSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Deletes an existing virtual item store + /// + Task> DeleteStoreAsync( + DeleteStoreRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a task. + /// + Task> DeleteTaskAsync( + DeleteTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Permanently deletes a title and all associated configuration + /// + Task> DeleteTitleAsync( + DeleteTitleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a specified set of title data overrides. + /// + Task> DeleteTitleDataOverrideAsync( + DeleteTitleDataOverrideRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Exports all associated data of a master player account + /// + Task> ExportMasterPlayerDataAsync( + ExportMasterPlayerDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Starts an export for the player profiles in a segment. This API creates a snapshot of all the player profiles which + /// match the segment definition at the time of the API call. Profiles which change while an export is in progress will not + /// be reflected in the results. + /// + Task> ExportPlayersInSegmentAsync( + ExportPlayersInSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get information about a ActionsOnPlayersInSegment task instance. + /// + Task> GetActionsOnPlayersInSegmentTaskInstanceAsync( + GetTaskInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as + /// GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + /// + Task> GetAllSegmentsAsync( + GetAllSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + /// + Task> GetCatalogItemsAsync( + GetCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the contents and information of a specific Cloud Script revision. + /// + Task> GetCloudScriptRevisionAsync( + GetCloudScriptRevisionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get detail information about a CloudScript task instance. + /// + Task> GetCloudScriptTaskInstanceAsync( + GetTaskInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all the current cloud script versions. For each version, information about the current published and latest + /// revisions is also listed. + /// + Task> GetCloudScriptVersionsAsync( + GetCloudScriptVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all contents of the title and get statistics such as size + /// + Task> GetContentListAsync( + GetContentListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the pre-signed URL for uploading a content file. A subsequent HTTP PUT to the returned URL uploads the + /// content. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN + /// rates apply. + /// + Task> GetContentUploadUrlAsync( + GetContentUploadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a download URL for the requested report + /// + Task> GetDataReportAsync( + GetDataReportRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the list of titles that the player has played + /// + Task> GetPlayedTitleListAsync( + GetPlayedTitleListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a title-specific custom property value for a player. + /// + Task> GetPlayerCustomPropertyAsync( + GetPlayerCustomPropertyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a player's ID from an auth token. + /// + Task> GetPlayerIdFromAuthTokenAsync( + GetPlayerIdFromAuthTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the player's profile + /// + Task> GetPlayerProfileAsync( + GetPlayerProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all segments that a player currently belongs to at this moment in time. + /// + Task> GetPlayerSegmentsAsync( + GetPlayersSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns all Player Shared Secret Keys including disabled and expired. + /// + Task> GetPlayerSharedSecretsAsync( + GetPlayerSharedSecretsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match + /// the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span + /// on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected + /// in the results. AB Test segments are currently not supported by this operation. NOTE: This API is limited to being + /// called 30 times in one minute. You will be returned an error if you exceed this threshold. + /// + Task> GetPlayersInSegmentAsync( + GetPlayersInSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the configuration information for all player statistics defined in the title, regardless of whether they have + /// a reset interval. + /// + Task> GetPlayerStatisticDefinitionsAsync( + GetPlayerStatisticDefinitionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the information on the available versions of the specified statistic. + /// + Task> GetPlayerStatisticVersionsAsync( + GetPlayerStatisticVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all tags with a given Namespace (optional) from a player profile. + /// + Task> GetPlayerTagsAsync( + GetPlayerTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the requested policy. + /// + Task> GetPolicyAsync( + GetPolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom publisher settings + /// + Task> GetPublisherDataAsync( + GetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the random drop table configuration for the title + /// + Task> GetRandomResultTablesAsync( + GetRandomResultTablesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the result of an export started by ExportPlayersInSegment API. If the ExportPlayersInSegment is successful and + /// complete, this API returns the IndexUrl from which the index file can be downloaded. The index file has a list of urls + /// from which the files containing the player profile data can be downloaded. Otherwise, it returns the current 'State' of + /// the export + /// + Task> GetSegmentExportAsync( + GetPlayersInSegmentExportRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get detail information of a segment and its associated definition(s) and action(s) for a title. + /// + Task> GetSegmentsAsync( + GetSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the set of items defined for the specified store, including all prices defined + /// + Task> GetStoreItemsAsync( + GetStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Query for task instances by task, status, or time range. + /// + Task> GetTaskInstancesAsync( + GetTaskInstancesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get definition information on a specified task or all tasks within a title. + /// + Task> GetTasksAsync( + GetTasksRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings which can be read by the client + /// + Task> GetTitleDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings which cannot be read by the client + /// + Task> GetTitleInternalDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the relevant details for a specified user, based upon a match against a supplied unique identifier + /// + Task> GetUserAccountInfoAsync( + LookupUserAccountInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets all bans for a user. + /// + Task> GetUserBansAsync( + GetUserBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified user's current inventory of virtual goods + /// + Task> GetUserInventoryAsync( + GetUserInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserPublisherDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserPublisherInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which can only be read by the client + /// + Task> GetUserPublisherReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which can only be read by the client + /// + Task> GetUserReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified user inventories + /// + Task> GrantItemsToUsersAsync( + GrantItemsToUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increases the global count for the given scarce resource. + /// + Task> IncrementLimitedEditionItemAvailabilityAsync( + IncrementLimitedEditionItemAvailabilityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Resets the indicated statistic, removing all player entries for it and backing up the old values. + /// + Task> IncrementPlayerStatisticVersionAsync( + IncrementPlayerStatisticVersionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of all Open ID Connect providers registered to a title. + /// + Task> ListOpenIdConnectionAsync( + ListOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves title-specific custom property values for a player. + /// + Task> ListPlayerCustomPropertiesAsync( + ListPlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retuns the list of all defined virtual currencies for the title + /// + Task> ListVirtualCurrencyTypesAsync( + ListVirtualCurrencyTypesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Attempts to process an order refund through the original real money payment provider. + /// + Task> RefundPurchaseAsync( + RefundPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> RemovePlayerTagAsync( + RemovePlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Removes one or more virtual currencies from the set defined for the title. + /// + Task> RemoveVirtualCurrencyTypesAsync( + RemoveVirtualCurrencyTypesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Completely removes all statistics for the specified character, for the current game + /// + Task> ResetCharacterStatisticsAsync( + ResetCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Reset a player's password for a given title. + /// + Task> ResetPasswordAsync( + ResetPasswordRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Completely removes all statistics for the specified user, for the current game + /// + Task> ResetUserStatisticsAsync( + ResetUserStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Attempts to resolve a dispute with the original order's payment provider. + /// + Task> ResolvePurchaseDisputeAsync( + ResolvePurchaseDisputeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans for a user. + /// + Task> RevokeAllBansForUserAsync( + RevokeAllBansForUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans specified with BanId. + /// + Task> RevokeBansAsync( + RevokeBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access to an item in a user's inventory + /// + Task> RevokeInventoryItemAsync( + RevokeInventoryItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access for up to 25 items across multiple users and characters. + /// + Task> RevokeInventoryItemsAsync( + RevokeInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Run a task immediately regardless of its schedule. + /// + Task> RunTaskAsync( + RunTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to + /// change the password.If an account recovery email template ID is provided, an email using the custom email template will + /// be used. + /// + Task> SendAccountRecoveryEmailAsync( + SendAccountRecoveryEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Creates the catalog configuration of all virtual goods for the specified catalog version + /// + Task> SetCatalogItemsAsync( + UpdateCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the override expiration for a membership subscription + /// + Task> SetMembershipOverrideAsync( + SetMembershipOverrideRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets or resets the player's secret. Player secrets are used to sign API requests. + /// + Task> SetPlayerSecretAsync( + SetPlayerSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the currently published revision of a title Cloud Script + /// + Task> SetPublishedRevisionAsync( + SetPublishedRevisionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom publisher settings + /// + Task> SetPublisherDataAsync( + SetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Sets all the items in one virtual store + /// + Task> SetStoreItemsAsync( + UpdateStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the key-value store of custom title settings 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. + /// + Task> SetTitleDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Set and delete key-value pairs in a title data override instance. + /// + Task> SetTitleDataAndOverridesAsync( + SetTitleDataAndOverridesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom title settings which cannot be read by the client. These values can be used to + /// tweak settings used by game servers and Cloud Scripts without the need to update and re-deploy. + /// + Task> SetTitleInternalDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the Amazon Resource Name (ARN) for iOS and Android push notifications. Documentation on the exact restrictions can + /// be found at: http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html. Currently, Amazon device + /// Messaging is not supported. + /// + Task> SetupPushNotificationAsync( + SetupPushNotificationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the specified virtual currency by the stated amount + /// + Task> SubtractUserVirtualCurrencyAsync( + SubtractUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates information of a list of existing bans specified with Ban Ids. + /// + Task> UpdateBansAsync( + UpdateBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates the catalog configuration for virtual goods in the specified catalog version + /// + Task> UpdateCatalogItemsAsync( + UpdateCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new Cloud Script revision and uploads source code to it. Note that at this time, only one file should be + /// submitted in the revision. + /// + Task> UpdateCloudScriptAsync( + UpdateCloudScriptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Modifies data and credentials for an existing relationship between a title and an Open ID Connect provider + /// + Task> UpdateOpenIdConnectionAsync( + UpdateOpenIdConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom property values for a player + /// + Task> UpdatePlayerCustomPropertiesAsync( + UpdatePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a existing Player Shared Secret Key. It may take up to 5 minutes for this update to become generally available + /// after this API returns. + /// + Task> UpdatePlayerSharedSecretAsync( + UpdatePlayerSharedSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a player statistic configuration for the title, optionally allowing the developer to specify a reset interval. + /// + Task> UpdatePlayerStatisticDefinitionAsync( + UpdatePlayerStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Changes a policy for a title + /// + Task> UpdatePolicyAsync( + UpdatePolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates the random drop table configuration for the title + /// + Task> UpdateRandomResultTablesAsync( + UpdateRandomResultTablesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates an existing player segment and its associated definition(s) and action(s) for a title. + /// + Task> UpdateSegmentAsync( + UpdateSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates an existing virtual item store with new or modified items + /// + Task> UpdateStoreItemsAsync( + UpdateStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update an existing task. + /// + Task> UpdateTaskAsync( + UpdateTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserPublisherDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserPublisherInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserPublisherReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title specific display name for a user + /// + Task> UpdateUserTitleDisplayNameAsync( + UpdateUserTitleDisplayNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAuthenticationInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAuthenticationInstanceAPI.cs new file mode 100644 index 00000000..ef15cba3 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabAuthenticationInstanceAPI.cs @@ -0,0 +1,53 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.AuthenticationModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// The Authentication APIs provide a convenient way to convert classic authentication responses into entity authentication + /// models. These APIs will provide you with the entity authentication token needed for subsequent Entity API calls. The + /// game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be + /// used to call Matchmaking Lobby and Pubsub for server scenarios. + /// + public interface IPlayFabAuthenticationInstanceAPI + { + /// + /// Create a game_server entity token and return a new or existing game_server entity. + /// + Task> AuthenticateGameServerWithCustomIdAsync( + AuthenticateCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a game_server entity. + /// + Task> DeleteAsync( + DeleteRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Method to exchange a legacy AuthenticationTicket or title SecretKey for an Entity Token or to refresh a still valid + /// Entity Token. + /// + Task> GetEntityTokenAsync( + GetEntityTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Method for a server to validate a client provided EntityToken. Only callable by the title entity. + /// + Task> ValidateEntityTokenAsync( + ValidateEntityTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabClientInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabClientInstanceAPI.cs new file mode 100644 index 00000000..8785f524 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabClientInstanceAPI.cs @@ -0,0 +1,1524 @@ +#if !DISABLE_PLAYFABCLIENT_API + +using PlayFab.ClientModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs which provide the full range of PlayFab features available to the client - authentication, account and data + /// management, inventory, friends, matchmaking, reporting, and platform-specific functionality + /// + public interface IPlayFabClientInstanceAPI + { + /// + /// Accepts an open trade (one that has not yet been accepted or cancelled), if the locally signed-in player is in the + /// allowed player list for the trade, or it is open to all players. If the call is successful, the offered and accepted + /// items will be swapped between the two players' inventories. + /// + Task> AcceptTradeAsync( + AcceptTradeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the PlayFab user, based upon a match against a supplied unique identifier, to the friend list of the local user. At + /// least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + /// + Task> AddFriendAsync( + AddFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab + /// ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as + /// authentication credentials, as the intent is that it is easily accessible by other players. + /// + Task> AddGenericIDAsync( + AddGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds or updates a contact email to the player's profile. + /// + Task> AddOrUpdateContactEmailAsync( + AddOrUpdateContactEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users + /// in the group can add new members. Shared Groups are designed for sharing data between a very small number of players, + /// please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> AddSharedGroupMembersAsync( + AddSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device + /// ID login. + /// + Task> AddUsernamePasswordAsync( + AddUsernamePasswordRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the user's balance of the specified virtual currency by the stated amount + /// + Task> AddUserVirtualCurrencyAsync( + AddUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers the Android device to receive push notifications + /// + Task> AndroidDevicePushNotificationRegistrationAsync( + AndroidDevicePushNotificationRegistrationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Attributes an install for advertisment. + /// + Task> AttributeInstallAsync( + AttributeInstallRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancels an open trade (one that has not yet been accepted or cancelled). Note that only the player who created the trade + /// can cancel it via this API call, to prevent griefing of the trade system (cancelling trades in order to prevent other + /// players from accepting them, for trades that can be claimed by more than one player). + /// + Task> CancelTradeAsync( + CancelTradeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and + /// virtual currency balances as appropriate + /// + Task> ConfirmPurchaseAsync( + ConfirmPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's + /// inventory. + /// + Task> ConsumeItemAsync( + ConsumeItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the player's current entitlements from Microsoft Store's Collection API + /// + Task> ConsumeMicrosoftStoreEntitlementsAsync( + ConsumeMicrosoftStoreEntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Checks for any new consumable entitlements. If any are found, they are consumed (if they're consumables) and added as + /// PlayFab items + /// + Task> ConsumePS5EntitlementsAsync( + ConsumePS5EntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Checks for any new consumable entitlements. If any are found, they are consumed and added as PlayFab items + /// + Task> ConsumePSNEntitlementsAsync( + ConsumePSNEntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the player's current entitlements from Xbox Live, consuming all availble items in Xbox and granting them to the + /// player's PlayFab inventory. This call is idempotent and will not grant previously granted items to the player. + /// + Task> ConsumeXboxEntitlementsAsync( + ConsumeXboxEntitlementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the + /// group. Upon creation, the current user will be the only member of the group. Shared Groups are designed for sharing data + /// between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> CreateSharedGroupAsync( + CreateSharedGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes title-specific custom properties for a player + /// + Task> DeletePlayerCustomPropertiesAsync( + DeletePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. The + /// PlayFab ID is the entity ID of the player's master_player_account entity. + /// + Task> ExecuteCloudScriptAsync( + ExecuteCloudScriptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the user's PlayFab account details + /// + Task> GetAccountInfoAsync( + GetAccountInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns a list of ad placements and a reward for each + /// + Task> GetAdPlacementsAsync( + GetAdPlacementsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be + /// evaluated with the parent PlayFabId to guarantee uniqueness. + /// + Task> GetAllUsersCharactersAsync( + ListUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + /// + Task> GetCatalogItemsAsync( + GetCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the character which is readable and writable by the client + /// + Task> GetCharacterDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified character's current inventory of virtual goods + /// + Task> GetCharacterInventoryAsync( + GetCharacterInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetCharacterLeaderboardAsync( + GetCharacterLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the character which can only be read by the client + /// + Task> GetCharacterReadOnlyDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the details of all title-specific statistics for the user + /// + Task> GetCharacterStatisticsAsync( + GetCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned + /// URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the + /// content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, + /// the query to retrieve the data will fail. See this post for more information: + /// https://community.playfab.com/hc/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, + /// please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + /// + Task> GetContentDownloadUrlAsync( + GetContentDownloadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in + /// the leaderboard + /// + Task> GetFriendLeaderboardAsync( + GetFriendLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked friends of the current player for the given statistic, centered on the requested PlayFab + /// user. If PlayFabId is empty or null will return currently logged in user. + /// + Task> GetFriendLeaderboardAroundPlayerAsync( + GetFriendLeaderboardAroundPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current friend list for the local user, constrained to users who have PlayFab accounts. Friends from + /// linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + /// + Task> GetFriendsListAsync( + GetFriendsListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetLeaderboardAsync( + GetLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID + /// + Task> GetLeaderboardAroundCharacterAsync( + GetLeaderboardAroundCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or + /// null will return currently logged in user. + /// + Task> GetLeaderboardAroundPlayerAsync( + GetLeaderboardAroundPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of all of the user's characters for the given statistic. + /// + Task> GetLeaderboardForUserCharactersAsync( + GetLeaderboardForUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ For payments flows where the provider requires playfab (the fulfiller) to initiate the transaction, but the + /// client completes the rest of the flow. In the Xsolla case, the token returned here will be passed to Xsolla by the + /// client to create a cart. Poll GetPurchase using the returned OrderId once you've completed the payment. + /// + Task> GetPaymentTokenAsync( + GetPaymentTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See + /// https://docs.microsoft.com/gaming/playfab/features/multiplayer/photon/quickstart for more details. + /// + Task> GetPhotonAuthenticationTokenAsync( + GetPhotonAuthenticationTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves all of the user's different kinds of info. + /// + Task> GetPlayerCombinedInfoAsync( + GetPlayerCombinedInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a title-specific custom property value for a player. + /// + Task> GetPlayerCustomPropertyAsync( + GetPlayerCustomPropertyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the player's profile + /// + Task> GetPlayerProfileAsync( + GetPlayerProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all segments that a player currently belongs to at this moment in time. + /// + Task> GetPlayerSegmentsAsync( + GetPlayerSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local + /// player. + /// + Task> GetPlayerStatisticsAsync( + GetPlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the information on the available versions of the specified statistic. + /// + Task> GetPlayerStatisticVersionsAsync( + GetPlayerStatisticVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all tags with a given Namespace (optional) from a player profile. + /// + Task> GetPlayerTagsAsync( + GetPlayerTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets all trades the player has either opened or accepted, optionally filtered by trade status. + /// + Task> GetPlayerTradesAsync( + GetPlayerTradesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Battle.net account identifiers. + /// + Task> GetPlayFabIDsFromBattleNetAccountIdsAsync( + GetPlayFabIDsFromBattleNetAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + /// + Task> GetPlayFabIDsFromFacebookIDsAsync( + GetPlayFabIDsFromFacebookIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Game identifiers. + /// + Task> GetPlayFabIDsFromFacebookInstantGamesIdsAsync( + GetPlayFabIDsFromFacebookInstantGamesIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Game Center identifiers (referenced in the Game Center + /// Programming Guide as the Player Identifier). + /// + Task> GetPlayFabIDsFromGameCenterIDsAsync( + GetPlayFabIDsFromGameCenterIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the + /// service name plus the service-specific ID for the player, as specified by the title when the generic identifier was + /// added to the player account. + /// + Task> GetPlayFabIDsFromGenericIDsAsync( + GetPlayFabIDsFromGenericIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Google identifiers. The Google identifiers are the IDs for + /// the user accounts, available as "id" in the Google+ People API calls. + /// + Task> GetPlayFabIDsFromGoogleIDsAsync( + GetPlayFabIDsFromGoogleIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Google Play Games identifiers. The Google Play Games + /// identifiers are the IDs for the user accounts, available as "playerId" in the Google Play Games Services - Players API + /// calls. + /// + Task> GetPlayFabIDsFromGooglePlayGamesPlayerIDsAsync( + GetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Kongregate identifiers. The Kongregate identifiers are the + /// IDs for the user accounts, available as "user_id" from the Kongregate API methods(ex: + /// http://developers.kongregate.com/docs/client/getUserId). + /// + Task> GetPlayFabIDsFromKongregateIDsAsync( + GetPlayFabIDsFromKongregateIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers. + /// + Task> GetPlayFabIDsFromNintendoServiceAccountIdsAsync( + GetPlayFabIDsFromNintendoServiceAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers. + /// + Task> GetPlayFabIDsFromNintendoSwitchDeviceIdsAsync( + GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNAccountIDsAsync( + GetPlayFabIDsFromPSNAccountIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNOnlineIDsAsync( + GetPlayFabIDsFromPSNOnlineIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile + /// IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + /// + Task> GetPlayFabIDsFromSteamIDsAsync( + GetPlayFabIDsFromSteamIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona + /// names. + /// + Task> GetPlayFabIDsFromSteamNamesAsync( + GetPlayFabIDsFromSteamNamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for + /// the user accounts, available as "_id" from the Twitch API methods (ex: + /// https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). + /// + Task> GetPlayFabIDsFromTwitchIDsAsync( + GetPlayFabIDsFromTwitchIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. + /// + Task> GetPlayFabIDsFromXboxLiveIDsAsync( + GetPlayFabIDsFromXboxLiveIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom publisher settings + /// + Task> GetPublisherDataAsync( + GetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that + /// are still active. + /// + Task> GetPurchaseAsync( + GetPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves data stored in a shared group object, as well as the list of members in the group. Non-members of the group + /// may use this to retrieve group data, including membership, but they will not receive data for keys marked as private. + /// Shared Groups are designed for sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> GetSharedGroupDataAsync( + GetSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the set of items defined for the specified store, including all prices defined + /// + Task> GetStoreItemsAsync( + GetStoreItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current server time + /// + Task> GetTimeAsync( + GetTimeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings + /// + Task> GetTitleDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title news feed, as configured in the developer portal + /// + Task> GetTitleNewsAsync( + GetTitleNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns the title's base 64 encoded RSA CSP blob. + /// + Task> GetTitlePublicKeyAsync( + GetTitlePublicKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the current status of an existing trade. + /// + Task> GetTradeStatusAsync( + GetTradeStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the user's current inventory of virtual goods + /// + Task> GetUserInventoryAsync( + GetUserInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserPublisherDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which can only be read by the client + /// + Task> GetUserPublisherReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which can only be read by the client + /// + Task> GetUserReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated + /// with the parent PlayFabId to guarantee uniqueness. + /// + Task> GrantCharacterToUserAsync( + GrantCharacterToUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Android device identifier to the user's PlayFab account + /// + Task> LinkAndroidDeviceIDAsync( + LinkAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Apple account associated with the token to the user's PlayFab account. + /// + Task> LinkAppleAsync( + LinkAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Battle.net account associated with the token to the user's PlayFab account. + /// + Task> LinkBattleNetAccountAsync( + LinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the custom identifier, generated by the title, to the user's PlayFab account + /// + Task> LinkCustomIDAsync( + LinkCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account + /// + Task> LinkFacebookAccountAsync( + LinkFacebookAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Facebook Instant Games Id to the user's PlayFab account + /// + Task> LinkFacebookInstantGamesIdAsync( + LinkFacebookInstantGamesIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account. Logging in with + /// a Game Center ID is insecure if you do not include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters + /// in this request. It is recommended you require these parameters on all Game Center calls by going to the Apple Add-ons + /// page in the PlayFab Game Manager and enabling the 'Require secure authentication only for this app' option. + /// + Task> LinkGameCenterAccountAsync( + LinkGameCenterAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the currently signed-in user account to their Google account, using their Google account credentials + /// + Task> LinkGoogleAccountAsync( + LinkGoogleAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the currently signed-in user account to their Google Play Games account, using their Google Play Games account + /// credentials + /// + Task> LinkGooglePlayGamesServicesAccountAsync( + LinkGooglePlayGamesServicesAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the vendor-specific iOS device identifier to the user's PlayFab account + /// + Task> LinkIOSDeviceIDAsync( + LinkIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Kongregate identifier to the user's PlayFab account + /// + Task> LinkKongregateAsync( + LinkKongregateAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Nintendo account associated with the token to the user's PlayFab account. + /// + Task> LinkNintendoServiceAccountAsync( + LinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the NintendoSwitchDeviceId to the user's PlayFab account + /// + Task> LinkNintendoSwitchDeviceIdAsync( + LinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links an OpenID Connect account to a user's PlayFab account, based on an existing relationship between a title and an + /// Open ID Connect provider and the OpenId Connect JWT from that provider. + /// + Task> LinkOpenIdConnectAsync( + LinkOpenIdConnectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the PlayStation :tm: Network account associated with the provided access code to the user's PlayFab account + /// + Task> LinkPSNAccountAsync( + LinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account + /// + Task> LinkSteamAccountAsync( + LinkSteamAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Twitch account associated with the token to the user's PlayFab account. + /// + Task> LinkTwitchAsync( + LinkTwitchAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Xbox Live account associated with the provided access code to the user's PlayFab account + /// + Task> LinkXboxAccountAsync( + LinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves title-specific custom property values for a player. + /// + Task> ListPlayerCustomPropertiesAsync( + ListPlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithAndroidDeviceIDAsync( + LoginWithAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs in the user with a Sign in with Apple identity token. + /// + Task> LoginWithAppleAsync( + LoginWithAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sign in the user with a Battle.net identity token + /// + Task> LoginWithBattleNetAsync( + LoginWithBattleNetRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithCustomIDAsync( + LoginWithCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls + /// which require an authenticated user. Unlike most other login API calls, LoginWithEmailAddress does not permit the + /// creation of new accounts via the CreateAccountFlag. Email addresses may be used to create accounts via + /// RegisterPlayFabUser. + /// + Task> LoginWithEmailAddressAsync( + LoginWithEmailAddressRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API + /// calls which require an authenticated user + /// + Task> LoginWithFacebookAsync( + LoginWithFacebookRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Facebook Instant Games ID, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user. Requires Facebook Instant Games to be configured. + /// + Task> LoginWithFacebookInstantGamesIdAsync( + LoginWithFacebookInstantGamesIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using an iOS Game Center player identifier, returning a session identifier that can subsequently be + /// used for API calls which require an authenticated user. Logging in with a Game Center ID is insecure if you do not + /// include the optional PublicKeyUrl, Salt, Signature, and Timestamp parameters in this request. It is recommended you + /// require these parameters on all Game Center calls by going to the Apple Add-ons page in the PlayFab Game Manager and + /// enabling the 'Require secure authentication only for this app' option. + /// + Task> LoginWithGameCenterAsync( + LoginWithGameCenterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using their Google account credentials + /// + Task> LoginWithGoogleAccountAsync( + LoginWithGoogleAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using their Google Play Games account credentials + /// + Task> LoginWithGooglePlayGamesServicesAsync( + LoginWithGooglePlayGamesServicesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the vendor-specific iOS device identifier, returning a session identifier that can subsequently + /// be used for API calls which require an authenticated user + /// + Task> LoginWithIOSDeviceIDAsync( + LoginWithIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Kongregate player account. + /// + Task> LoginWithKongregateAsync( + LoginWithKongregateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs in the user with a Nintendo service account token. + /// + Task> LoginWithNintendoServiceAccountAsync( + LoginWithNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Nintendo Switch Device ID, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithNintendoSwitchDeviceIdAsync( + LoginWithNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Logs in a user with an Open ID Connect JWT created by an existing relationship between a title and an Open ID Connect + /// provider. + /// + Task> LoginWithOpenIdConnectAsync( + LoginWithOpenIdConnectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls + /// which require an authenticated user. Unlike most other login API calls, LoginWithPlayFab does not permit the creation of + /// new accounts via the CreateAccountFlag. Username/Password credentials may be used to create accounts via + /// RegisterPlayFabUser, or added to existing accounts using AddUsernamePassword. + /// + Task> LoginWithPlayFabAsync( + LoginWithPlayFabRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithPSNAsync( + LoginWithPSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithSteamAsync( + LoginWithSteamRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Twitch access token. + /// + Task> LoginWithTwitchAsync( + LoginWithTwitchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls + /// which require an authenticated user + /// + Task> LoginWithXboxAsync( + LoginWithXboxRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Opens a new outstanding trade. Note that a given item instance may only be in one open trade at a time. + /// + Task> OpenTradeAsync( + OpenTradeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Selects a payment option for purchase order created via StartPurchase + /// + Task> PayForPurchaseAsync( + PayForPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Buys a single item with virtual currency. You must specify both the virtual currency to use to purchase, as + /// well as what the client believes the price to be. This lets the server fail the purchase if the price has changed. + /// + Task> PurchaseItemAsync( + PurchaseItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the + /// Economy->Catalogs tab in the PlayFab Game Manager. + /// + Task> RedeemCouponAsync( + RedeemCouponRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Uses the supplied OAuth code to refresh the internally cached player PlayStation :tm: Network auth token + /// + Task> RefreshPSNAuthTokenAsync( + RefreshPSNAuthTokenRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers the iOS device to receive push notifications + /// + Task> RegisterForIOSPushNotificationAsync( + RegisterForIOSPushNotificationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which + /// require an authenticated user. You must supply a username and an email address. + /// + Task> RegisterPlayFabUserAsync( + RegisterPlayFabUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a contact email from the player's profile. + /// + Task> RemoveContactEmailAsync( + RemoveContactEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a specified user from the friend list of the local user + /// + Task> RemoveFriendAsync( + RemoveFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes the specified generic service identifier from the player's PlayFab account. + /// + Task> RemoveGenericIDAsync( + RemoveGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the + /// group can remove members. If as a result of the call, zero users remain with access, the group and its associated data + /// will be deleted. Shared Groups are designed for sharing data between a very small number of players, please see our + /// guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> RemoveSharedGroupMembersAsync( + RemoveSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Report player's ad activity + /// + Task> ReportAdActivityAsync( + ReportAdActivityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Write a PlayStream event to describe the provided player device information. This API method is not designed to be + /// called directly by developers. Each PlayFab client SDK will eventually report this information automatically. + /// + Task> ReportDeviceInfoAsync( + DeviceInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report for another player (due to bad bahavior, etc.), so that customer service representatives for the title + /// can take action concerning potentially toxic players. + /// + Task> ReportPlayerAsync( + ReportPlayerClientRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Restores all in-app purchases based on the given restore receipt + /// + Task> RestoreIOSPurchasesAsync( + RestoreIOSPurchasesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Reward player's ad activity + /// + Task> RewardAdActivityAsync( + RewardAdActivityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to + /// change the password.If an account recovery email template ID is provided, an email using the custom email template will + /// be used. + /// + Task> SendAccountRecoveryEmailAsync( + SendAccountRecoveryEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the tag list for a specified user in the friend list of the local user + /// + Task> SetFriendTagsAsync( + SetFriendTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's + /// secret use the Admin or Server API method SetPlayerSecret. + /// + Task> SetPlayerSecretAsync( + SetPlayerSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Creates an order for a list of items from the title catalog + /// + Task> StartPurchaseAsync( + StartPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make + /// a VC balance negative with this API. + /// + Task> SubtractUserVirtualCurrencyAsync( + SubtractUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Android device identifier from the user's PlayFab account + /// + Task> UnlinkAndroidDeviceIDAsync( + UnlinkAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Apple account from the user's PlayFab account. + /// + Task> UnlinkAppleAsync( + UnlinkAppleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Battle.net account from the user's PlayFab account. + /// + Task> UnlinkBattleNetAccountAsync( + UnlinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related custom identifier from the user's PlayFab account + /// + Task> UnlinkCustomIDAsync( + UnlinkCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Facebook account from the user's PlayFab account + /// + Task> UnlinkFacebookAccountAsync( + UnlinkFacebookAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Facebook Instant Game Ids from the user's PlayFab account + /// + Task> UnlinkFacebookInstantGamesIdAsync( + UnlinkFacebookInstantGamesIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Game Center account from the user's PlayFab account + /// + Task> UnlinkGameCenterAccountAsync( + UnlinkGameCenterAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Google account from the user's PlayFab account + /// (https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil#public-methods). + /// + Task> UnlinkGoogleAccountAsync( + UnlinkGoogleAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Google Play Games account from the user's PlayFab account. + /// + Task> UnlinkGooglePlayGamesServicesAccountAsync( + UnlinkGooglePlayGamesServicesAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related iOS device identifier from the user's PlayFab account + /// + Task> UnlinkIOSDeviceIDAsync( + UnlinkIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Kongregate identifier from the user's PlayFab account + /// + Task> UnlinkKongregateAsync( + UnlinkKongregateAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Nintendo account from the user's PlayFab account. + /// + Task> UnlinkNintendoServiceAccountAsync( + UnlinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account + /// + Task> UnlinkNintendoSwitchDeviceIdAsync( + UnlinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks an OpenID Connect account from a user's PlayFab account, based on the connection ID of an existing relationship + /// between a title and an Open ID Connect provider. + /// + Task> UnlinkOpenIdConnectAsync( + UnlinkOpenIdConnectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account + /// + Task> UnlinkPSNAccountAsync( + UnlinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Steam account from the user's PlayFab account + /// + Task> UnlinkSteamAccountAsync( + UnlinkSteamAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Twitch account from the user's PlayFab account. + /// + Task> UnlinkTwitchAsync( + UnlinkTwitchAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Xbox Live account from the user's PlayFab account + /// + Task> UnlinkXboxAccountAsync( + UnlinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Opens the specified container, with the specified key (when required), and returns the contents of the + /// opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will + /// be decremented, consistent with the operation of ConsumeItem. + /// + Task> UnlockContainerInstanceAsync( + UnlockContainerInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Searches target inventory for an ItemInstance matching the given CatalogItemId, if necessary unlocks it + /// using an appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are + /// consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + /// + Task> UnlockContainerItemAsync( + UnlockContainerItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the avatar URL of the player + /// + Task> UpdateAvatarUrlAsync( + UpdateAvatarUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the title-specific custom data for the user's character which is readable and writable by the client + /// + Task> UpdateCharacterDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the specific character. By default, clients are not + /// permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + /// + Task> UpdateCharacterStatisticsAsync( + UpdateCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom property values for a player + /// + Task> UpdatePlayerCustomPropertiesAsync( + UpdatePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the user. By default, clients are not permitted to + /// update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + /// + Task> UpdatePlayerStatisticsAsync( + UpdatePlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated + /// or added in this call will be readable by users not in the group. By default, data permissions are set to Private. + /// Regardless of the permission setting, only members of the group can update the data. Shared Groups are designed for + /// sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> UpdateSharedGroupDataAsync( + UpdateSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the title-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates and updates the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserPublisherDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title specific display name for the user + /// + Task> UpdateUserTitleDisplayNameAsync( + UpdateUserTitleDisplayNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches + /// the purchased catalog item + /// + Task> ValidateAmazonIAPReceiptAsync( + ValidateAmazonReceiptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates a Google Play purchase and gives the corresponding item to the player. + /// + Task> ValidateGooglePlayPurchaseAsync( + ValidateGooglePlayPurchaseRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the + /// purchased catalog item + /// + Task> ValidateIOSReceiptAsync( + ValidateIOSReceiptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it + /// matches the purchased catalog item + /// + Task> ValidateWindowsStoreReceiptAsync( + ValidateWindowsReceiptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a character-based event into PlayStream. + /// + Task> WriteCharacterEventAsync( + WriteClientCharacterEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a player-based event into PlayStream. + /// + Task> WritePlayerEventAsync( + WriteClientPlayerEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a title-based event into PlayStream. + /// + Task> WriteTitleEventAsync( + WriteTitleEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabCloudScriptInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabCloudScriptInstanceAPI.cs new file mode 100644 index 00000000..d4b7931d --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabCloudScriptInstanceAPI.cs @@ -0,0 +1,139 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.CloudScriptModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// API methods for executing CloudScript using an Entity Profile + /// + public interface IPlayFabCloudScriptInstanceAPI + { + /// + /// Cloud Script is one of PlayFab's most versatile features. It allows client code to request execution of any kind of + /// custom server-side functionality you can implement, and it can be used in conjunction with virtually anything. + /// + Task> ExecuteEntityCloudScriptAsync( + ExecuteEntityCloudScriptRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cloud Script is one of PlayFab's most versatile features. It allows client code to request execution of any kind of + /// custom server-side functionality you can implement, and it can be used in conjunction with virtually anything. + /// + Task> ExecuteFunctionAsync( + ExecuteFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets registered Azure Functions for a given title id and function name. + /// + Task> GetFunctionAsync( + GetFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered Event Hub triggered Azure Functions for a given title. + /// + Task> ListEventHubFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered Azure Functions for a given title. + /// + Task> ListFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered HTTP triggered Azure Functions for a given title. + /// + Task> ListHttpFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all currently registered Queue triggered Azure Functions for a given title. + /// + Task> ListQueuedFunctionsAsync( + ListFunctionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate an entity PlayStream event for the provided function result. + /// + Task> PostFunctionResultForEntityTriggeredActionAsync( + PostFunctionResultForEntityTriggeredActionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate an entity PlayStream event for the provided function result. + /// + Task> PostFunctionResultForFunctionExecutionAsync( + PostFunctionResultForFunctionExecutionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate a player PlayStream event for the provided function result. + /// + Task> PostFunctionResultForPlayerTriggeredActionAsync( + PostFunctionResultForPlayerTriggeredActionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Generate a PlayStream event for the provided function result. + /// + Task> PostFunctionResultForScheduledTaskAsync( + PostFunctionResultForScheduledTaskRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers an event hub triggered Azure Function with a title. + /// + Task> RegisterEventHubFunctionAsync( + RegisterEventHubFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers an HTTP triggered Azure function with a title. + /// + Task> RegisterHttpFunctionAsync( + RegisterHttpFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Registers a queue triggered Azure Function with a title. + /// + Task> RegisterQueuedFunctionAsync( + RegisterQueuedFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unregisters an Azure Function with a title. + /// + Task> UnregisterFunctionAsync( + UnregisterFunctionRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabDataInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabDataInstanceAPI.cs new file mode 100644 index 00000000..0c346912 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabDataInstanceAPI.cs @@ -0,0 +1,76 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.DataModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Store arbitrary data associated with an entity. Objects are small (~1KB) JSON-compatible objects which are stored + /// directly on the entity profile. Objects are made available for use in other PlayFab contexts, such as PlayStream events + /// and CloudScript functions. Files can efficiently store data of any size or format. Both objects and files support a + /// flexible permissions system to control read and write access by other entities. + /// + public interface IPlayFabDataInstanceAPI + { + /// + /// Abort pending file uploads to an entity's profile. + /// + Task> AbortFileUploadsAsync( + AbortFileUploadsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete files on an entity's profile. + /// + Task> DeleteFilesAsync( + DeleteFilesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Finalize file uploads to an entity's profile. + /// + Task> FinalizeFileUploadsAsync( + FinalizeFileUploadsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves file metadata from an entity's profile. + /// + Task> GetFilesAsync( + GetFilesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves objects from an entity's profile. + /// + Task> GetObjectsAsync( + GetObjectsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Initiates file uploads to an entity's profile. + /// + Task> InitiateFileUploadsAsync( + InitiateFileUploadsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets objects on an entity's profile. + /// + Task> SetObjectsAsync( + SetObjectsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabEconomyInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabEconomyInstanceAPI.cs new file mode 100644 index 00000000..0b2da0e7 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabEconomyInstanceAPI.cs @@ -0,0 +1,436 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.EconomyModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// API methods for managing the catalog. Inventory manages in-game assets for any given entity. API methods for managing + /// the versioned catalogs. + /// + public interface IPlayFabEconomyInstanceAPI + { + /// + /// Add inventory items. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped. + /// + Task> AddInventoryItemsAsync( + AddInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new item in the working catalog using provided metadata. Note: SAS tokens provided are valid for 1 hour. + /// + Task> CreateDraftItemAsync( + CreateDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates one or more upload URLs which can be used by the client to upload raw file data. Content URls and uploaded + /// content will be garbage collected after 24 hours if not attached to a draft or published item. Detailed pricing info + /// around uploading content can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/pricing/meters/catalog-meters + /// + Task> CreateUploadUrlsAsync( + CreateUploadUrlsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes all reviews, helpfulness votes, and ratings submitted by the entity specified. + /// + Task> DeleteEntityItemReviewsAsync( + DeleteEntityItemReviewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete an Inventory Collection. More information about Inventory Collections can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/collections + /// + Task> DeleteInventoryCollectionAsync( + DeleteInventoryCollectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete inventory items + /// + Task> DeleteInventoryItemsAsync( + DeleteInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes an item from working catalog and all published versions from the public catalog. + /// + Task> DeleteItemAsync( + DeleteItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Execute a list of Inventory Operations. A maximum list of 50 operations can be performed by a single request. There is + /// also a limit to 300 items that can be modified/added in a single request. For example, adding a bundle with 50 items + /// counts as 50 items modified. All operations must be done within a single inventory collection. This API has a reduced + /// RPS compared to an individual inventory operation with Player Entities limited to 60 requests in 90 seconds. + /// + Task> ExecuteInventoryOperationsAsync( + ExecuteInventoryOperationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Transfer a list of inventory items. A maximum list of 50 operations can be performed by a single request. When the + /// response code is 202, one or more operations did not complete within the timeframe of the request. You can identify the + /// pending operations by looking for OperationStatus = 'InProgress'. You can check on the operation status at anytime + /// within 1 day of the request by passing the TransactionToken to the GetInventoryOperationStatus API. + /// + Task> ExecuteTransferOperationsAsync( + ExecuteTransferOperationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the configuration for the catalog. Only Title Entities can call this API. There is a limit of 100 requests in 10 + /// seconds for this API. More information about the Catalog Config can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings + /// + Task> GetCatalogConfigAsync( + GetCatalogConfigRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an item from the working catalog. This item represents the current working state of the item. GetDraftItem + /// does not work off a cache of the Catalog and should be used when trying to get recent item updates. However, please note + /// that item references data is cached and may take a few moments for changes to propagate. Note: SAS tokens provided are + /// valid for 1 hour. + /// + Task> GetDraftItemAsync( + GetDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a paginated list of the items from the draft catalog. Up to 50 IDs can be retrieved in a single request. + /// GetDraftItems does not work off a cache of the Catalog and should be used when trying to get recent item updates. Note: + /// SAS tokens provided are valid for 1 hour. + /// + Task> GetDraftItemsAsync( + GetDraftItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a paginated list of the items from the draft catalog created by the Entity. Up to 50 items can be returned at + /// once. You can use continuation tokens to paginate through results that return greater than the limit. + /// GetEntityDraftItems does not work off a cache of the Catalog and should be used when trying to get recent item updates. + /// + Task> GetEntityDraftItemsAsync( + GetEntityDraftItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the submitted review for the specified item by the authenticated entity. Individual ratings and reviews data update + /// in near real time with delays within a few seconds. + /// + Task> GetEntityItemReviewAsync( + GetEntityItemReviewRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get Inventory Collection Ids. Up to 50 Ids can be returned at once (or 250 with response compression enabled). You can + /// use continuation tokens to paginate through results that return greater than the limit. It can take a few seconds for + /// new collection Ids to show up. + /// + Task> GetInventoryCollectionIdsAsync( + GetInventoryCollectionIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get current inventory items. + /// + Task> GetInventoryItemsAsync( + GetInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the status of an inventory operation using an OperationToken. You can check on the operation status at anytime + /// within 1 day of the request by passing the TransactionToken to the this API. + /// + Task> GetInventoryOperationStatusAsync( + GetInventoryOperationStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an item from the public catalog. GetItem does not work off a cache of the Catalog and should be used when + /// trying to get recent item updates. However, please note that item references data is cached and may take a few moments + /// for changes to propagate. + /// + Task> GetItemAsync( + GetItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Search for a given item and return a set of bundles and stores containing the item. Up to 50 items can be returned at + /// once. You can use continuation tokens to paginate through results that return greater than the limit. This API is + /// intended for tooling/automation scenarios and has a reduced RPS with Player Entities limited to 30 requests in 300 + /// seconds and Title Entities limited to 100 requests in 10 seconds. + /// + Task> GetItemContainersAsync( + GetItemContainersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the moderation state for an item, including the concern category and string reason. More information about + /// moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation + /// + Task> GetItemModerationStateAsync( + GetItemModerationStateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the status of a publish of an item. + /// + Task> GetItemPublishStatusAsync( + GetItemPublishStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a paginated set of reviews associated with the specified item. Individual ratings and reviews data update in near + /// real time with delays within a few seconds. + /// + Task> GetItemReviewsAsync( + GetItemReviewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a summary of all ratings and reviews associated with the specified item. Summary ratings data is cached with update + /// data coming within 15 minutes. + /// + Task> GetItemReviewSummaryAsync( + GetItemReviewSummaryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves items from the public catalog. Up to 50 items can be returned at once. GetItems does not work off a cache of + /// the Catalog and should be used when trying to get recent item updates. However, please note that item references data is + /// cached and may take a few moments for changes to propagate. + /// + Task> GetItemsAsync( + GetItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the access tokens. + /// + Task> GetMicrosoftStoreAccessTokensAsync( + GetMicrosoftStoreAccessTokensRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get transaction history for a player. Up to 250 Events can be returned at once. You can use continuation tokens to + /// paginate through results that return greater than the limit. Getting transaction history has a lower RPS limit than + /// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds. + /// + Task> GetTransactionHistoryAsync( + GetTransactionHistoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Initiates a publish of an item from the working catalog to the public catalog. You can use the GetItemPublishStatus API + /// to track the state of the item publish. + /// + Task> PublishDraftItemAsync( + PublishDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is + /// uncapped. + /// + Task> PurchaseInventoryItemsAsync( + PurchaseInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemAppleAppStoreInventoryItemsAsync( + RedeemAppleAppStoreInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemGooglePlayInventoryItemsAsync( + RedeemGooglePlayInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemMicrosoftStoreInventoryItemsAsync( + RedeemMicrosoftStoreInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemNintendoEShopInventoryItemsAsync( + RedeemNintendoEShopInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemPlayStationStoreInventoryItemsAsync( + RedeemPlayStationStoreInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Redeem items. + /// + Task> RedeemSteamInventoryItemsAsync( + RedeemSteamInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report for an item, indicating in what way the item is inappropriate. + /// + Task> ReportItemAsync( + ReportItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report for a review + /// + Task> ReportItemReviewAsync( + ReportItemReviewRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates or updates a review for the specified item. More information around the caching surrounding item ratings and + /// reviews can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/ratings#ratings-design-and-caching + /// + Task> ReviewItemAsync( + ReviewItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Executes a search against the public catalog using the provided search parameters and returns a set of paginated + /// results. SearchItems uses a cache of the catalog with item updates taking up to a few minutes to propagate. You should + /// use the GetItem API for when trying to immediately get recent item updates. More information about the Search API can be + /// found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/search + /// + Task> SearchItemsAsync( + SearchItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the moderation state for an item, including the concern category and string reason. More information about + /// moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation + /// + Task> SetItemModerationStateAsync( + SetItemModerationStateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a vote for a review, indicating whether the review was helpful or unhelpful. + /// + Task> SubmitItemReviewVoteAsync( + SubmitItemReviewVoteRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Subtract inventory items. + /// + Task> SubtractInventoryItemsAsync( + SubtractInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a request to takedown one or more reviews. + /// + Task> TakedownItemReviewsAsync( + TakedownItemReviewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not + /// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus = + /// 'InProgress'. You can check on the operation status at anytime within 1 day of the request by passing the + /// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found + /// here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items + /// + Task> TransferInventoryItemsAsync( + TransferInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the configuration for the catalog. Only Title Entities can call this API. There is a limit of 10 requests in 10 + /// seconds for this API. More information about the Catalog Config can be found here: + /// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings + /// + Task> UpdateCatalogConfigAsync( + UpdateCatalogConfigRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the metadata for an item in the working catalog. Note: SAS tokens provided are valid for 1 hour. + /// + Task> UpdateDraftItemAsync( + UpdateDraftItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update inventory items + /// + Task> UpdateInventoryItemsAsync( + UpdateInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabEventsInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabEventsInstanceAPI.cs new file mode 100644 index 00000000..037b116f --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabEventsInstanceAPI.cs @@ -0,0 +1,115 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.EventsModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Write custom PlayStream and Telemetry events for any PlayFab entity. Telemetry events can be used for analytic, + /// reporting, or debugging. PlayStream events can do all of that and also trigger custom actions in near real-time. + /// + public interface IPlayFabEventsInstanceAPI + { + /// + /// Creates a new telemetry key for the title. + /// + Task> CreateTelemetryKeyAsync( + CreateTelemetryKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a Data Connection from a title. + /// + Task> DeleteDataConnectionAsync( + DeleteDataConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a telemetry key configured for the title. + /// + Task> DeleteTelemetryKeyAsync( + DeleteTelemetryKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a single Data Connection associated with a title. + /// + Task> GetDataConnectionAsync( + GetDataConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information about a telemetry key configured for the title. + /// + Task> GetTelemetryKeyAsync( + GetTelemetryKeyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the list of Data Connections associated with a title. + /// + Task> ListDataConnectionsAsync( + ListDataConnectionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all telemetry keys configured for the title. + /// + Task> ListTelemetryKeysAsync( + ListTelemetryKeysRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates or updates a Data Connection on a title. + /// + Task> SetDataConnectionAsync( + SetDataConnectionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets a Data Connection for the title to either the active or deactivated state. + /// + Task> SetDataConnectionActiveAsync( + SetDataConnectionActiveRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets a telemetry key to the active or deactivated state. + /// + Task> SetTelemetryKeyActiveAsync( + SetTelemetryKeyActiveRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Write batches of entity based events to PlayStream. The namespace of the Event must be 'custom' or start with 'custom.'. + /// + Task> WriteEventsAsync( + WriteEventsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Write batches of entity based events to as Telemetry events (bypass PlayStream). The namespace must be 'custom' or start + /// with 'custom.' + /// + Task> WriteTelemetryEventsAsync( + WriteEventsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabExperimentationInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabExperimentationInstanceAPI.cs new file mode 100644 index 00000000..a2d2327b --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabExperimentationInstanceAPI.cs @@ -0,0 +1,121 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.ExperimentationModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// APIs for managing experiments. + /// + public interface IPlayFabExperimentationInstanceAPI + { + /// + /// Creates a new experiment exclusion group for a title. + /// + Task> CreateExclusionGroupAsync( + CreateExclusionGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new experiment for a title. + /// + Task> CreateExperimentAsync( + CreateExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing exclusion group for a title. + /// + Task> DeleteExclusionGroupAsync( + DeleteExclusionGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing experiment for a title. + /// + Task> DeleteExperimentAsync( + DeleteExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the details of all exclusion groups for a title. + /// + Task> GetExclusionGroupsAsync( + GetExclusionGroupsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the details of all exclusion groups for a title. + /// + Task> GetExclusionGroupTrafficAsync( + GetExclusionGroupTrafficRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the details of all experiments for a title. + /// + Task> GetExperimentsAsync( + GetExperimentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the latest scorecard of the experiment for the title. + /// + Task> GetLatestScorecardAsync( + GetLatestScorecardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the treatment assignments for a player for every running experiment in the title. + /// + Task> GetTreatmentAssignmentAsync( + GetTreatmentAssignmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Starts an existing experiment for a title. + /// + Task> StartExperimentAsync( + StartExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Stops an existing experiment for a title. + /// + Task> StopExperimentAsync( + StopExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates an existing exclusion group for a title. + /// + Task> UpdateExclusionGroupAsync( + UpdateExclusionGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates an existing experiment for a title. + /// + Task> UpdateExperimentAsync( + UpdateExperimentRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabGroupsInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabGroupsInstanceAPI.cs new file mode 100644 index 00000000..c11e18d8 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabGroupsInstanceAPI.cs @@ -0,0 +1,219 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.GroupsModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// The Groups API is designed for any permanent or semi-permanent collections of Entities (players, or non-players). If you + /// want to make Guilds/Clans/Corporations/etc., then you should use groups. Groups can also be used to make chatrooms, + /// parties, or any other persistent collection of entities. + /// + public interface IPlayFabGroupsInstanceAPI + { + /// + /// Accepts an outstanding invitation to to join a group + /// + Task> AcceptGroupApplicationAsync( + AcceptGroupApplicationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Accepts an invitation to join a group + /// + Task> AcceptGroupInvitationAsync( + AcceptGroupInvitationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds members to a group or role. + /// + Task> AddMembersAsync( + AddMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Applies to join a group + /// + Task> ApplyToGroupAsync( + ApplyToGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Blocks a list of entities from joining a group. + /// + Task> BlockEntityAsync( + BlockEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Changes the role membership of a list of entities from one role to another. + /// + Task> ChangeMemberRoleAsync( + ChangeMemberRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new group. + /// + Task> CreateGroupAsync( + CreateGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a new group role. + /// + Task> CreateRoleAsync( + CreateGroupRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a group and all roles, invitations, join requests, and blocks associated with it. + /// + Task> DeleteGroupAsync( + DeleteGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes an existing role in a group. + /// + Task> DeleteRoleAsync( + DeleteRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets information about a group and its roles + /// + Task> GetGroupAsync( + GetGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Invites a player to join a group + /// + Task> InviteToGroupAsync( + InviteToGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Checks to see if an entity is a member of a group or role within the group + /// + Task> IsMemberAsync( + IsMemberRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all outstanding requests to join a group + /// + Task> ListGroupApplicationsAsync( + ListGroupApplicationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all entities blocked from joining a group + /// + Task> ListGroupBlocksAsync( + ListGroupBlocksRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all outstanding invitations for a group + /// + Task> ListGroupInvitationsAsync( + ListGroupInvitationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all members for a group + /// + Task> ListGroupMembersAsync( + ListGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all groups and roles for an entity + /// + Task> ListMembershipAsync( + ListMembershipRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all outstanding invitations and group applications for an entity + /// + Task> ListMembershipOpportunitiesAsync( + ListMembershipOpportunitiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes an application to join a group + /// + Task> RemoveGroupApplicationAsync( + RemoveGroupApplicationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes an invitation join a group + /// + Task> RemoveGroupInvitationAsync( + RemoveGroupInvitationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes members from a group. + /// + Task> RemoveMembersAsync( + RemoveMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unblocks a list of entities from joining a group + /// + Task> UnblockEntityAsync( + UnblockEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates non-membership data about a group. + /// + Task> UpdateGroupAsync( + UpdateGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates metadata about a role. + /// + Task> UpdateRoleAsync( + UpdateGroupRoleRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabInsightsInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabInsightsInstanceAPI.cs new file mode 100644 index 00000000..87439fc0 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabInsightsInstanceAPI.cs @@ -0,0 +1,67 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.InsightsModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Manage the Insights performance level and data storage retention settings. + /// + public interface IPlayFabInsightsInstanceAPI + { + /// + /// Gets the current values for the Insights performance and data storage retention, list of pending operations, and the + /// performance and data storage retention limits. + /// + Task> GetDetailsAsync( + InsightsEmptyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the range of allowed values for performance and data storage retention values as well as the submeter details + /// for each performance level. + /// + Task> GetLimitsAsync( + InsightsEmptyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the status of a SetPerformance or SetStorageRetention operation. + /// + Task> GetOperationStatusAsync( + InsightsGetOperationStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a list of pending SetPerformance and/or SetStorageRetention operations for the title. + /// + Task> GetPendingOperationsAsync( + InsightsGetPendingOperationsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the Insights performance level value for the title. + /// + Task> SetPerformanceAsync( + InsightsSetPerformanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the Insights data storage retention days value for the title. + /// + Task> SetStorageRetentionAsync( + InsightsSetStorageRetentionRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabLocalizationInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabLocalizationInstanceAPI.cs new file mode 100644 index 00000000..4bd8fef7 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabLocalizationInstanceAPI.cs @@ -0,0 +1,25 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.LocalizationModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// The Localization APIs give you the tools needed to manage language setup in your title. + /// + public interface IPlayFabLocalizationInstanceAPI + { + /// + /// Retrieves the list of allowed languages, only accessible by title entities + /// + Task> GetLanguageListAsync( + GetLanguageListRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabMultiplayerInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabMultiplayerInstanceAPI.cs new file mode 100644 index 00000000..d106e5cc --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabMultiplayerInstanceAPI.cs @@ -0,0 +1,727 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.MultiplayerModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// API methods for managing multiplayer servers. API methods for managing parties. The lobby service helps players group + /// together to play multiplayer games. It is often used as a rendezvous point for players to share connection information. + /// The TrueSkill service helps titles to estimate a player's skill based on their match results. The player skill values + /// from this service are commonly used by a matchmaking service to provide players with balanced matches. + /// + public interface IPlayFabMultiplayerInstanceAPI + { + /// + /// Cancel all active tickets the player is a member of in a given queue. + /// + Task> CancelAllMatchmakingTicketsForPlayerAsync( + CancelAllMatchmakingTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancel all active backfill tickets the player is a member of in a given queue. + /// + Task> CancelAllServerBackfillTicketsForPlayerAsync( + CancelAllServerBackfillTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancel a matchmaking ticket. + /// + Task> CancelMatchmakingTicketAsync( + CancelMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Cancel a server backfill ticket. + /// + Task> CancelServerBackfillTicketAsync( + CancelServerBackfillTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build alias. + /// + Task> CreateBuildAliasAsync( + CreateBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build with a custom container. + /// + Task> CreateBuildWithCustomContainerAsync( + CreateBuildWithCustomContainerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build with a managed container. + /// + Task> CreateBuildWithManagedContainerAsync( + CreateBuildWithManagedContainerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build with the server running as a process. + /// + Task> CreateBuildWithProcessBasedServerAsync( + CreateBuildWithProcessBasedServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a lobby. + /// + Task> CreateLobbyAsync( + CreateLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a matchmaking ticket as a client. + /// + Task> CreateMatchmakingTicketAsync( + CreateMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a remote user to log on to a VM for a multiplayer server build. + /// + Task> CreateRemoteUserAsync( + CreateRemoteUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a backfill matchmaking ticket as a server. A backfill ticket represents an ongoing game. The matchmaking service + /// automatically starts matching the backfill ticket against other matchmaking tickets. Backfill tickets cannot match with + /// other backfill tickets. + /// + Task> CreateServerBackfillTicketAsync( + CreateServerBackfillTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a matchmaking ticket as a server. The matchmaking service automatically starts matching the ticket against other + /// matchmaking tickets. + /// + Task> CreateServerMatchmakingTicketAsync( + CreateServerMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a request to change a title's multiplayer server quotas. + /// + Task> CreateTitleMultiplayerServersQuotaChangeAsync( + CreateTitleMultiplayerServersQuotaChangeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server game asset for a title. + /// + Task> DeleteAssetAsync( + DeleteAssetRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server build. + /// + Task> DeleteBuildAsync( + DeleteBuildRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server build alias. + /// + Task> DeleteBuildAliasAsync( + DeleteBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a multiplayer server build's region. + /// + Task> DeleteBuildRegionAsync( + DeleteBuildRegionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server game certificate. + /// + Task> DeleteCertificateAsync( + DeleteCertificateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a container image repository. + /// + Task> DeleteContainerImageRepositoryAsync( + DeleteContainerImageRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete a lobby. + /// + Task> DeleteLobbyAsync( + DeleteLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a remote user to log on to a VM for a multiplayer server build. + /// + Task> DeleteRemoteUserAsync( + DeleteRemoteUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a multiplayer server game secret. + /// + Task> DeleteSecretAsync( + DeleteSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Enables the multiplayer server feature for a title. + /// + Task> EnableMultiplayerServersForTitleAsync( + EnableMultiplayerServersForTitleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Find lobbies which match certain criteria, and which friends are in. + /// + Task> FindFriendLobbiesAsync( + FindFriendLobbiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Find all the lobbies that match certain criteria. + /// + Task> FindLobbiesAsync( + FindLobbiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a URL that can be used to download the specified asset. A sample pre-authenticated url - + /// https://sampleStorageAccount.blob.core.windows.net/gameassets/gameserver.zip?sv=2015-04-05&ss=b&srt=sco&sp=rw&st=startDate&se=endDate&spr=https&sig=sampleSig&api-version=2017-07-29 + /// + Task> GetAssetDownloadUrlAsync( + GetAssetDownloadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the URL to upload assets to. A sample pre-authenticated url - + /// https://sampleStorageAccount.blob.core.windows.net/gameassets/gameserver.zip?sv=2015-04-05&ss=b&srt=sco&sp=rw&st=startDate&se=endDate&spr=https&sig=sampleSig&api-version=2017-07-29 + /// + Task> GetAssetUploadUrlAsync( + GetAssetUploadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a multiplayer server build. + /// + Task> GetBuildAsync( + GetBuildRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a multiplayer server build alias. + /// + Task> GetBuildAliasAsync( + GetBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the credentials to the container registry. + /// + Task> GetContainerRegistryCredentialsAsync( + GetContainerRegistryCredentialsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a lobby. + /// + Task> GetLobbyAsync( + GetLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a match. + /// + Task> GetMatchAsync( + GetMatchRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. Get a matchmaking queue configuration. + /// + Task> GetMatchmakingQueueAsync( + GetMatchmakingQueueRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a matchmaking ticket by ticket Id. + /// + Task> GetMatchmakingTicketAsync( + GetMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets multiplayer server session details for a build. + /// + Task> GetMultiplayerServerDetailsAsync( + GetMultiplayerServerDetailsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets multiplayer server logs after a server has terminated. + /// + Task> GetMultiplayerServerLogsAsync( + GetMultiplayerServerLogsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets multiplayer server logs after a server has terminated. + /// + Task> GetMultiplayerSessionLogsBySessionIdAsync( + GetMultiplayerSessionLogsBySessionIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the statistics for a queue. + /// + Task> GetQueueStatisticsAsync( + GetQueueStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a remote login endpoint to a VM that is hosting a multiplayer server build. + /// + Task> GetRemoteLoginEndpointAsync( + GetRemoteLoginEndpointRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get a matchmaking backfill ticket by ticket Id. + /// + Task> GetServerBackfillTicketAsync( + GetServerBackfillTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the status of whether a title is enabled for the multiplayer server feature. + /// + Task> GetTitleEnabledForMultiplayerServersStatusAsync( + GetTitleEnabledForMultiplayerServersStatusRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets a title's server quota change request. + /// + Task> GetTitleMultiplayerServersQuotaChangeAsync( + GetTitleMultiplayerServersQuotaChangeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the quotas for a title in relation to multiplayer servers. + /// + Task> GetTitleMultiplayerServersQuotasAsync( + GetTitleMultiplayerServersQuotasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Send a notification to invite a player to a lobby. + /// + Task> InviteToLobbyAsync( + InviteToLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Join an Arranged lobby. + /// + Task> JoinArrangedLobbyAsync( + JoinArrangedLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Join a lobby. + /// + Task> JoinLobbyAsync( + JoinLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Preview: Join a lobby as a server entity. This is restricted to client lobbies which are using connections. + /// + Task> JoinLobbyAsServerAsync( + JoinLobbyAsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Join a matchmaking ticket. + /// + Task> JoinMatchmakingTicketAsync( + JoinMatchmakingTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Leave a lobby. + /// + Task> LeaveLobbyAsync( + LeaveLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Preview: Request for server to leave a lobby. This is restricted to client owned lobbies which are using connections. + /// + Task> LeaveLobbyAsServerAsync( + LeaveLobbyAsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists archived multiplayer server sessions for a build. + /// + Task> ListArchivedMultiplayerServersAsync( + ListMultiplayerServersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server game assets for a title. + /// + Task> ListAssetSummariesAsync( + ListAssetSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists details of all build aliases for a title. Accepts tokens for title and if game client access is enabled, allows + /// game client to request list of builds with player entity token. + /// + Task> ListBuildAliasesAsync( + ListBuildAliasesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists summarized details of all multiplayer server builds for a title. Accepts tokens for title and if game client + /// access is enabled, allows game client to request list of builds with player entity token. + /// + Task> ListBuildSummariesV2Async( + ListBuildSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server game certificates for a title. + /// + Task> ListCertificateSummariesAsync( + ListCertificateSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists custom container images for a title. + /// + Task> ListContainerImagesAsync( + ListContainerImagesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists the tags for a custom container image. + /// + Task> ListContainerImageTagsAsync( + ListContainerImageTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. List all matchmaking queue configs. + /// + Task> ListMatchmakingQueuesAsync( + ListMatchmakingQueuesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all matchmaking ticket Ids the user is a member of. + /// + Task> ListMatchmakingTicketsForPlayerAsync( + ListMatchmakingTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server sessions for a build. + /// + Task> ListMultiplayerServersAsync( + ListMultiplayerServersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists quality of service servers for party. + /// + Task> ListPartyQosServersAsync( + ListPartyQosServersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists quality of service servers for the title. By default, servers are only returned for regions where a Multiplayer + /// Servers build has been deployed. + /// + Task> ListQosServersForTitleAsync( + ListQosServersForTitleRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists multiplayer server game secrets for a title. + /// + Task> ListSecretSummariesAsync( + ListSecretSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all server backfill ticket Ids the user is a member of. + /// + Task> ListServerBackfillTicketsForPlayerAsync( + ListServerBackfillTicketsForPlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all server quota change requests for a title. + /// + Task> ListTitleMultiplayerServersQuotaChangesAsync( + ListTitleMultiplayerServersQuotaChangesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists virtual machines for a title. + /// + Task> ListVirtualMachineSummariesAsync( + ListVirtualMachineSummariesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. Remove a matchmaking queue config. + /// + Task> RemoveMatchmakingQueueAsync( + RemoveMatchmakingQueueRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Remove a member from a lobby. + /// + Task> RemoveMemberAsync( + RemoveMemberFromLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Request a multiplayer server session. Accepts tokens for title and if game client access is enabled, allows game client + /// to request a server with player entity token. + /// + Task> RequestMultiplayerServerAsync( + RequestMultiplayerServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Request a party session. + /// + Task> RequestPartyServiceAsync( + RequestPartyServiceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Rolls over the credentials to the container registry. + /// + Task> RolloverContainerRegistryCredentialsAsync( + RolloverContainerRegistryCredentialsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// SDK support is limited to C# and Java for this API. Create or update a matchmaking queue configuration. + /// + Task> SetMatchmakingQueueAsync( + SetMatchmakingQueueRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Shuts down a multiplayer server session. + /// + Task> ShutdownMultiplayerServerAsync( + ShutdownMultiplayerServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Subscribe to lobby resource notifications. + /// + Task> SubscribeToLobbyResourceAsync( + SubscribeToLobbyResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Subscribe to match resource notifications. + /// + Task> SubscribeToMatchmakingResourceAsync( + SubscribeToMatchResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unsubscribe from lobby notifications. + /// + Task> UnsubscribeFromLobbyResourceAsync( + UnsubscribeFromLobbyResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unsubscribe from match resource notifications. + /// + Task> UnsubscribeFromMatchmakingResourceAsync( + UnsubscribeFromMatchResourceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Untags a container image. + /// + Task> UntagContainerImageAsync( + UntagContainerImageRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Creates a multiplayer server build alias. + /// + Task> UpdateBuildAliasAsync( + UpdateBuildAliasRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a multiplayer server build's name. + /// + Task> UpdateBuildNameAsync( + UpdateBuildNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a multiplayer server build's region. If the region is not yet created, it will be created + /// + Task> UpdateBuildRegionAsync( + UpdateBuildRegionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a multiplayer server build's regions. + /// + Task> UpdateBuildRegionsAsync( + UpdateBuildRegionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update a lobby. + /// + Task> UpdateLobbyAsync( + UpdateLobbyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Preview: Update fields related to a joined server in the lobby the server is in. Servers can keep a lobby from expiring + /// by being the one to "update" the lobby in some way. Servers have no impact on last member leave/last member disconnect + /// behavior. + /// + Task> UpdateLobbyAsServerAsync( + UpdateLobbyAsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Uploads a multiplayer server game certificate. + /// + Task> UploadCertificateAsync( + UploadCertificateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Uploads a multiplayer server game secret. + /// + Task> UploadSecretAsync( + UploadSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabProfilesInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabProfilesInstanceAPI.cs new file mode 100644 index 00000000..c332d9b7 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabProfilesInstanceAPI.cs @@ -0,0 +1,91 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.ProfilesModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools + /// needed to manage entity profiles. + /// + public interface IPlayFabProfilesInstanceAPI + { + /// + /// Gets the global title access policy + /// + Task> GetGlobalPolicyAsync( + GetGlobalPolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the entity's profile. + /// + Task> GetProfileAsync( + GetEntityProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the entity's profile. + /// + Task> GetProfilesAsync( + GetEntityProfilesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title player accounts associated with the given master player account. + /// + Task> GetTitlePlayersFromMasterPlayerAccountIdsAsync( + GetTitlePlayersFromMasterPlayerAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title player accounts associated with the given XUIDs. + /// + Task> GetTitlePlayersFromXboxLiveIDsAsync( + GetTitlePlayersFromXboxLiveIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the display name of the entity + /// + Task> SetDisplayNameAsync( + SetDisplayNameRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the global title access policy + /// + Task> SetGlobalPolicyAsync( + SetGlobalPolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the entity's language. The precedence hierarchy for communication to the player is Title Player Account + /// language, Master Player Account language, and then title default language if the first two aren't set or supported. + /// + Task> SetProfileLanguageAsync( + SetProfileLanguageRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the profiles access policy + /// + Task> SetProfilePolicyAsync( + SetEntityProfilePolicyRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabProgressionInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabProgressionInstanceAPI.cs new file mode 100644 index 00000000..b085159e --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabProgressionInstanceAPI.cs @@ -0,0 +1,202 @@ +#if !DISABLE_PLAYFABENTITY_API + +using PlayFab.ProgressionModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Manage entity statistics Manage entity leaderboards + /// + public interface IPlayFabProgressionInstanceAPI + { + /// + /// Creates a new leaderboard definition. + /// + Task> CreateLeaderboardDefinitionAsync( + CreateLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Create a new entity statistic definition. + /// + Task> CreateStatisticDefinitionAsync( + CreateStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a leaderboard definition. + /// + Task> DeleteLeaderboardDefinitionAsync( + DeleteLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the specified entries from the given leaderboard. + /// + Task> DeleteLeaderboardEntriesAsync( + DeleteLeaderboardEntriesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete an entity statistic definition. Will delete all statistics on entity profiles and leaderboards. + /// + Task> DeleteStatisticDefinitionAsync( + DeleteStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Delete statistics on an entity profile. This will remove all rankings from associated leaderboards. + /// + Task> DeleteStatisticsAsync( + DeleteStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the friend leaderboard for the specified entity. A maximum of 25 friend entries are listed in the leaderboard. + /// + Task> GetFriendLeaderboardForEntityAsync( + GetFriendLeaderboardForEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the leaderboard for a specific entity type and statistic. + /// + Task> GetLeaderboardAsync( + GetEntityLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the leaderboard around a specific entity. + /// + Task> GetLeaderboardAroundEntityAsync( + GetLeaderboardAroundEntityRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets the specified leaderboard definition. + /// + Task> GetLeaderboardDefinitionAsync( + GetLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get the leaderboard limited to a set of entities. + /// + Task> GetLeaderboardForEntitiesAsync( + GetLeaderboardForEntitiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get current statistic definition information + /// + Task> GetStatisticDefinitionAsync( + GetStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets statistics for the specified entity. + /// + Task> GetStatisticsAsync( + GetStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets statistics for the specified collection of entities. + /// + Task> GetStatisticsForEntitiesAsync( + GetStatisticsForEntitiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Increment a leaderboard version. + /// + Task> IncrementLeaderboardVersionAsync( + IncrementLeaderboardVersionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Increment an entity statistic definition version. + /// + Task> IncrementStatisticVersionAsync( + IncrementStatisticVersionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists the leaderboard definitions defined for the Title. + /// + Task> ListLeaderboardDefinitionsAsync( + ListLeaderboardDefinitionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all current statistic definitions information + /// + Task> ListStatisticDefinitionsAsync( + ListStatisticDefinitionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks a leaderboard definition from it's linked statistic definition. + /// + Task> UnlinkLeaderboardFromStatisticAsync( + UnlinkLeaderboardFromStatisticRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates a leaderboard definition. + /// + Task> UpdateLeaderboardDefinitionAsync( + UpdateLeaderboardDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds or updates entries on the specified leaderboard. + /// + Task> UpdateLeaderboardEntriesAsync( + UpdateLeaderboardEntriesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update an existing entity statistic definition. + /// + Task> UpdateStatisticDefinitionAsync( + UpdateStatisticDefinitionRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update statistics on an entity profile. Depending on the statistic definition, this may result in entity being ranked on + /// various leaderboards. + /// + Task> UpdateStatisticsAsync( + UpdateStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabServerInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabServerInstanceAPI.cs new file mode 100644 index 00000000..22d91030 --- /dev/null +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/IPlayFabServerInstanceAPI.cs @@ -0,0 +1,1302 @@ +#if ENABLE_PLAYFABSERVER_API + +using PlayFab.ServerModels; +using PlayFab.Internal; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace PlayFab +{ + /// + /// Provides functionality to allow external (developer-controlled) servers to interact with user inventories and data in a + /// trusted manner, and to handle matchmaking and client connection orchestration + /// + public interface IPlayFabServerInstanceAPI + { + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the character's balance of the specified virtual currency by the stated amount + /// + Task> AddCharacterVirtualCurrencyAsync( + AddCharacterVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the Friend user to the friendlist of the user with PlayFabId. At least one of + /// FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + /// + Task> AddFriendAsync( + AddFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab + /// ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as + /// authentication credentials, as the intent is that it is easily accessible by other players. + /// + Task> AddGenericIDAsync( + AddGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> AddPlayerTagAsync( + AddPlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users + /// in the group (and the server) can add new members. Shared Groups are designed for sharing data between a very small + /// number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> AddSharedGroupMembersAsync( + AddSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Increments the user's balance of the specified virtual currency by the stated amount + /// + Task> AddUserVirtualCurrencyAsync( + AddUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Validated a client's session ticket, and if successful, returns details for that user + /// + Task> AuthenticateSessionTicketAsync( + AuthenticateSessionTicketRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Awards the specified users the specified Steam achievements + /// + Task> AwardSteamAchievementAsync( + AwardSteamAchievementRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + /// + Task> BanUsersAsync( + BanUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's + /// inventory. + /// + Task> ConsumeItemAsync( + ConsumeItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the + /// group. When created by a server, the group will initially have no members. Shared Groups are designed for sharing data + /// between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> CreateSharedGroupAsync( + CreateSharedGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes the specific character ID from the specified user. + /// + Task> DeleteCharacterFromUserAsync( + DeleteCharacterFromUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes a user's player account from a title and deletes all associated data + /// + Task> DeletePlayerAsync( + DeletePlayerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes title-specific custom properties for a player + /// + Task> DeletePlayerCustomPropertiesAsync( + DeletePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes push notification template for title + /// + Task> DeletePushNotificationTemplateAsync( + DeletePushNotificationTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Deletes a shared group, freeing up the shared group ID to be reused for a new group. Shared Groups are designed for + /// sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> DeleteSharedGroupAsync( + DeleteSharedGroupRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would + /// have been added to the player inventory, if the Random Result Table were added via a Bundle or a call to + /// UnlockContainer. + /// + Task> EvaluateRandomResultTableAsync( + EvaluateRandomResultTableRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. The + /// PlayFab ID is the entity ID of the player's master_player_account entity. + /// + Task> ExecuteCloudScriptAsync( + ExecuteCloudScriptServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as + /// GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + /// + Task> GetAllSegmentsAsync( + GetAllSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be + /// evaluated with the parent PlayFabId to guarantee uniqueness. + /// + Task> GetAllUsersCharactersAsync( + ListUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + /// + Task> GetCatalogItemsAsync( + GetCatalogItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetCharacterDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user's character which cannot be accessed by the client + /// + Task> GetCharacterInternalDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified character's current inventory of virtual goods + /// + Task> GetCharacterInventoryAsync( + GetCharacterInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetCharacterLeaderboardAsync( + GetCharacterLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user's character which can only be read by the client + /// + Task> GetCharacterReadOnlyDataAsync( + GetCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the details of all title-specific statistics for the specific character + /// + Task> GetCharacterStatisticsAsync( + GetCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned + /// URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the + /// content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, + /// the query to retrieve the data will fail. See this post for more information: + /// https://community.playfab.com/hc/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, + /// please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + /// + Task> GetContentDownloadUrlAsync( + GetContentDownloadUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked friends of the given player for the given statistic, starting from the indicated point in the + /// leaderboard + /// + Task> GetFriendLeaderboardAsync( + GetFriendLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current friends for the user with PlayFabId, constrained to users who have PlayFab accounts. Friends from + /// linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + /// + Task> GetFriendsListAsync( + GetFriendsListRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + /// + Task> GetLeaderboardAsync( + GetLeaderboardRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked characters for the given statistic, centered on the requested user + /// + Task> GetLeaderboardAroundCharacterAsync( + GetLeaderboardAroundCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of ranked users for the given statistic, centered on the currently signed-in user + /// + Task> GetLeaderboardAroundUserAsync( + GetLeaderboardAroundUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a list of all of the user's characters for the given statistic. + /// + Task> GetLeaderboardForUserCharactersAsync( + GetLeaderboardForUsersCharactersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Returns whatever info is requested in the response for the user. Note that PII (like email address, facebook id) may be + /// returned. All parameters default to false. + /// + Task> GetPlayerCombinedInfoAsync( + GetPlayerCombinedInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves a title-specific custom property value for a player. + /// + Task> GetPlayerCustomPropertyAsync( + GetPlayerCustomPropertyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the player's profile + /// + Task> GetPlayerProfileAsync( + GetPlayerProfileRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// List all segments that a player currently belongs to at this moment in time. + /// + Task> GetPlayerSegmentsAsync( + GetPlayersSegmentsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match + /// the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span + /// on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected + /// in the results. AB Test segments are currently not supported by this operation. NOTE: This API is limited to being + /// called 30 times in one minute. You will be returned an error if you exceed this threshold. + /// + Task> GetPlayersInSegmentAsync( + GetPlayersInSegmentRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current version and values for the indicated statistics, for the local player. + /// + Task> GetPlayerStatisticsAsync( + GetPlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the information on the available versions of the specified statistic. + /// + Task> GetPlayerStatisticVersionsAsync( + GetPlayerStatisticVersionsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Get all tags with a given Namespace (optional) from a player profile. + /// + Task> GetPlayerTagsAsync( + GetPlayerTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Battle.net account identifiers. + /// + Task> GetPlayFabIDsFromBattleNetAccountIdsAsync( + GetPlayFabIDsFromBattleNetAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + /// + Task> GetPlayFabIDsFromFacebookIDsAsync( + GetPlayFabIDsFromFacebookIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Games identifiers. + /// + Task> GetPlayFabIDsFromFacebookInstantGamesIdsAsync( + GetPlayFabIDsFromFacebookInstantGamesIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the + /// service name plus the service-specific ID for the player, as specified by the title when the generic identifier was + /// added to the player account. + /// + Task> GetPlayFabIDsFromGenericIDsAsync( + GetPlayFabIDsFromGenericIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers. + /// + Task> GetPlayFabIDsFromNintendoServiceAccountIdsAsync( + GetPlayFabIDsFromNintendoServiceAccountIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers. + /// + Task> GetPlayFabIDsFromNintendoSwitchDeviceIdsAsync( + GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNAccountIDsAsync( + GetPlayFabIDsFromPSNAccountIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. + /// + Task> GetPlayFabIDsFromPSNOnlineIDsAsync( + GetPlayFabIDsFromPSNOnlineIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile + /// IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + /// + Task> GetPlayFabIDsFromSteamIDsAsync( + GetPlayFabIDsFromSteamIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona + /// names. + /// + Task> GetPlayFabIDsFromSteamNamesAsync( + GetPlayFabIDsFromSteamNamesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for + /// the user accounts, available as "_id" from the Twitch API methods (ex: + /// https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). + /// + Task> GetPlayFabIDsFromTwitchIDsAsync( + GetPlayFabIDsFromTwitchIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. + /// + Task> GetPlayFabIDsFromXboxLiveIDsAsync( + GetPlayFabIDsFromXboxLiveIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom publisher settings + /// + Task> GetPublisherDataAsync( + GetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the configuration information for the specified random results tables for the title, including all + /// ItemId values and weights + /// + Task> GetRandomResultTablesAsync( + GetRandomResultTablesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the associated PlayFab account identifiers for the given set of server custom identifiers. + /// + Task> GetServerCustomIDsFromPlayFabIDsAsync( + GetServerCustomIDsFromPlayFabIDsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves data stored in a shared group object, as well as the list of members in the group. The server can access all + /// public and private group data. Shared Groups are designed for sharing data between a very small number of players, + /// please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> GetSharedGroupDataAsync( + GetSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the set of items defined for the specified store, including all prices defined, for the specified + /// player + /// + Task> GetStoreItemsAsync( + GetStoreItemsServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the current server time + /// + Task> GetTimeAsync( + GetTimeRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom title settings + /// + Task> GetTitleDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the key-value store of custom internal title settings + /// + Task> GetTitleInternalDataAsync( + GetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title news feed, as configured in the developer portal + /// + Task> GetTitleNewsAsync( + GetTitleNewsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the relevant details for a specified user + /// + Task> GetUserAccountInfoAsync( + GetUserAccountInfoRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Gets all bans for a user. + /// + Task> GetUserBansAsync( + GetUserBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Retrieves the specified user's current inventory of virtual goods + /// + Task> GetUserInventoryAsync( + GetUserInventoryRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> GetUserPublisherDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> GetUserPublisherInternalDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the publisher-specific custom data for the user which can only be read by the client + /// + Task> GetUserPublisherReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves the title-specific custom data for the user which can only be read by the client + /// + Task> GetUserReadOnlyDataAsync( + GetUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated + /// with the parent PlayFabId to guarantee uniqueness. + /// + Task> GrantCharacterToUserAsync( + GrantCharacterToUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified character's inventory + /// + Task> GrantItemsToCharacterAsync( + GrantItemsToCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified user's inventory + /// + Task> GrantItemsToUserAsync( + GrantItemsToUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the specified items to the specified user inventories + /// + Task> GrantItemsToUsersAsync( + GrantItemsToUsersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Battle.net account associated with the token to the user's PlayFab account. + /// + Task> LinkBattleNetAccountAsync( + LinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Nintendo account associated with the token to the user's PlayFab account + /// + Task> LinkNintendoServiceAccountAsync( + LinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Nintendo account associated with the Nintendo Service Account subject or id to the user's PlayFab account + /// + Task> LinkNintendoServiceAccountSubjectAsync( + LinkNintendoServiceAccountSubjectRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the NintendoSwitchDeviceId to the user's PlayFab account + /// + Task> LinkNintendoSwitchDeviceIdAsync( + LinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the PlayStation :tm: Network account associated with the provided access code to the user's PlayFab account + /// + Task> LinkPSNAccountAsync( + LinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the PlayStation :tm: Network account associated with the provided user id to the user's PlayFab account + /// + Task> LinkPSNIdAsync( + LinkPSNIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the custom server identifier, generated by the title, to the user's PlayFab account. + /// + Task> LinkServerCustomIdAsync( + LinkServerCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Steam account associated with the provided Steam ID to the user's PlayFab account + /// + Task> LinkSteamIdAsync( + LinkSteamIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Links the Xbox Live account associated with the provided access code to the user's PlayFab account + /// + Task> LinkXboxAccountAsync( + LinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Retrieves title-specific custom property values for a player. + /// + Task> ListPlayerCustomPropertiesAsync( + ListPlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for + /// API calls which require an authenticated user + /// + Task> LoginWithAndroidDeviceIDAsync( + LoginWithAndroidDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sign in the user with a Battle.net identity token + /// + Task> LoginWithBattleNetAsync( + LoginWithBattleNetRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithCustomIDAsync( + LoginWithCustomIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using the iOS device identifier, returning a session identifier that can subsequently be used for API + /// calls which require an authenticated user + /// + Task> LoginWithIOSDeviceIDAsync( + LoginWithIOSDeviceIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithPSNAsync( + LoginWithPSNRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Securely login a game client from an external server backend using a custom identifier for that player. Server Custom ID + /// and Client Custom ID are mutually exclusive and cannot be used to retrieve the same player account. + /// + Task> LoginWithServerCustomIdAsync( + LoginWithServerCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using an Steam ID, returning a session identifier that can subsequently be used for API calls which + /// require an authenticated user + /// + Task> LoginWithSteamIdAsync( + LoginWithSteamIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using a Xbox Live Token from an external server backend, returning a session identifier that can + /// subsequently be used for API calls which require an authenticated user + /// + Task> LoginWithXboxAsync( + LoginWithXboxRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Signs the user in using an Xbox ID and Sandbox ID, returning a session identifier that can subsequently be used for API + /// calls which require an authenticated user + /// + Task> LoginWithXboxIdAsync( + LoginWithXboxIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Modifies the number of remaining uses of a player's inventory item + /// + Task> ModifyItemUsesAsync( + ModifyItemUsesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Moves an item from a character's inventory into another of the users's character's inventory. + /// + Task> MoveItemToCharacterFromCharacterAsync( + MoveItemToCharacterFromCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Moves an item from a user's inventory into their character's inventory. + /// + Task> MoveItemToCharacterFromUserAsync( + MoveItemToCharacterFromUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Moves an item from a character's inventory into the owning user's inventory. + /// + Task> MoveItemToUserFromCharacterAsync( + MoveItemToUserFromCharacterRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the + /// Economy->Catalogs tab in the PlayFab Game Manager. + /// + Task> RedeemCouponAsync( + RedeemCouponRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes the specified friend from the the user's friend list + /// + Task> RemoveFriendAsync( + RemoveFriendRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes the specified generic service identifier from the player's PlayFab account. + /// + Task> RemoveGenericIDAsync( + RemoveGenericIDRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + /// + Task> RemovePlayerTagAsync( + RemovePlayerTagRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the + /// group can remove members. If as a result of the call, zero users remain with access, the group and its associated data + /// will be deleted. Shared Groups are designed for sharing data between a very small number of players, please see our + /// guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> RemoveSharedGroupMembersAsync( + RemoveSharedGroupMembersRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Submit a report about a player (due to bad bahavior, etc.) on behalf of another player, so that customer service + /// representatives for the title can take action concerning potentially toxic players. + /// + Task> ReportPlayerAsync( + ReportPlayerServerRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans for a user. + /// + Task> RevokeAllBansForUserAsync( + RevokeAllBansForUserRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Revoke all active bans specified with BanId. + /// + Task> RevokeBansAsync( + RevokeBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access to an item in a user's inventory + /// + Task> RevokeInventoryItemAsync( + RevokeInventoryItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Revokes access for up to 25 items across multiple users and characters. + /// + Task> RevokeInventoryItemsAsync( + RevokeInventoryItemsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Saves push notification template for title + /// + Task> SavePushNotificationTemplateAsync( + SavePushNotificationTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Forces an email to be sent to the registered contact email address for the user's account based on an account recovery + /// email template + /// + Task> SendCustomAccountRecoveryEmailAsync( + SendCustomAccountRecoveryEmailRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sends an email based on an email template to a player's contact email + /// + Task> SendEmailFromTemplateAsync( + SendEmailFromTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sends an iOS/Android Push Notification to a specific user, if that user's device has been configured for Push + /// Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified. + /// + Task> SendPushNotificationAsync( + SendPushNotificationRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sends an iOS/Android Push Notification template to a specific user, if that user's device has been configured for Push + /// Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified. + /// + Task> SendPushNotificationFromTemplateAsync( + SendPushNotificationFromTemplateRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the tag list for a specified user in the friend list of another user + /// + Task> SetFriendTagsAsync( + SetFriendTagsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's + /// secret use the Admin or Server API method SetPlayerSecret. + /// + Task> SetPlayerSecretAsync( + SetPlayerSecretRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom publisher settings + /// + Task> SetPublisherDataAsync( + SetPublisherDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom title settings + /// + Task> SetTitleDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the key-value store of custom title settings + /// + Task> SetTitleInternalDataAsync( + SetTitleDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the character's balance of the specified virtual currency by the stated amount. It is possible to + /// make a VC balance negative with this API. + /// + Task> SubtractCharacterVirtualCurrencyAsync( + SubtractCharacterVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make + /// a VC balance negative with this API. + /// + Task> SubtractUserVirtualCurrencyAsync( + SubtractUserVirtualCurrencyRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Battle.net account from the user's PlayFab account. + /// + Task> UnlinkBattleNetAccountAsync( + UnlinkBattleNetAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Nintendo account from the user's PlayFab account + /// + Task> UnlinkNintendoServiceAccountAsync( + UnlinkNintendoServiceAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account + /// + Task> UnlinkNintendoSwitchDeviceIdAsync( + UnlinkNintendoSwitchDeviceIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account + /// + Task> UnlinkPSNAccountAsync( + UnlinkPSNAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the custom server identifier from the user's PlayFab account. + /// + Task> UnlinkServerCustomIdAsync( + UnlinkServerCustomIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the Steam account associated with the provided Steam ID to the user's PlayFab account + /// + Task> UnlinkSteamIdAsync( + UnlinkSteamIdRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Unlinks the related Xbox Live account from the user's PlayFab account + /// + Task> UnlinkXboxAccountAsync( + UnlinkXboxAccountRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, when + /// required), and returns the contents of the opened container. If the container (and key when relevant) are consumable + /// (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + /// + Task> UnlockContainerInstanceAsync( + UnlockContainerInstanceRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary + /// unlocks it using any appropriate key, and returns the contents of the opened container. If the container (and key when + /// relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of + /// ConsumeItem. + /// + Task> UnlockContainerItemAsync( + UnlockContainerItemRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Update the avatar URL of the specified player + /// + Task> UpdateAvatarUrlAsync( + UpdateAvatarUrlRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates information of a list of existing bans specified with Ban Ids. + /// + Task> UpdateBansAsync( + UpdateBansRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user's character which is readable and writable by the client + /// + Task> UpdateCharacterDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user's character which cannot be accessed by the client + /// + Task> UpdateCharacterInternalDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user's character which can only be read by the client + /// + Task> UpdateCharacterReadOnlyDataAsync( + UpdateCharacterDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the specific character + /// + Task> UpdateCharacterStatisticsAsync( + UpdateCharacterStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom property values for a player + /// + Task> UpdatePlayerCustomPropertiesAsync( + UpdatePlayerCustomPropertiesRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the values of the specified title-specific statistics for the user + /// + Task> UpdatePlayerStatisticsAsync( + UpdatePlayerStatisticsRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated + /// or added in this call will be readable by users not in the group. By default, data permissions are set to Private. + /// Regardless of the permission setting, only members of the group (and the server) can update the data. Shared Groups are + /// designed for sharing data between a very small number of players, please see our guide: + /// https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + /// + Task> UpdateSharedGroupDataAsync( + UpdateSharedGroupDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for + /// version 2._ Updates the key-value pair data tagged to the specified item, which is read-only from the client. + /// + Task> UpdateUserInventoryItemCustomDataAsync( + UpdateUserInventoryItemDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which is readable and writable by the client + /// + Task> UpdateUserPublisherDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which cannot be accessed by the client + /// + Task> UpdateUserPublisherInternalDataAsync( + UpdateUserInternalDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the publisher-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserPublisherReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Updates the title-specific custom data for the user which can only be read by the client + /// + Task> UpdateUserReadOnlyDataAsync( + UpdateUserDataRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a character-based event into PlayStream. + /// + Task> WriteCharacterEventAsync( + WriteServerCharacterEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a player-based event into PlayStream. + /// + Task> WritePlayerEventAsync( + WriteServerPlayerEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + + /// + /// Writes a title-based event into PlayStream. + /// + Task> WriteTitleEventAsync( + WriteTitleEventRequest request, + object customData = null, + Dictionary extraHeaders = null); + } +} +#endif diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAddonInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAddonInstanceAPI.cs index 54341973..b1081b08 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAddonInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAddonInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// APIs for managing addons. /// - public class PlayFabAddonInstanceAPI + public class PlayFabAddonInstanceAPI : IPlayFabAddonInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAdminInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAdminInstanceAPI.cs index 65348592..176888ef 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAdminInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAdminInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// APIs for managing title configurations, uploaded Game Server code executables, and user data /// - public class PlayFabAdminInstanceAPI + public class PlayFabAdminInstanceAPI : IPlayFabAdminInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAuthenticationInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAuthenticationInstanceAPI.cs index d7e59fa4..f43e87b3 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAuthenticationInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAuthenticationInstanceAPI.cs @@ -18,7 +18,7 @@ namespace PlayFab /// game_server API is designed to create uniquely identifiable game_server entities. The game_server Entity token can be /// used to call Matchmaking Lobby and Pubsub for server scenarios. /// - public class PlayFabAuthenticationInstanceAPI + public class PlayFabAuthenticationInstanceAPI : IPlayFabAuthenticationInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabClientInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabClientInstanceAPI.cs index cdd2612d..1bf6033a 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabClientInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabClientInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// APIs which provide the full range of PlayFab features available to the client - authentication, account and data /// management, inventory, friends, matchmaking, reporting, and platform-specific functionality /// - public class PlayFabClientInstanceAPI + public class PlayFabClientInstanceAPI : IPlayFabClientInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabCloudScriptInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabCloudScriptInstanceAPI.cs index d85d0486..ad246a06 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabCloudScriptInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabCloudScriptInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// API methods for executing CloudScript using an Entity Profile /// - public class PlayFabCloudScriptInstanceAPI + public class PlayFabCloudScriptInstanceAPI : IPlayFabCloudScriptInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabDataInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabDataInstanceAPI.cs index a26a3a1f..b5e002ac 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabDataInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabDataInstanceAPI.cs @@ -18,7 +18,7 @@ namespace PlayFab /// and CloudScript functions. Files can efficiently store data of any size or format. Both objects and files support a /// flexible permissions system to control read and write access by other entities. /// - public class PlayFabDataInstanceAPI + public class PlayFabDataInstanceAPI : IPlayFabDataInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEconomyInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEconomyInstanceAPI.cs index 7450d84b..c3fab5ca 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEconomyInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEconomyInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// API methods for managing the catalog. Inventory manages in-game assets for any given entity. API methods for managing /// the versioned catalogs. /// - public class PlayFabEconomyInstanceAPI + public class PlayFabEconomyInstanceAPI : IPlayFabEconomyInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabExperimentationInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabExperimentationInstanceAPI.cs index da44707d..5e7085c2 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabExperimentationInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabExperimentationInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// APIs for managing experiments. /// - public class PlayFabExperimentationInstanceAPI + public class PlayFabExperimentationInstanceAPI : IPlayFabExperimentationInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabGroupsInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabGroupsInstanceAPI.cs index 3866872f..566b82d2 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabGroupsInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabGroupsInstanceAPI.cs @@ -17,7 +17,7 @@ namespace PlayFab /// want to make Guilds/Clans/Corporations/etc., then you should use groups. Groups can also be used to make chatrooms, /// parties, or any other persistent collection of entities. /// - public class PlayFabGroupsInstanceAPI + public class PlayFabGroupsInstanceAPI : IPlayFabGroupsInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabInsightsInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabInsightsInstanceAPI.cs index facb82f5..fea2f463 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabInsightsInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabInsightsInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// Manage the Insights performance level and data storage retention settings. /// - public class PlayFabInsightsInstanceAPI + public class PlayFabInsightsInstanceAPI : IPlayFabInsightsInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabLocalizationInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabLocalizationInstanceAPI.cs index 281c441f..d5ffb6e7 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabLocalizationInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabLocalizationInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// The Localization APIs give you the tools needed to manage language setup in your title. /// - public class PlayFabLocalizationInstanceAPI + public class PlayFabLocalizationInstanceAPI : IPlayFabLocalizationInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerInstanceAPI.cs index 20ef7d89..32a0effc 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabMultiplayerInstanceAPI.cs @@ -18,7 +18,7 @@ namespace PlayFab /// The TrueSkill service helps titles to estimate a player's skill based on their match results. The player skill values /// from this service are commonly used by a matchmaking service to provide players with balanced matches. /// - public class PlayFabMultiplayerInstanceAPI + public class PlayFabMultiplayerInstanceAPI : IPlayFabMultiplayerInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProfilesInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProfilesInstanceAPI.cs index 366e2340..a3ac8465 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProfilesInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProfilesInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// All PlayFab entities have profiles, which hold top-level properties about the entity. These APIs give you the tools /// needed to manage entity profiles. /// - public class PlayFabProfilesInstanceAPI + public class PlayFabProfilesInstanceAPI : IPlayFabProfilesInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProgressionInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProgressionInstanceAPI.cs index bc485866..22f7981c 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProgressionInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProgressionInstanceAPI.cs @@ -15,7 +15,7 @@ namespace PlayFab /// /// Manage entity statistics Manage entity leaderboards /// - public class PlayFabProgressionInstanceAPI + public class PlayFabProgressionInstanceAPI : IPlayFabProgressionInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerInstanceAPI.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerInstanceAPI.cs index 67d807c5..d4ca7e96 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerInstanceAPI.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerInstanceAPI.cs @@ -16,7 +16,7 @@ namespace PlayFab /// Provides functionality to allow external (developer-controlled) servers to interact with user inventories and data in a /// trusted manner, and to handle matchmaking and client connection orchestration /// - public class PlayFabServerInstanceAPI + public class PlayFabServerInstanceAPI : IPlayFabServerInstanceAPI { public readonly PlayFabApiSettings apiSettings = null; public readonly PlayFabAuthenticationContext authenticationContext = null; diff --git a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs index a9e12f98..61ce2f43 100644 --- a/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs +++ b/XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSettings.cs @@ -7,7 +7,7 @@ namespace PlayFab public class PlayFabSettings { public const string SdkVersion = "1.203.250620"; - public const string BuildIdentifier = "adobuild_csharpsdk_117"; + public const string BuildIdentifier = "adobuild_csharpsdk_114"; public const string SdkVersionString = "CSharpSDK-1.203.250620"; /// This is only for customers running a private cluster. Generally you shouldn't touch this public static string DefaultProductionEnvironmentUrl = "playfabapi.com";