public void ExecuteCommand(Command command) { _command = command; TestApp.Log(string.Format("\tEXECUTING METHOD: [{0}.{1}]", _command.ClassName, _command.MethodName)); try { switch (_command.MethodName) { case "testOptions": TestOptions(); break; case "config": Config(); break; case "start": Start(); break; case "event": Event(); break; case "trackEvent": TrackEvent(); break; case "resume": Resume(); break; case "pause": Pause(); break; case "setEnabled": SetEnabled(); break; case "setReferrer": SetReferrer(); break; case "setOfflineMode": SetOfflineMode(); break; case "sendFirstPackages": SendFirstPackages(); break; case "addSessionCallbackParameter": AddSessionCallbackParameter(); break; case "addSessionPartnerParameter": AddSessionPartnerParameter(); break; case "removeSessionCallbackParameter": RemoveSessionCallbackParameter(); break; case "removeSessionPartnerParameter": RemoveSessionPartnerParameter(); break; case "resetSessionCallbackParameters": ResetSessionCallbackParameters(); break; case "resetSessionPartnerParameters": ResetSessionPartnerParameters(); break; case "setPushToken": SetPushToken(); break; case "openDeeplink": OpenDeepLink(); break; case "sendReferrer": SetReferrer(); break; case "gdprForgetMe": GdprForgetMe(); break; case "trackAdRevenue": TrackAdRevenue(); break; case "disableThirdPartySharing": DisableThirdPartySharing(); break; case "trackSubscription": TrackSubscription(); break; default: CommandNotFound(_command.ClassName, _command.MethodName); break; } } catch (Exception ex) { TestApp.LogError(string.Format("{0} -- {1}", "executeCommand: failed to parse command. Check commands' syntax", ex.ToString())); } }
private void Config() { var configNumber = 0; if (_command.ContainsParameter("configName")) { var configName = _command.GetFirstParameterValue("configName"); configNumber = int.Parse(configName.Substring(configName.Length - 1)); } AdjustConfig adjustConfig; AdjustLogLevel?logLevel = null; if (_command.ContainsParameter("logLevel")) { var logLevelString = _command.GetFirstParameterValue("logLevel"); switch (logLevelString) { case "verbose": logLevel = AdjustLogLevel.Verbose; break; case "debug": logLevel = AdjustLogLevel.Debug; break; case "info": logLevel = AdjustLogLevel.Info; break; case "warn": logLevel = AdjustLogLevel.Warn; break; case "error": logLevel = AdjustLogLevel.Error; break; case "assert": logLevel = AdjustLogLevel.Assert; break; case "suppress": logLevel = AdjustLogLevel.Suppress; break; } TestApp.Log(string.Format("TestApp LogLevel = {0}", logLevel)); } if (_savedConfigs.ContainsKey(configNumber)) { adjustConfig = _savedConfigs[configNumber]; } else { var environmentString = _command.GetFirstParameterValue("environment"); var environment = environmentString == "sandbox" ? AdjustEnvironment.Sandbox : AdjustEnvironment.Production; var appToken = _command.GetFirstParameterValue("appToken"); if (!string.IsNullOrEmpty(appToken)) { if (appToken == "null") { adjustConfig = new AdjustConfig(null, environment); } else { adjustConfig = new AdjustConfig(appToken, environment); } } else { adjustConfig = new AdjustConfig(null, environment); } if (logLevel.HasValue) { adjustConfig.setLogLevel(logLevel.Value); } #if (UNITY_WSA || UNITY_WP8) adjustConfig.logDelegate = msg => Debug.Log(msg); #endif _savedConfigs.Add(configNumber, adjustConfig); } if (_command.ContainsParameter("sdkPrefix")) { // SDK prefix not tested for non natives. } if (_command.ContainsParameter("defaultTracker")) { adjustConfig.setDefaultTracker(_command.GetFirstParameterValue("defaultTracker")); } if (_command.ContainsParameter("externalDeviceId")) { adjustConfig.setExternalDeviceId(_command.GetFirstParameterValue("externalDeviceId")); } if (_command.ContainsParameter("delayStart")) { var delayStartStr = _command.GetFirstParameterValue("delayStart"); var delayStart = double.Parse(delayStartStr); TestApp.Log("Delay start set to: " + delayStart); adjustConfig.setDelayStart(delayStart); } if (_command.ContainsParameter("appSecret")) { var appSecretList = _command.Parameters["appSecret"]; TestApp.Log("Received AppSecret array: " + string.Join(",", appSecretList.ToArray())); if (!string.IsNullOrEmpty(appSecretList[0]) && appSecretList.Count == 5) { long secretId, info1, info2, info3, info4; long.TryParse(appSecretList[0], out secretId); long.TryParse(appSecretList[1], out info1); long.TryParse(appSecretList[2], out info2); long.TryParse(appSecretList[3], out info3); long.TryParse(appSecretList[4], out info4); adjustConfig.setAppSecret(secretId, info1, info2, info3, info4); } else { TestApp.LogError("App secret list does not contain 5 elements! Skip setting app secret."); } } if (_command.ContainsParameter("deviceKnown")) { var deviceKnownS = _command.GetFirstParameterValue("deviceKnown"); var deviceKnown = deviceKnownS.ToLower() == "true"; adjustConfig.setIsDeviceKnown(deviceKnown); } if (_command.ContainsParameter("eventBufferingEnabled")) { var eventBufferingEnabledS = _command.GetFirstParameterValue("eventBufferingEnabled"); var eventBufferingEnabled = eventBufferingEnabledS.ToLower() == "true"; adjustConfig.setEventBufferingEnabled(eventBufferingEnabled); } if (_command.ContainsParameter("sendInBackground")) { var sendInBackgroundS = _command.GetFirstParameterValue("sendInBackground"); var sendInBackground = sendInBackgroundS.ToLower() == "true"; adjustConfig.sendInBackground = sendInBackground; } if (_command.ContainsParameter("allowiAdInfoReading")) { var allowiAdInfoReadingS = _command.GetFirstParameterValue("allowiAdInfoReading"); var allowiAdInfoReading = allowiAdInfoReadingS.ToLower() == "true"; adjustConfig.allowiAdInfoReading = allowiAdInfoReading; } if (_command.ContainsParameter("allowIdfaReading")) { var allowIdfaReadingS = _command.GetFirstParameterValue("allowIdfaReading"); var allowIdfaReading = allowIdfaReadingS.ToLower() == "true"; adjustConfig.allowIdfaReading = allowIdfaReading; } if (_command.ContainsParameter("userAgent")) { var userAgent = _command.GetFirstParameterValue("userAgent"); if (userAgent.Equals("null")) { adjustConfig.setUserAgent(null); } else { adjustConfig.setUserAgent(userAgent); } } if (_command.ContainsParameter("deferredDeeplinkCallback")) { bool launchDeferredDeeplink = _command.GetFirstParameterValue("deferredDeeplinkCallback") == "true"; adjustConfig.setLaunchDeferredDeeplink(launchDeferredDeeplink); string localBasePath = BasePath; adjustConfig.setDeferredDeeplinkDelegate(uri => { TestApp.Log("deferred_deep_link = " + uri); _testLibrary.AddInfoToSend("deeplink", uri); _testLibrary.SendInfoToServer(localBasePath); }); } if (_command.ContainsParameter("attributionCallbackSendAll")) { string localBasePath = BasePath; adjustConfig.setAttributionChangedDelegate(attribution => { TestApp.Log("AttributionChanged, attribution = " + attribution); _testLibrary.AddInfoToSend("trackerToken", attribution.trackerToken); _testLibrary.AddInfoToSend("trackerName", attribution.trackerName); _testLibrary.AddInfoToSend("network", attribution.network); _testLibrary.AddInfoToSend("campaign", attribution.campaign); _testLibrary.AddInfoToSend("adgroup", attribution.adgroup); _testLibrary.AddInfoToSend("creative", attribution.creative); _testLibrary.AddInfoToSend("clickLabel", attribution.clickLabel); _testLibrary.AddInfoToSend("adid", attribution.adid); _testLibrary.SendInfoToServer(localBasePath); }); } if (_command.ContainsParameter("sessionCallbackSendSuccess")) { string localBasePath = BasePath; adjustConfig.setSessionSuccessDelegate(sessionSuccessResponseData => { TestApp.Log("SesssionTrackingSucceeded, sessionSuccessResponseData = " + sessionSuccessResponseData); _testLibrary.AddInfoToSend("message", sessionSuccessResponseData.Message); _testLibrary.AddInfoToSend("timestamp", sessionSuccessResponseData.Timestamp); _testLibrary.AddInfoToSend("adid", sessionSuccessResponseData.Adid); if (sessionSuccessResponseData.JsonResponse != null) { _testLibrary.AddInfoToSend("jsonResponse", sessionSuccessResponseData.GetJsonResponse()); } _testLibrary.SendInfoToServer(localBasePath); }); } if (_command.ContainsParameter("sessionCallbackSendFailure")) { string localBasePath = BasePath; adjustConfig.setSessionFailureDelegate(sessionFailureResponseData => { TestApp.Log("SesssionTrackingFailed, sessionFailureResponseData = " + sessionFailureResponseData); _testLibrary.AddInfoToSend("message", sessionFailureResponseData.Message); _testLibrary.AddInfoToSend("timestamp", sessionFailureResponseData.Timestamp); _testLibrary.AddInfoToSend("adid", sessionFailureResponseData.Adid); _testLibrary.AddInfoToSend("willRetry", sessionFailureResponseData.WillRetry.ToString().ToLower()); if (sessionFailureResponseData.JsonResponse != null) { _testLibrary.AddInfoToSend("jsonResponse", sessionFailureResponseData.GetJsonResponse()); } _testLibrary.SendInfoToServer(localBasePath); }); } if (_command.ContainsParameter("eventCallbackSendSuccess")) { string localBasePath = BasePath; adjustConfig.setEventSuccessDelegate(eventSuccessResponseData => { TestApp.Log("EventTrackingSucceeded, eventSuccessResponseData = " + eventSuccessResponseData); _testLibrary.AddInfoToSend("message", eventSuccessResponseData.Message); _testLibrary.AddInfoToSend("timestamp", eventSuccessResponseData.Timestamp); _testLibrary.AddInfoToSend("adid", eventSuccessResponseData.Adid); _testLibrary.AddInfoToSend("eventToken", eventSuccessResponseData.EventToken); _testLibrary.AddInfoToSend("callbackId", eventSuccessResponseData.CallbackId); if (eventSuccessResponseData.JsonResponse != null) { _testLibrary.AddInfoToSend("jsonResponse", eventSuccessResponseData.GetJsonResponse()); } _testLibrary.SendInfoToServer(localBasePath); }); } if (_command.ContainsParameter("eventCallbackSendFailure")) { string localBasePath = BasePath; adjustConfig.setEventFailureDelegate(eventFailureResponseData => { TestApp.Log("EventTrackingFailed, eventFailureResponseData = " + eventFailureResponseData); _testLibrary.AddInfoToSend("message", eventFailureResponseData.Message); _testLibrary.AddInfoToSend("timestamp", eventFailureResponseData.Timestamp); _testLibrary.AddInfoToSend("adid", eventFailureResponseData.Adid); _testLibrary.AddInfoToSend("eventToken", eventFailureResponseData.EventToken); _testLibrary.AddInfoToSend("callbackId", eventFailureResponseData.CallbackId); _testLibrary.AddInfoToSend("willRetry", eventFailureResponseData.WillRetry.ToString().ToLower()); if (eventFailureResponseData.JsonResponse != null) { _testLibrary.AddInfoToSend("jsonResponse", eventFailureResponseData.GetJsonResponse()); } _testLibrary.SendInfoToServer(localBasePath); }); } }