/// <summary> /// Attempts to create a Photon Cloud Account asynchronously. /// Once your callback is called, check ReturnCode, Message and AppId to get the result of this attempt. /// </summary> /// <param name="email">Email of the account.</param> /// <param name="origin">Marks which channel created the new account (if it's new).</param> /// <param name="serviceType">Defines which type of Photon-service is being requested.</param> /// <param name="callback">Called when the result is available.</param> public void RegisterByEmail(string email, Origin origin, string serviceType, Action <AccountService> callback = null) { this.registrationCallback = callback; this.AppId = string.Empty; this.AppId2 = string.Empty; this.Message = string.Empty; this.ReturnCode = -1; string url = this.RegistrationUri(email, (byte)origin, serviceType); PhotonEditorUtils.StartCoroutine( PhotonEditorUtils.HttpGet(url, (s) => { this.ParseResult(s); if (this.registrationCallback != null) { this.registrationCallback(this); } }, (e) => { this.Message = e; if (this.registrationCallback != null) { this.registrationCallback(this); } }) ); }
public bool RegisterByEmail(AccountServiceRequest request, Action <AccountServiceResponse> callback = null, Action <string> errorCallback = null) { if (request == null) { Debug.LogError("Registration request is null"); return(false); } PhotonEditorUtils.StartCoroutine( PhotonEditorUtils.HttpPost(GetUrlWithQueryStringEscaped(request), RequestHeaders, null, s => { if (string.IsNullOrEmpty(s)) { if (errorCallback != null) { errorCallback("Server's response was empty. Please register through account website during this service interruption."); } } else { AccountServiceResponse ase = this.ParseResult(s); if (ase == null) { if (errorCallback != null) { errorCallback("Error parsing registration response. Please try registering from account website"); } } else if (callback != null) { callback(ase); } } }, e => { if (errorCallback != null) { errorCallback(e); } }) ); return(true); }