/// <summary> /// Makes a call to our server to store the tagValues /// </summary> /// <param name="tagKey">key name of the tag</param> /// <param name="tagValue">value of the tag</param> /// <param name="userId">User ID which uniquely identifies each user.</param> /// <returns> /// A boolean value based on whether the impression was made to the VWO server. /// True, if an impression event is successfully being made to the VWO server for report generation. /// False, If userId provided is not part of campaign or when unexpected error comes and no impression call is made to the VWO server. /// </returns> public bool Push(string tagKey, dynamic tagValue, string userId) { if (this._validator.Push(tagKey, tagValue, userId)) { if ((int)tagKey.Length > (Constants.PushApi.TAG_KEY_LENGTH)) { LogErrorMessage.TagKeyLengthExceeded(typeof(IVWOClient).FullName, tagKey, userId, nameof(Push)); return(false); } if ((int)tagValue.Length > (Constants.PushApi.TAG_VALUE_LENGTH)) { LogErrorMessage.TagValueLengthExceeded(typeof(IVWOClient).FullName, tagValue, userId, nameof(Push)); return(false); } var pushRequest = ServerSideVerb.PushTags(this._settings, tagKey, tagValue, userId, this._isDevelopmentMode); pushRequest.ExecuteAsync(); return(true); } return(false); }