Skip to content

Commit f552b84

Browse files
PlayFab SDK TeamPlayFab SDK Team
PlayFab SDK Team
authored and
PlayFab SDK Team
committed
https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#230609
2 parents 85b81ee + 82ddcae commit f552b84

21 files changed

+159
-27
lines changed

PlayFabSDK/source/PlayFabAdminModels.cs

+1
Original file line numberDiff line numberDiff line change
@@ -2650,6 +2650,7 @@ public enum GenericErrorCodes
26502650
MultiplayerServerBuildReferencedByMatchmakingQueue,
26512651
MultiplayerServerBuildReferencedByBuildAlias,
26522652
MultiplayerServerBuildAliasReferencedByMatchmakingQueue,
2653+
PartySerializationError,
26532654
ExperimentationExperimentStopped,
26542655
ExperimentationExperimentRunning,
26552656
ExperimentationExperimentNotFound,

PlayFabSDK/source/PlayFabClientModels.cs

+12
Original file line numberDiff line numberDiff line change
@@ -4179,6 +4179,12 @@ public class LinkSteamAccountRequest : PlayFabRequestCommon
41794179
/// </summary>
41804180
public string SteamTicket ;
41814181

4182+
/// <summary>
4183+
/// True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
4184+
/// False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
4185+
/// </summary>
4186+
public bool? TicketIsServiceSpecific ;
4187+
41824188
}
41834189

41844190
public class LinkSteamAccountResult : PlayFabResultCommon
@@ -5197,6 +5203,12 @@ public class LoginWithSteamRequest : PlayFabRequestCommon
51975203
/// </summary>
51985204
public string SteamTicket ;
51995205

5206+
/// <summary>
5207+
/// True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
5208+
/// False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
5209+
/// </summary>
5210+
public bool? TicketIsServiceSpecific ;
5211+
52005212
/// <summary>
52015213
/// Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a
52025214
/// title has been selected.

PlayFabSDK/source/PlayFabEconomyModels.cs

+5
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,11 @@ public class CatalogPrice
362362
/// </summary>
363363
public List<CatalogPriceAmount> Amounts ;
364364

365+
/// <summary>
366+
/// The per-unit amount this price can be used to purchase.
367+
/// </summary>
368+
public int? UnitAmount ;
369+
365370
/// <summary>
366371
/// The per-unit duration this price can be used to purchase. The maximum duration is 100 years.
367372
/// </summary>

PlayFabSDK/source/PlayFabErrors.cs

+1
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,7 @@ public enum PlayFabErrorCode
651651
MultiplayerServerBuildReferencedByMatchmakingQueue = 6002,
652652
MultiplayerServerBuildReferencedByBuildAlias = 6003,
653653
MultiplayerServerBuildAliasReferencedByMatchmakingQueue = 6004,
654+
PartySerializationError = 6005,
654655
ExperimentationExperimentStopped = 7000,
655656
ExperimentationExperimentRunning = 7001,
656657
ExperimentationExperimentNotFound = 7002,

PlayFabSDK/source/PlayFabEventsAPI.cs

+26-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static async Task<PlayFabResult<WriteEventsResponse>> WriteEventsAsync(Wr
6060
var result = resultData.data;
6161

6262
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
63-
}
63+
}
6464

6565
/// <summary>
6666
/// Write batches of entity based events to as Telemetry events (bypass PlayStream). The namespace must be 'custom' or start
@@ -88,7 +88,30 @@ public static async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEvent
8888
var result = resultData.data;
8989

9090
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
91-
}
92-
}
91+
}
92+
93+
/// <summary>
94+
/// Write batches of entity based events to as Telemetry events (bypass PlayStream) using a Telemetry Key. The namespace must be 'custom' or start
95+
/// with 'custom.'
96+
/// </summary>
97+
public static async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEventsAsync(WriteEventsRequest request, string telemetryKey, object customData = null, Dictionary<string, string> extraHeaders = null)
98+
{
99+
await new PlayFabUtil.SynchronizationContextRemover();
100+
101+
var httpResult = await PlayFabHttp.DoPost("/Event/WriteTelemetryEvents", request, "X-TelemetryKey", telemetryKey, extraHeaders);
102+
if (httpResult is PlayFabError)
103+
{
104+
var error = (PlayFabError)httpResult;
105+
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
106+
return new PlayFabResult<WriteEventsResponse> { Error = error, CustomData = customData };
107+
}
108+
109+
var resultRawJson = (string)httpResult;
110+
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<WriteEventsResponse>>(resultRawJson);
111+
var result = resultData.data;
112+
113+
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
114+
}
115+
}
93116
}
94117
#endif

PlayFabSDK/source/PlayFabEventsInstanceAPI.cs

+26-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public async Task<PlayFabResult<WriteEventsResponse>> WriteEventsAsync(WriteEven
7777
var result = resultData.data;
7878

7979
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
80-
}
80+
}
8181

8282
/// <summary>
8383
/// Write batches of entity based events to as Telemetry events (bypass PlayStream). The namespace must be 'custom' or start
@@ -104,8 +104,31 @@ public async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEventsAsync(
104104
var result = resultData.data;
105105

106106
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
107-
}
107+
}
108108

109-
}
109+
/// <summary>
110+
/// Write batches of entity based events to as Telemetry events (bypass PlayStream) using a Telemetry Key. The namespace must be 'custom' or start
111+
/// with 'custom.'
112+
/// </summary>
113+
public async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEventsAsync(WriteEventsRequest request, string telemetryKey, object customData = null, Dictionary<string, string> extraHeaders = null)
114+
{
115+
await new PlayFabUtil.SynchronizationContextRemover();
116+
117+
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
118+
var httpResult = await PlayFabHttp.DoPost("/Event/WriteTelemetryEvents", request, "X-TelemetryKey", telemetryKey, extraHeaders);
119+
if (httpResult is PlayFabError)
120+
{
121+
var error = (PlayFabError)httpResult;
122+
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
123+
return new PlayFabResult<WriteEventsResponse> { Error = error, CustomData = customData };
124+
}
125+
126+
var resultRawJson = (string)httpResult;
127+
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<WriteEventsResponse>>(resultRawJson);
128+
var result = resultData.data;
129+
130+
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
131+
}
132+
}
110133
}
111134
#endif

PlayFabSDK/source/PlayFabProfilesModels.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ public class EntityStatisticValue
248248
public Dictionary<string,EntityStatisticChildValue> ChildStatistics ;
249249

250250
/// <summary>
251-
/// Statistic metadata
251+
/// Metadata associated with the Statistic.
252252
/// </summary>
253253
public string Metadata ;
254254

PlayFabSDK/source/PlayFabSDK.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<FileAlignment>512</FileAlignment>
99

1010
<PackageId>PlayFabAllSDK</PackageId>
11-
<Version>1.154.230529</Version>
11+
<Version>1.155.230609</Version>
1212
<Title>PlayFab CSharp Sdk</Title>
1313
<Authors>Microsoft</Authors>
1414
<Owners>Microsoft</Owners>
@@ -21,7 +21,7 @@
2121
<Company>PlayFab</Company>
2222
<Product>PlayFabSDK</Product>
2323
<PackageTags>PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native</PackageTags>
24-
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230529</PackageReleaseNotes>
24+
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230609</PackageReleaseNotes>
2525
<NeutralLanguage>en</NeutralLanguage>
2626
<AssemblyVersion>1</AssemblyVersion>
2727
<FileVersion>1</FileVersion>

PlayFabSDK/source/PlayFabServerModels.cs

+1
Original file line numberDiff line numberDiff line change
@@ -2203,6 +2203,7 @@ public enum GenericErrorCodes
22032203
MultiplayerServerBuildReferencedByMatchmakingQueue,
22042204
MultiplayerServerBuildReferencedByBuildAlias,
22052205
MultiplayerServerBuildAliasReferencedByMatchmakingQueue,
2206+
PartySerializationError,
22062207
ExperimentationExperimentStopped,
22072208
ExperimentationExperimentRunning,
22082209
ExperimentationExperimentNotFound,

PlayFabSDK/source/PlayFabSettings.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ namespace PlayFab
66
{
77
public class PlayFabSettings
88
{
9-
public const string SdkVersion = "1.154.230529";
10-
public const string BuildIdentifier = "adobuild_csharpsdk_114";
11-
public const string SdkVersionString = "CSharpSDK-1.154.230529";
9+
public const string SdkVersion = "1.155.230609";
10+
public const string BuildIdentifier = "adobuild_csharpsdk_117";
11+
public const string SdkVersionString = "CSharpSDK-1.155.230609";
1212
/// <summary> This is only for customers running a private cluster. Generally you shouldn't touch this </summary>
1313
public static string DefaultProductionEnvironmentUrl = "playfabapi.com";
1414

Plugins/CloudScript/source/PlayFabCloudScriptPlugin.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<FileAlignment>512</FileAlignment>
99

1010
<PackageId>PlayFabCloudScriptPlugin</PackageId>
11-
<Version>1.154.230529-alpha</Version>
11+
<Version>1.155.230609-alpha</Version>
1212
<Title>PlayFab CSharp CloudScript Plugin</Title>
1313
<Authors>Microsoft</Authors>
1414
<Owners>Microsoft</Owners>
@@ -21,7 +21,7 @@
2121
<Product>PlayFabCloudScriptPlugin</Product>
2222
<Copyright>Copyright 2023</Copyright>
2323
<PackageTags>PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native</PackageTags>
24-
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230529</PackageReleaseNotes>
24+
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230609</PackageReleaseNotes>
2525
<NeutralLanguage>en</NeutralLanguage>
2626
<AssemblyVersion>1</AssemblyVersion>
2727
<FileVersion>1</FileVersion>
@@ -45,7 +45,7 @@
4545
</PropertyGroup>
4646

4747
<ItemGroup>
48-
<PackageReference Include="PlayFabAllSDK" Version="1.154.230529" />
48+
<PackageReference Include="PlayFabAllSDK" Version="1.155.230609" />
4949
</ItemGroup>
5050

5151
</Project>

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabAdminModels.cs

+1
Original file line numberDiff line numberDiff line change
@@ -2650,6 +2650,7 @@ public enum GenericErrorCodes
26502650
MultiplayerServerBuildReferencedByMatchmakingQueue,
26512651
MultiplayerServerBuildReferencedByBuildAlias,
26522652
MultiplayerServerBuildAliasReferencedByMatchmakingQueue,
2653+
PartySerializationError,
26532654
ExperimentationExperimentStopped,
26542655
ExperimentationExperimentRunning,
26552656
ExperimentationExperimentNotFound,

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabClientModels.cs

+12
Original file line numberDiff line numberDiff line change
@@ -4179,6 +4179,12 @@ public class LinkSteamAccountRequest : PlayFabRequestCommon
41794179
/// </summary>
41804180
public string SteamTicket ;
41814181

4182+
/// <summary>
4183+
/// True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
4184+
/// False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
4185+
/// </summary>
4186+
public bool? TicketIsServiceSpecific ;
4187+
41824188
}
41834189

41844190
public class LinkSteamAccountResult : PlayFabResultCommon
@@ -5197,6 +5203,12 @@ public class LoginWithSteamRequest : PlayFabRequestCommon
51975203
/// </summary>
51985204
public string SteamTicket ;
51995205

5206+
/// <summary>
5207+
/// True if ticket was generated using ISteamUser::GetAuthTicketForWebAPI() using "AzurePlayFab" as the identity string.
5208+
/// False if the ticket was generated with ISteamUser::GetAuthSessionTicket().
5209+
/// </summary>
5210+
public bool? TicketIsServiceSpecific ;
5211+
52005212
/// <summary>
52015213
/// Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a
52025214
/// title has been selected.

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEconomyModels.cs

+5
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,11 @@ public class CatalogPrice
362362
/// </summary>
363363
public List<CatalogPriceAmount> Amounts ;
364364

365+
/// <summary>
366+
/// The per-unit amount this price can be used to purchase.
367+
/// </summary>
368+
public int? UnitAmount ;
369+
365370
/// <summary>
366371
/// The per-unit duration this price can be used to purchase. The maximum duration is 100 years.
367372
/// </summary>

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabErrors.cs

+1
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,7 @@ public enum PlayFabErrorCode
651651
MultiplayerServerBuildReferencedByMatchmakingQueue = 6002,
652652
MultiplayerServerBuildReferencedByBuildAlias = 6003,
653653
MultiplayerServerBuildAliasReferencedByMatchmakingQueue = 6004,
654+
PartySerializationError = 6005,
654655
ExperimentationExperimentStopped = 7000,
655656
ExperimentationExperimentRunning = 7001,
656657
ExperimentationExperimentNotFound = 7002,

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEventsAPI.cs

+26-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static async Task<PlayFabResult<WriteEventsResponse>> WriteEventsAsync(Wr
6060
var result = resultData.data;
6161

6262
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
63-
}
63+
}
6464

6565
/// <summary>
6666
/// Write batches of entity based events to as Telemetry events (bypass PlayStream). The namespace must be 'custom' or start
@@ -88,7 +88,30 @@ public static async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEvent
8888
var result = resultData.data;
8989

9090
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
91-
}
92-
}
91+
}
92+
93+
/// <summary>
94+
/// Write batches of entity based events to as Telemetry events (bypass PlayStream) using a Telemetry Key. The namespace must be 'custom' or start
95+
/// with 'custom.'
96+
/// </summary>
97+
public static async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEventsAsync(WriteEventsRequest request, string telemetryKey, object customData = null, Dictionary<string, string> extraHeaders = null)
98+
{
99+
await new PlayFabUtil.SynchronizationContextRemover();
100+
101+
var httpResult = await PlayFabHttp.DoPost("/Event/WriteTelemetryEvents", request, "X-TelemetryKey", telemetryKey, extraHeaders);
102+
if (httpResult is PlayFabError)
103+
{
104+
var error = (PlayFabError)httpResult;
105+
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
106+
return new PlayFabResult<WriteEventsResponse> { Error = error, CustomData = customData };
107+
}
108+
109+
var resultRawJson = (string)httpResult;
110+
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<WriteEventsResponse>>(resultRawJson);
111+
var result = resultData.data;
112+
113+
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
114+
}
115+
}
93116
}
94117
#endif

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabEventsInstanceAPI.cs

+26-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public async Task<PlayFabResult<WriteEventsResponse>> WriteEventsAsync(WriteEven
7777
var result = resultData.data;
7878

7979
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
80-
}
80+
}
8181

8282
/// <summary>
8383
/// Write batches of entity based events to as Telemetry events (bypass PlayStream). The namespace must be 'custom' or start
@@ -104,8 +104,31 @@ public async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEventsAsync(
104104
var result = resultData.data;
105105

106106
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
107-
}
107+
}
108108

109-
}
109+
/// <summary>
110+
/// Write batches of entity based events to as Telemetry events (bypass PlayStream) using a Telemetry Key. The namespace must be 'custom' or start
111+
/// with 'custom.'
112+
/// </summary>
113+
public async Task<PlayFabResult<WriteEventsResponse>> WriteTelemetryEventsAsync(WriteEventsRequest request, string telemetryKey, object customData = null, Dictionary<string, string> extraHeaders = null)
114+
{
115+
await new PlayFabUtil.SynchronizationContextRemover();
116+
117+
var requestSettings = apiSettings ?? PlayFabSettings.staticSettings;
118+
var httpResult = await PlayFabHttp.DoPost("/Event/WriteTelemetryEvents", request, "X-TelemetryKey", telemetryKey, extraHeaders);
119+
if (httpResult is PlayFabError)
120+
{
121+
var error = (PlayFabError)httpResult;
122+
PlayFabSettings.GlobalErrorHandler?.Invoke(error);
123+
return new PlayFabResult<WriteEventsResponse> { Error = error, CustomData = customData };
124+
}
125+
126+
var resultRawJson = (string)httpResult;
127+
var resultData = PluginManager.GetPlugin<ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject<PlayFabJsonSuccess<WriteEventsResponse>>(resultRawJson);
128+
var result = resultData.data;
129+
130+
return new PlayFabResult<WriteEventsResponse> { Result = result, CustomData = customData };
131+
}
132+
}
110133
}
111134
#endif

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabProfilesModels.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ public class EntityStatisticValue
248248
public Dictionary<string,EntityStatisticChildValue> ChildStatistics ;
249249

250250
/// <summary>
251-
/// Statistic metadata
251+
/// Metadata associated with the Statistic.
252252
/// </summary>
253253
public string Metadata ;
254254

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabSDK.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<FileAlignment>512</FileAlignment>
99

1010
<PackageId>PlayFabAllSDK</PackageId>
11-
<Version>1.154.230529</Version>
11+
<Version>1.155.230609</Version>
1212
<Title>PlayFab CSharp Sdk</Title>
1313
<Authors>Microsoft</Authors>
1414
<Owners>Microsoft</Owners>
@@ -21,7 +21,7 @@
2121
<Company>PlayFab</Company>
2222
<Product>PlayFabSDK</Product>
2323
<PackageTags>PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native</PackageTags>
24-
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230529</PackageReleaseNotes>
24+
<PackageReleaseNotes>https://docs.microsoft.com/gaming/playfab/release-notes#230609</PackageReleaseNotes>
2525
<NeutralLanguage>en</NeutralLanguage>
2626
<AssemblyVersion>1</AssemblyVersion>
2727
<FileVersion>1</FileVersion>

XamarinTestRunner/XamarinTestRunner/PlayFabSDK/PlayFabServerModels.cs

+1
Original file line numberDiff line numberDiff line change
@@ -2203,6 +2203,7 @@ public enum GenericErrorCodes
22032203
MultiplayerServerBuildReferencedByMatchmakingQueue,
22042204
MultiplayerServerBuildReferencedByBuildAlias,
22052205
MultiplayerServerBuildAliasReferencedByMatchmakingQueue,
2206+
PartySerializationError,
22062207
ExperimentationExperimentStopped,
22072208
ExperimentationExperimentRunning,
22082209
ExperimentationExperimentNotFound,

0 commit comments

Comments
 (0)