private IEnumerator SendUrl(string url, ApiCallback callback) { using (WWW www = new WWW(url)) { yield return(www); if (www.error != null) { Debug.Log(www.error); yield return(null); } else { callback?.Invoke(www.text); } } }
public async Task Get <T>(ApiCallback <T> result, string location, bool showLoading = true) where T : Response { try { if (showLoading) { Acr.UserDialogs.UserDialogs.Instance.ShowLoading(AppResources.Loading); } var uri = new Uri(url + location); T instance = default(T); HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, uri); string token = Settings.Local.Get <String>("token"); requestMessage.Headers.Add("Authorization", "Bearer " + token); HttpResponseMessage response = await client.SendAsync(requestMessage); if (response.IsSuccessStatusCode) { //Registration succesfull. instance = JsonConvert.DeserializeObject <T>(await response.Content.ReadAsStringAsync()); result(instance); if (!instance.Success) { HandleError(instance); } } else { await caller.DisplayAlert(AppResources.Error, AuthenticationResources.ErrorLogin, AppResources.Ok); } } catch (Exception ex) { await caller.DisplayAlert(AppResources.Error, AuthenticationResources.ErrorLogin, AppResources.Ok); } finally { if (showLoading) { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); } } }
public async Task Post <T, R>(ApiCallback <T> result, R request, string location) where T : Response { try { Acr.UserDialogs.UserDialogs.Instance.ShowLoading(AppResources.Loading); var uri = new Uri(url + location); T instance = default(T); string text = JsonConvert.SerializeObject(request); var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, uri); requestMessage.Content = content; string token = Settings.Local.Get <String>("token"); requestMessage.Headers.Add("Authorization", "Bearer " + token); HttpResponseMessage response = await client.SendAsync(requestMessage); if (response.IsSuccessStatusCode) { instance = JsonConvert.DeserializeObject <T>(await response.Content.ReadAsStringAsync()); if (instance.Success) { result(instance); } else { HandleError(instance); } } else { await caller.DisplayAlert(AppResources.Error, AuthenticationResources.ErrorLogin, AppResources.Ok); } } catch (Exception ex) { await caller.DisplayAlert(AppResources.Error, AuthenticationResources.ErrorLogin, AppResources.Ok); } finally { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); } }
private string RequestAdmobConfig(string appKey) { if (Application.internetReachability == NetworkReachability.NotReachable) { return("Please check your network. You can also fill in manually."); } string result = string.Empty; if (!string.IsNullOrEmpty(appKey)) { string api = "https://sdk.mas.yodo1.com/v1/unity/setup/" + appKey; #if UNITY_2018 string response = HttpGet(api); Dictionary <string, object> obj = (Dictionary <string, object>)Yodo1JSON.Deserialize(response); Debug.Log("response:" + response); if (obj != null) { if (obj.ContainsKey("app_key")) { app_key = (string)obj["app_key"]; } if (obj.ContainsKey("name")) { app_name = (string)obj["name"]; } if (obj.ContainsKey("bundle_id")) { app_bundle_id = (string)obj["bundle_id"]; } if (obj.ContainsKey("platform")) { app_platform = (string)obj["platform"]; } if (obj.ContainsKey("admob_key")) { app_admob_key = (string)obj["admob_key"]; } if (app_platform == "ios") { this.adSettings.iOSSettings.AdmobAppID = app_admob_key; } else if (app_platform == "android") { this.adSettings.androidSettings.AdmobAppID = app_admob_key; } } else { result = "MAS App Key not found. please fill in correctly."; } #else ApiCallback callback = delegate(string response) { Dictionary <string, object> obj = (Dictionary <string, object>)Yodo1JSON.Deserialize(response); Debug.Log("response:" + response); if (obj != null) { if (obj.ContainsKey("app_key")) { app_key = (string)obj["app_key"]; } if (obj.ContainsKey("name")) { app_name = (string)obj["name"]; } if (obj.ContainsKey("bundle_id")) { app_bundle_id = (string)obj["bundle_id"]; } if (obj.ContainsKey("platform")) { app_platform = (string)obj["platform"]; } if (obj.ContainsKey("admob_key")) { app_admob_key = (string)obj["admob_key"]; } if (app_platform == "ios") { this.adSettings.iOSSettings.AdmobAppID = app_admob_key; } else if (app_platform == "android") { this.adSettings.androidSettings.AdmobAppID = app_admob_key; } } else { result = "MAS App Key not found. please fill in correctly."; } }; EditorCoroutineRunner.StartEditorCoroutine(SendUrl(api, callback)); #endif } else { result = "Please enter the correct MAS App Key."; } return(result); }
public Handler(string name) { Name = name; Callback = (id, param) => OnApiCallback(Name, param); }
public void RegisterCallback(ApiCallback callback) { _callback = callback; }