/// <summary> /// Lists quality of service servers. /// </summary> public static void ListQosServers(ListQosServersRequest request, Action <ListQosServersResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; PlayFabHttp.MakeApiCall("/MultiplayerServer/ListQosServers", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders, context); }
private async Task <Dictionary <string, string> > GetQoSServerList() { if (_dataCenterMap?.Count > 0) { // If the dataCenterMap is already initialized, return return(_dataCenterMap); } var request = new ListQosServersRequest(); PlayFabResult <ListQosServersResponse> response = await multiplayerApi.ListQosServersAsync(request); if (response == null || response.Error != null) { return(null); } var dataCenterMap = new Dictionary <string, string>(response.Result.QosServers.Count); foreach (QosServer qosServer in response.Result.QosServers) { if (!string.IsNullOrEmpty(qosServer.Region)) { dataCenterMap[qosServer.Region] = qosServer.ServerUrl; } } return(_dataCenterMap = dataCenterMap); }
private async Task InitializeQoSServerList() { if (_dataCenterMap.Count > 0) { // If the dataCenterMap is already initialized, return return; } var request = new ListQosServersRequest(); PlayFabResult <ListQosServersResponse> response = await multiplayerApi.ListQosServersAsync(request); if (response == null || response.Error != null) { return; } foreach (QosServer qosServer in response.Result.QosServers) { if (string.IsNullOrEmpty(qosServer.Region)) { continue; } _dataCenterMap[qosServer.Region] = qosServer.ServerUrl; } }
public void GetQoSServers() { ListQosServersRequest request = new ListQosServersRequest(); PlayFabMultiplayerAPI.ListQosServers(request, ListQoSServersResponseSuccess, ListQoSServersResponseError, null, null); }
/// <summary> /// Lists quality of service servers. /// </summary> public static void ListQosServers(ListQosServersRequest request, Action <ListQosServersResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/MultiplayerServer/ListQosServers", request, AuthType.None, resultCallback, errorCallback, customData, extraHeaders); }
/// <summary> /// Lists quality of service servers. /// </summary> public static async Task <PlayFabResult <ListQosServersResponse> > ListQosServersAsync(ListQosServersRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/ListQosServers", request, null, null, extraHeaders); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <ListQosServersResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <ListQosServersResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <ListQosServersResponse> { Result = result, CustomData = customData }); }
private async Task <Dictionary <string, string> > GetQoSServerList(bool listQosForTitle = false, bool chinaVer = false) { if (_dataCenterMap?.Count > 0) { // If the dataCenterMap is already initialized, return return(_dataCenterMap); } var response = new PlayFabResult <ListQosServersResponse>(); var dataCenterMap = new Dictionary <string, string>(); if (!chinaVer && listQosForTitle) { var request = new ListQosServersForTitleRequest(); PlayFabResult <ListQosServersForTitleResponse> res = await multiplayerApi.ListQosServersForTitleAsync(request); if (res == null || res.Error != null) { return(null); } dataCenterMap = new Dictionary <string, string>(res.Result.QosServers.Count); foreach (QosServer qosServer in res.Result.QosServers) { if (!string.IsNullOrEmpty(qosServer.Region)) { dataCenterMap[qosServer.Region] = qosServer.ServerUrl; } } return(_dataCenterMap = dataCenterMap); } else if (chinaVer) { //China Qos Servers response.Result = new ListQosServersResponse() { QosServers = new List <QosServer>() { new QosServer() { Region = "ChinaNorth2", ServerUrl = "pfmsqosprodcn.chinanorth2.cloudapp.chinacloudapi.cn" }, new QosServer() { Region = "ChinaEast2", ServerUrl = "pfmsqosprodcn.chinaeast2.cloudapp.chinacloudapi.cn" } } }; } else { var request = new ListQosServersRequest(); response = await multiplayerApi.ListQosServersAsync(request); } if (response == null || response.Error != null) { return(null); } dataCenterMap = new Dictionary <string, string>(response.Result.QosServers.Count); foreach (QosServer qosServer in response.Result.QosServers) { if (!string.IsNullOrEmpty(qosServer.Region)) { dataCenterMap[qosServer.Region] = qosServer.ServerUrl; } } // if (!chinaVer && !listQosForTitle) dataCenterMap = dataCenterMap.Where(x => x.Key == "EastAsia" || x.Key == "JapanWest").ToDictionary(t => t.Key, t => t.Value); //Specify some regions for testing return(_dataCenterMap = dataCenterMap); }