private void InitGoedle() { Guid user_id = Guid.NewGuid(); string app_version = APP_VERSION; string app_name = APP_NAME; if (String.IsNullOrEmpty(app_version)) { app_version = Application.version; } if (String.IsNullOrEmpty(app_name)) { if (String.IsNullOrEmpty(app_name)) { app_name = Application.productName; } else { app_name = app_version; } } // string locale = Application.systemLanguage.ToString(); // Build HTTP CLient detail.IGoedleWebRequest goedleWebRequest = new detail.GoedleWebRequest(); detail.IGoedleUploadHandler goedleUploadHandler = new detail.GoedleUploadHandler(); if (gio_interface == null && (!string.IsNullOrEmpty(instance.API_KEY) || !string.IsNullOrEmpty(instance.APP_KEY))) { gio_interface = new detail.GoedleAnalytics(API_KEY, APP_KEY, user_id.ToString("D"), app_version, GA_TRACKIND_ID, app_name, GA_CD_1, GA_CD_2, GA_CD_EVENT, detail.GoedleHttpClient.instance, goedleWebRequest, goedleUploadHandler, STAGING, TRACKING_DISABLE); Debug.Log("goedle.io SDK is initialzied"); } }
public void checkBehaviorGoedleWebRequestAnalyticsNoTrackWhenApiKeyIsEmpty() { _gio_object = new GoedleAnalytics("", _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _tracking); string stringContent = null; _guh.add(Arg.Do <string>(x => stringContent = x)); _gw.isHttpError.Returns(false); _gw.isNetworkError.Returns(false); _gio_object.trackGroup("class", "school", _guh); _gio_object.track("event", _guh); _gio_object.track("event", "event_id", _guh); _gio_object.track("event", "event_id", "50", _guh); _gio_object.set_user_id("test_user", _guh); _gw.Received(0).SendWebRequest(); _gio_object = new GoedleAnalytics(" ", _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _tracking); stringContent = null; _guh.add(Arg.Do <string>(x => stringContent = x)); _gw.isHttpError.Returns(false); _gw.isNetworkError.Returns(false); _gio_object.track("event", _guh); _gio_object = new GoedleAnalytics(null, _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _tracking); stringContent = null; _guh.add(Arg.Do <string>(x => stringContent = x)); _gw.isHttpError.Returns(false); _gw.isNetworkError.Returns(false); _gio_object.track("event", _guh); }
public void checkBehaviorGoedleWebRequestPOST() { _gio_object = new GoedleAnalytics(_api_key, _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _tracking); _gw.unityWebRequest.Returns(new UnityWebRequest()); _gw.isHttpError.Returns(false); _gw.isNetworkError.Returns(false); string authentification = "12345"; _gio_http_client.sendPost(_url, authentification, _gw, _guh, _staging); _gw.Received(2).SendWebRequest(); _gw.Received(2).SetRequestHeader(Arg.Is <string>("Content-Type"), Arg.Is <string>("application/json")); _gw.Received(1).SetRequestHeader(Arg.Is <string>("Authorization"), Arg.Is <string>("12345")); _gw.Received(2).SetRequestHeader(Arg.Is <string>("Authorization"), Arg.Any <string>()); }
public void checkBehaviorGoedleWebRequestAnalyticsIdentifyPOST() { _gio_object = new GoedleAnalytics(_api_key, _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _tracking); string stringContent = null; _guh.add(Arg.Do <string>(x => stringContent = x)); _gw.isHttpError.Returns(false); _gw.isNetworkError.Returns(false); _gio_object.track(GoedleConstants.IDENTIFY, null, null, false, null, null, _guh); var result = JSON.Parse(stringContent); Assert.AreEqual(result["event"].Value, "identify"); _gw.Received(2).SendWebRequest(); _gw.Received(2).SetRequestHeader(Arg.Is <string>("Content-Type"), Arg.Is <string>("application/json")); _gw.Received(2).SetRequestHeader(Arg.Is <string>("Authorization"), Arg.Any <string>()); }
/* * Returns an JSONNode object this can be accessed via: * CoroutineWithData cd = new CoroutineWithData(this, LoadSomeStuff( ) ); * yield return cd.coroutine; * Debug.Log("result is " + cd.result); // 'JSONNode' * CoroutineWithData is in GoedleUtils */ public IEnumerator getJSONResponse(string url, GoedleAnalytics ga, IGoedleWebRequest gwr, IGoedleDownloadBuffer gdb, bool staging) { if (staging) { Debug.Log("Staging is on your get request would look like this:\n" + url); } else { gwr.unityWebRequest = new UnityWebRequest(); using (gwr.unityWebRequest) { gwr.method = "GET"; gwr.url = url; gwr.downloadHandler = gdb.downloadHandlerBuffer; yield return(gwr.SendWebRequest()); JSONNode strategy_json = null; if (gwr.isNetworkError || gwr.isHttpError) { Debug.Log("{\"error\": { \"isHttpError\": \"" + gwr.isHttpError + "\", \"isNetworkError\": \"" + gwr.isNetworkError + "\" } }"); strategy_json = null; } else { // Show results as text try { Debug.Log("The following strategy was received: " + gdb.text); strategy_json = JSON.Parse(gdb.text); } catch (Exception e) { Debug.Log("{\"error\": \" " + e.Message + " \"}"); strategy_json = null; } // Or retrieve results as binary data //byte[] results = client.downloadHandler.data; } ga.strategy = strategy_json; yield break; } } }
public void SetUp() { _app_key = "test_app_key"; _user_id = "u1"; _app_version = "v_test"; _ts = 0; _app_name = "test_app"; _timezone = 360000; _event_name = "test_event"; _event_id = null; _event_value = null; _ga_active = false; _anonymous_id = null; _trait_key = null; _trait_value = null; _api_key = "test_api_key"; _GA_TRACKIND_ID = null; _GA_CD_1 = 0; _GA_CD_2 = 0; _GA_CD_EVENT = "group"; _url = "test_url"; _staging = false; _content = true; _gw = Substitute.For <IGoedleWebRequest>(); _guh = Substitute.For <IGoedleUploadHandler>(); _gdb = Substitute.For <IGoedleDownloadBuffer>(); _gio_object = new GoedleAnalytics( _api_key, _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _content); }
public void checkBehaviorGoedleWebRequestAnalyticsGroupPOST() { _gio_object = new GoedleAnalytics(_api_key, _app_key, _user_id, _app_version, _GA_TRACKIND_ID, _app_name, _GA_CD_1, _GA_CD_2, _GA_CD_EVENT, _gio_http_client, _gw, _guh, _staging, _content_adaptation); string stringContent = null; _guh.add(Arg.Do <string>(x => stringContent = x)); _gw.isHttpError.Returns(false); _gw.isNetworkError.Returns(false); _gio_object.trackGroup("class", "school", _guh); var result = JSON.Parse(stringContent); Assert.AreEqual(result["event"].Value, "group"); Assert.AreEqual(result["event_id"].Value, "class"); Assert.AreEqual(result["event_value"].Value, "school"); _gw.Received(2).SendWebRequest(); _gw.Received(2).SetRequestHeader(Arg.Is <string>("Content-Type"), Arg.Is <string>("application/json")); _gw.Received(2).SetRequestHeader(Arg.Is <string>("Authorization"), Arg.Any <string>()); }
public void requestStrategy(string url, GoedleAnalytics ga, IGoedleWebRequest gwr, IGoedleDownloadBuffer gdb, bool staging) { StartCoroutine(getJSONResponse(url, ga, gwr, gdb, staging)); }