public static void CallEvent(EventNames eventName, Dictionary <ParameterNames, object> @params, double?valueToSum = null) { var keys = @params.Select(x => Enum.GetName(typeof(SDK.AppEventParameterName), x.Key.ToParameterName())).ToArray(); var values = @params.Select(x => NSObject.FromObject(x.Value)).ToArray(); var param = NSDictionary.FromObjectsAndKeys(values, keys); if (valueToSum.HasValue) { SDK.AppEvents.LogEvent(eventName.ToEventName(), valueToSum.Value, param); } else { SDK.AppEvents.LogEvent(eventName.ToEventName(), param); } }
public static void CallEvent(EventNames eventName, Dictionary <ParameterNames, object> @params, double?valueToSum = null) { var bundle = new Bundle(); foreach (var param in @params) { if (param.Key == ParameterNames.NumItems || param.Key == ParameterNames.MaxRatingValue || param.Key == ParameterNames.PaymentInfoAvailable || param.Key == ParameterNames.Success) { bundle.PutInt(param.Key.ToParameterName(), Convert.ToInt32(param.Value)); } else { bundle.PutString(param.Key.ToParameterName(), param.Value.ToString()); } } Log(eventName.ToEventName(), bundle, valueToSum); }