Skip to content

Commit

Permalink
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#241122
Browse files Browse the repository at this point in the history
  • Loading branch information
PlayFab SDK Team authored and PlayFab SDK Team committed Nov 25, 2024
2 parents 2def3d0 + a4b78b2 commit d0e3cd7
Show file tree
Hide file tree
Showing 23 changed files with 409 additions and 15 deletions.
4 changes: 4 additions & 0 deletions PlayFabSDK/source/PlayFabAdminModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2814,6 +2814,8 @@ public enum GenericErrorCodes
StatisticColumnLengthMismatch,
InvalidExternalEntityId,
UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier,
TransactionAlreadyApplied,
ReportDataNotRetrievedSuccessfully,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
Expand Down Expand Up @@ -3093,6 +3095,8 @@ public enum GenericErrorCodes
GameSaveFileNotUploaded,
GameSaveBadRequest,
GameSaveOperationNotAllowed,
GameSaveDataStorageQuotaExceeded,
GameSaveNewerManifestExists,
StateShareForbidden,
StateShareTitleNotInFlight,
StateShareStateNotFound,
Expand Down
28 changes: 28 additions & 0 deletions PlayFabSDK/source/PlayFabClientAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1594,6 +1594,34 @@ public static async Task<PlayFabResult<GetPlayFabIDsFromSteamIDsResult>> GetPlay
return new PlayFabResult<GetPlayFabIDsFromSteamIDsResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public static async Task<PlayFabResult<GetPlayFabIDsFromSteamNamesResult>> GetPlayFabIDsFromSteamNamesAsync(GetPlayFabIDsFromSteamNamesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer;
var requestSettings = PlayFabSettings.staticSettings;
if (requestContext.ClientSessionTicket == null) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method");


var httpResult = await PlayFabHttp.DoPost("/Client/GetPlayFabIDsFromSteamNames", request, "X-Authorization", requestContext.ClientSessionTicket, extraHeaders);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<GetPlayFabIDsFromSteamNamesResult> { Error = error, CustomData = customData };
}

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

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

/// <summary>
/// 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:
Expand Down
27 changes: 27 additions & 0 deletions PlayFabSDK/source/PlayFabClientInstanceAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1563,6 +1563,33 @@ public async Task<PlayFabResult<GetPlayFabIDsFromSteamIDsResult>> GetPlayFabIDsF
return new PlayFabResult<GetPlayFabIDsFromSteamIDsResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public async Task<PlayFabResult<GetPlayFabIDsFromSteamNamesResult>> GetPlayFabIDsFromSteamNamesAsync(GetPlayFabIDsFromSteamNamesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

var requestContext = request?.AuthenticationContext ?? authenticationContext;
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
if (requestContext.ClientSessionTicket == null) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method");

var httpResult = await PlayFabHttp.DoPost("/Client/GetPlayFabIDsFromSteamNames", request, "X-Authorization", requestContext.ClientSessionTicket, extraHeaders, requestSettings);
if (httpResult is PlayFabError)
{
var error = (PlayFabError)httpResult;
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
return new PlayFabResult<GetPlayFabIDsFromSteamNamesResult> { Error = error, CustomData = customData };
}

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

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

/// <summary>
/// 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:
Expand Down
37 changes: 37 additions & 0 deletions PlayFabSDK/source/PlayFabClientModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2933,6 +2933,29 @@ public class GetPlayFabIDsFromSteamIDsResult : PlayFabResultCommon

}

public class GetPlayFabIDsFromSteamNamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Steam identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 in
/// length.
/// </summary>
public List<string> SteamNames ;

}

/// <summary>
/// For Steam identifiers which have not been linked to PlayFab accounts, or if the user has not logged in recently, null
/// will be returned.
/// </summary>
public class GetPlayFabIDsFromSteamNamesResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Steam identifiers to PlayFab identifiers.
/// </summary>
public List<SteamNamePlayFabIdPair> Data ;

}

public class GetPlayFabIDsFromTwitchIDsRequest : PlayFabRequestCommon
{
/// <summary>
Expand Down Expand Up @@ -6502,6 +6525,20 @@ public class StatisticValue

}

public class SteamNamePlayFabIdPair
{
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier.
/// </summary>
public string PlayFabId ;

/// <summary>
/// Unique Steam identifier for a user, also known as Steam persona name.
/// </summary>
public string SteamName ;

}

public class SteamPlayFabIdPair
{
/// <summary>
Expand Down
4 changes: 4 additions & 0 deletions PlayFabSDK/source/PlayFabErrors.cs
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,8 @@ public enum PlayFabErrorCode
StatisticColumnLengthMismatch = 1593,
InvalidExternalEntityId = 1594,
UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier = 1595,
TransactionAlreadyApplied = 1596,
ReportDataNotRetrievedSuccessfully = 1597,
MatchmakingEntityInvalid = 2001,
MatchmakingPlayerAttributesInvalid = 2002,
MatchmakingQueueNotFound = 2016,
Expand Down Expand Up @@ -875,6 +877,8 @@ public enum PlayFabErrorCode
GameSaveFileNotUploaded = 20308,
GameSaveBadRequest = 20309,
GameSaveOperationNotAllowed = 20310,
GameSaveDataStorageQuotaExceeded = 20311,
GameSaveNewerManifestExists = 20312,
StateShareForbidden = 21000,
StateShareTitleNotInFlight = 21001,
StateShareStateNotFound = 21002,
Expand Down
4 changes: 3 additions & 1 deletion PlayFabSDK/source/PlayFabMultiplayerModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,9 @@ public enum AzureRegion
CentralIndia,
UaeNorth,
UkSouth,
SwedenCentral
SwedenCentral,
CanadaCentral,
MexicoCentral
}

public enum AzureVmFamily
Expand Down
4 changes: 2 additions & 2 deletions PlayFabSDK/source/PlayFabSDK.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<FileAlignment>512</FileAlignment>

<PackageId>PlayFabAllSDK</PackageId>
<Version>1.192.241108</Version>
<Version>1.193.241122</Version>
<Title>PlayFab CSharp Sdk</Title>
<Authors>Microsoft</Authors>
<Owners>Microsoft</Owners>
Expand All @@ -21,7 +21,7 @@
<Company>PlayFab</Company>
<Product>PlayFabSDK</Product>
<PackageTags>PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native</PackageTags>
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#241108</PackageReleaseNotes>
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#241122</PackageReleaseNotes>
<NeutralLanguage>en</NeutralLanguage>
<AssemblyVersion>1</AssemblyVersion>
<FileVersion>1</FileVersion>
Expand Down
28 changes: 28 additions & 0 deletions PlayFabSDK/source/PlayFabServerAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1361,6 +1361,34 @@ public static async Task<PlayFabResult<GetPlayFabIDsFromSteamIDsResult>> GetPlay
return new PlayFabResult<GetPlayFabIDsFromSteamIDsResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public static async Task<PlayFabResult<GetPlayFabIDsFromSteamNamesResult>> GetPlayFabIDsFromSteamNamesAsync(GetPlayFabIDsFromSteamNamesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

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


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

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

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

/// <summary>
/// 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:
Expand Down
27 changes: 27 additions & 0 deletions PlayFabSDK/source/PlayFabServerInstanceAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1334,6 +1334,33 @@ public async Task<PlayFabResult<GetPlayFabIDsFromSteamIDsResult>> GetPlayFabIDsF
return new PlayFabResult<GetPlayFabIDsFromSteamIDsResult> { Result = result, CustomData = customData };
}

/// <summary>
/// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are persona
/// names.
/// </summary>
public async Task<PlayFabResult<GetPlayFabIDsFromSteamNamesResult>> GetPlayFabIDsFromSteamNamesAsync(GetPlayFabIDsFromSteamNamesRequest request, object customData = null, Dictionary<string, string> extraHeaders = null)
{
await new PlayFabUtil.SynchronizationContextRemover();

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

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

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

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

/// <summary>
/// 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:
Expand Down
40 changes: 40 additions & 0 deletions PlayFabSDK/source/PlayFabServerModels.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2135,6 +2135,8 @@ public enum GenericErrorCodes
StatisticColumnLengthMismatch,
InvalidExternalEntityId,
UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier,
TransactionAlreadyApplied,
ReportDataNotRetrievedSuccessfully,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
Expand Down Expand Up @@ -2414,6 +2416,8 @@ public enum GenericErrorCodes
GameSaveFileNotUploaded,
GameSaveBadRequest,
GameSaveOperationNotAllowed,
GameSaveDataStorageQuotaExceeded,
GameSaveNewerManifestExists,
StateShareForbidden,
StateShareTitleNotInFlight,
StateShareStateNotFound,
Expand Down Expand Up @@ -3578,6 +3582,28 @@ public class GetPlayFabIDsFromSteamIDsResult : PlayFabResultCommon

}

public class GetPlayFabIDsFromSteamNamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Steam identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 in
/// length.
/// </summary>
public List<string> SteamNames ;

}

/// <summary>
/// For Steam identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
public class GetPlayFabIDsFromSteamNamesResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Steam identifiers to PlayFab identifiers.
/// </summary>
public List<SteamNamePlayFabIdPair> Data ;

}

public class GetPlayFabIDsFromTwitchIDsRequest : PlayFabRequestCommon
{
/// <summary>
Expand Down Expand Up @@ -6524,6 +6550,20 @@ public class StatisticValue

}

public class SteamNamePlayFabIdPair
{
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier.
/// </summary>
public string PlayFabId ;

/// <summary>
/// Unique Steam identifier for a user, also known as Steam persona name.
/// </summary>
public string SteamName ;

}

public class SteamPlayFabIdPair
{
/// <summary>
Expand Down
6 changes: 3 additions & 3 deletions PlayFabSDK/source/PlayFabSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ namespace PlayFab
{
public class PlayFabSettings
{
public const string SdkVersion = "1.192.241108";
public const string BuildIdentifier = "adobuild_csharpsdk_117";
public const string SdkVersionString = "CSharpSDK-1.192.241108";
public const string SdkVersion = "1.193.241122";
public const string BuildIdentifier = "adobuild_csharpsdk_118";
public const string SdkVersionString = "CSharpSDK-1.193.241122";
/// <summary> This is only for customers running a private cluster. Generally you shouldn't touch this </summary>
public static string DefaultProductionEnvironmentUrl = "playfabapi.com";

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

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

<ItemGroup>
<PackageReference Include="PlayFabAllSDK" Version="1.192.241108" />
<PackageReference Include="PlayFabAllSDK" Version="1.193.241122" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2814,6 +2814,8 @@ public enum GenericErrorCodes
StatisticColumnLengthMismatch,
InvalidExternalEntityId,
UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier,
TransactionAlreadyApplied,
ReportDataNotRetrievedSuccessfully,
MatchmakingEntityInvalid,
MatchmakingPlayerAttributesInvalid,
MatchmakingQueueNotFound,
Expand Down Expand Up @@ -3093,6 +3095,8 @@ public enum GenericErrorCodes
GameSaveFileNotUploaded,
GameSaveBadRequest,
GameSaveOperationNotAllowed,
GameSaveDataStorageQuotaExceeded,
GameSaveNewerManifestExists,
StateShareForbidden,
StateShareTitleNotInFlight,
StateShareStateNotFound,
Expand Down
Loading

0 comments on commit d0e3cd7

Please sign in to comment.