@@ -1294,6 +1294,32 @@ public async Task<PlayFabResult<GetPlayerTradesResponse>> GetPlayerTradesAsync(G
1294
1294
return new PlayFabResult < GetPlayerTradesResponse > { Result = result , CustomData = customData } ;
1295
1295
}
1296
1296
1297
+ /// <summary>
1298
+ /// Retrieves the unique PlayFab identifiers for the given set of Battle.net account identifiers.
1299
+ /// </summary>
1300
+ public async Task < PlayFabResult < GetPlayFabIDsFromBattleNetAccountIdsResult > > GetPlayFabIDsFromBattleNetAccountIdsAsync ( GetPlayFabIDsFromBattleNetAccountIdsRequest request , object customData = null , Dictionary < string , string > extraHeaders = null )
1301
+ {
1302
+ await new PlayFabUtil . SynchronizationContextRemover ( ) ;
1303
+
1304
+ var requestContext = request ? . AuthenticationContext ?? authenticationContext ;
1305
+ var requestSettings = apiSettings ?? PlayFabSettings . staticSettings ;
1306
+ if ( requestContext . ClientSessionTicket == null ) throw new PlayFabException ( PlayFabExceptionCode . NotLoggedIn , "Must be logged in to call this method" ) ;
1307
+
1308
+ var httpResult = await PlayFabHttp . DoPost ( "/Client/GetPlayFabIDsFromBattleNetAccountIds" , request , "X-Authorization" , requestContext . ClientSessionTicket , extraHeaders , requestSettings ) ;
1309
+ if ( httpResult is PlayFabError )
1310
+ {
1311
+ var error = ( PlayFabError ) httpResult ;
1312
+ PlayFabSettings . GlobalErrorHandler ? . Invoke ( error ) ;
1313
+ return new PlayFabResult < GetPlayFabIDsFromBattleNetAccountIdsResult > { Error = error , CustomData = customData } ;
1314
+ }
1315
+
1316
+ var resultRawJson = ( string ) httpResult ;
1317
+ var resultData = PluginManager . GetPlugin < ISerializerPlugin > ( PluginContract . PlayFab_Serializer ) . DeserializeObject < PlayFabJsonSuccess < GetPlayFabIDsFromBattleNetAccountIdsResult > > ( resultRawJson ) ;
1318
+ var result = resultData . data ;
1319
+
1320
+ return new PlayFabResult < GetPlayFabIDsFromBattleNetAccountIdsResult > { Result = result , CustomData = customData } ;
1321
+ }
1322
+
1297
1323
/// <summary>
1298
1324
/// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers.
1299
1325
/// </summary>
@@ -2145,6 +2171,32 @@ public async Task<PlayFabResult<EmptyResult>> LinkAppleAsync(LinkAppleRequest re
2145
2171
return new PlayFabResult < EmptyResult > { Result = result , CustomData = customData } ;
2146
2172
}
2147
2173
2174
+ /// <summary>
2175
+ /// Links the Battle.net account associated with the token to the user's PlayFab account.
2176
+ /// </summary>
2177
+ public async Task < PlayFabResult < EmptyResponse > > LinkBattleNetAsync ( LinkBattleNetRequest request , object customData = null , Dictionary < string , string > extraHeaders = null )
2178
+ {
2179
+ await new PlayFabUtil . SynchronizationContextRemover ( ) ;
2180
+
2181
+ var requestContext = request ? . AuthenticationContext ?? authenticationContext ;
2182
+ var requestSettings = apiSettings ?? PlayFabSettings . staticSettings ;
2183
+ if ( requestContext . ClientSessionTicket == null ) throw new PlayFabException ( PlayFabExceptionCode . NotLoggedIn , "Must be logged in to call this method" ) ;
2184
+
2185
+ var httpResult = await PlayFabHttp . DoPost ( "/Client/LinkBattleNet" , request , "X-Authorization" , requestContext . ClientSessionTicket , extraHeaders , requestSettings ) ;
2186
+ if ( httpResult is PlayFabError )
2187
+ {
2188
+ var error = ( PlayFabError ) httpResult ;
2189
+ PlayFabSettings . GlobalErrorHandler ? . Invoke ( error ) ;
2190
+ return new PlayFabResult < EmptyResponse > { Error = error , CustomData = customData } ;
2191
+ }
2192
+
2193
+ var resultRawJson = ( string ) httpResult ;
2194
+ var resultData = PluginManager . GetPlugin < ISerializerPlugin > ( PluginContract . PlayFab_Serializer ) . DeserializeObject < PlayFabJsonSuccess < EmptyResponse > > ( resultRawJson ) ;
2195
+ var result = resultData . data ;
2196
+
2197
+ return new PlayFabResult < EmptyResponse > { Result = result , CustomData = customData } ;
2198
+ }
2199
+
2148
2200
/// <summary>
2149
2201
/// Links the custom identifier, generated by the title, to the user's PlayFab account
2150
2202
/// </summary>
@@ -2625,6 +2677,35 @@ public async Task<PlayFabResult<LoginResult>> LoginWithAppleAsync(LoginWithApple
2625
2677
return new PlayFabResult < LoginResult > { Result = result , CustomData = customData } ;
2626
2678
}
2627
2679
2680
+ /// <summary>
2681
+ /// Sign in the user with a Battle.net identity token
2682
+ /// </summary>
2683
+ public async Task < PlayFabResult < LoginResult > > LoginWithBattleNetAsync ( LoginWithBattleNetRequest request , object customData = null , Dictionary < string , string > extraHeaders = null )
2684
+ {
2685
+ await new PlayFabUtil . SynchronizationContextRemover ( ) ;
2686
+
2687
+ var requestContext = request ? . AuthenticationContext ?? authenticationContext ;
2688
+ var requestSettings = apiSettings ?? PlayFabSettings . staticSettings ;
2689
+ if ( request != null ) request . TitleId = request ? . TitleId ?? requestSettings . TitleId ;
2690
+ if ( request . TitleId == null ) throw new PlayFabException ( PlayFabExceptionCode . TitleNotSet , "TitleId must be set in your local or global settings to call this method" ) ;
2691
+
2692
+ var httpResult = await PlayFabHttp . DoPost ( "/Client/LoginWithBattleNet" , request , null , null , extraHeaders , requestSettings ) ;
2693
+ if ( httpResult is PlayFabError )
2694
+ {
2695
+ var error = ( PlayFabError ) httpResult ;
2696
+ PlayFabSettings . GlobalErrorHandler ? . Invoke ( error ) ;
2697
+ return new PlayFabResult < LoginResult > { Error = error , CustomData = customData } ;
2698
+ }
2699
+
2700
+ var resultRawJson = ( string ) httpResult ;
2701
+ var resultData = PluginManager . GetPlugin < ISerializerPlugin > ( PluginContract . PlayFab_Serializer ) . DeserializeObject < PlayFabJsonSuccess < LoginResult > > ( resultRawJson ) ;
2702
+ var result = resultData . data ;
2703
+ result . AuthenticationContext = new PlayFabAuthenticationContext ( result . SessionTicket , result . EntityToken . EntityToken , result . PlayFabId , result . EntityToken . Entity . Id , result . EntityToken . Entity . Type ) ;
2704
+ authenticationContext . CopyFrom ( result . AuthenticationContext ) ;
2705
+
2706
+ return new PlayFabResult < LoginResult > { Result = result , CustomData = customData } ;
2707
+ }
2708
+
2628
2709
/// <summary>
2629
2710
/// Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can
2630
2711
/// subsequently be used for API calls which require an authenticated user
@@ -3755,6 +3836,32 @@ public async Task<PlayFabResult<EmptyResponse>> UnlinkAppleAsync(UnlinkAppleRequ
3755
3836
return new PlayFabResult < EmptyResponse > { Result = result , CustomData = customData } ;
3756
3837
}
3757
3838
3839
+ /// <summary>
3840
+ /// Unlinks the related Battle.net account from the user's PlayFab account.
3841
+ /// </summary>
3842
+ public async Task < PlayFabResult < EmptyResponse > > UnlinkBattleNetAsync ( UnlinkBattleNetRequest request , object customData = null , Dictionary < string , string > extraHeaders = null )
3843
+ {
3844
+ await new PlayFabUtil . SynchronizationContextRemover ( ) ;
3845
+
3846
+ var requestContext = request ? . AuthenticationContext ?? authenticationContext ;
3847
+ var requestSettings = apiSettings ?? PlayFabSettings . staticSettings ;
3848
+ if ( requestContext . ClientSessionTicket == null ) throw new PlayFabException ( PlayFabExceptionCode . NotLoggedIn , "Must be logged in to call this method" ) ;
3849
+
3850
+ var httpResult = await PlayFabHttp . DoPost ( "/Client/UnlinkBattleNet" , request , "X-Authorization" , requestContext . ClientSessionTicket , extraHeaders , requestSettings ) ;
3851
+ if ( httpResult is PlayFabError )
3852
+ {
3853
+ var error = ( PlayFabError ) httpResult ;
3854
+ PlayFabSettings . GlobalErrorHandler ? . Invoke ( error ) ;
3855
+ return new PlayFabResult < EmptyResponse > { Error = error , CustomData = customData } ;
3856
+ }
3857
+
3858
+ var resultRawJson = ( string ) httpResult ;
3859
+ var resultData = PluginManager . GetPlugin < ISerializerPlugin > ( PluginContract . PlayFab_Serializer ) . DeserializeObject < PlayFabJsonSuccess < EmptyResponse > > ( resultRawJson ) ;
3860
+ var result = resultData . data ;
3861
+
3862
+ return new PlayFabResult < EmptyResponse > { Result = result , CustomData = customData } ;
3863
+ }
3864
+
3758
3865
/// <summary>
3759
3866
/// Unlinks the related custom identifier from the user's PlayFab account
3760
3867
/// </summary>
0 commit comments