public static void UpdateDisplayName(AbstractLogger logger, IMixWebCallFactory mixWebCallFactory, string displayName, Action <IUpdateDisplayNameResult> callback) { try { SetDisplayNameRequest setDisplayNameRequest = new SetDisplayNameRequest(); setDisplayNameRequest.DisplayName = displayName; SetDisplayNameRequest request = setDisplayNameRequest; IWebCall <SetDisplayNameRequest, SetDisplayNameResponse> webCall = mixWebCallFactory.DisplaynamePut(request); webCall.OnResponse += delegate(object sender, WebCallEventArgs <SetDisplayNameResponse> e) { SetDisplayNameResponse response = e.Response; if (ValidateSetDisplayNameResponse(response)) { callback(new UpdateDisplayNameResult(success: true)); } else { logger.Critical("Failed to validate update display name response!"); callback(new UpdateDisplayNameResult(success: false)); } }; webCall.OnError += delegate(object sender, WebCallErrorEventArgs e) { switch (e.Status) { case "DISPLAYNAME_MODERATION_FAILED": logger.Warning("Failed to update display name due to moderation failure: " + e.Message); callback(new UpdateDisplayNameFailedModerationResult(success: false)); break; case "DISPLAYNAME_ASSIGNMENT_FAILED": logger.Warning("Failed to update display name due to assignment failure: " + e.Message); callback(new UpdateDisplayNameExistsResult(success: false)); break; default: callback(new UpdateDisplayNameResult(success: false)); break; } }; webCall.Execute(); } catch (Exception ex) { logger.Critical("Unhandled exception: " + ex); callback(new UpdateDisplayNameResult(success: false)); } }
/// <summary> /// Update the display name of the entity /// </summary> public void SetDisplayName(SetDisplayNameRequest request, Action <SetDisplayNameResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/Profile/SetDisplayName", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, false, authenticationContext, ApiSettings); }
public IWebCall <SetDisplayNameRequest, SetDisplayNameResponse> DisplaynamePut(SetDisplayNameRequest request) { return(CreateWebCall <SetDisplayNameRequest, SetDisplayNameResponse>(HttpMethod.PUT, new Uri(host + "/displayname"), request)); }
/// <summary> /// Update the display name of the entity /// </summary> public static async Task <PlayFabResult <SetDisplayNameResponse> > SetDisplayNameAsync(SetDisplayNameRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { if ((request?.AuthenticationContext?.EntityToken ?? PlayFabSettings.staticPlayer.EntityToken) == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/Profile/SetDisplayName", request, "X-EntityToken", PlayFabSettings.staticPlayer.EntityToken, extraHeaders); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <SetDisplayNameResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <SetDisplayNameResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <SetDisplayNameResponse> { Result = result, CustomData = customData }); }