using System.Collections.Generic; using System.Threading.Tasks; using Plugins.Countly.Helpers; using Plugins.Countly.Models; namespace Plugins.Countly.Services { public interface IEventCountlyService { Task RecordEventAsync(CountlyEventModel @event, bool useNumberInSameSession = false); Task RecordEventAsync(string key, bool useNumberInSameSession = false); Task RecordEventAsync(string key, SegmentModel segmentation, bool useNumberInSameSession = false, int? count = 1, double? sum = 0, double? duration = null); /// /// Reports all recorded view events to the server /// Task ReportAllRecordedViewEventsAsync(bool addToRequestQueue = false); /// /// Reports all recorded events to the server /// Task ReportAllRecordedNonViewEventsAsync(bool addToRequestQueue = false); /// /// Sends multiple events to the countly server. It expects a list of events as input. /// /// /// Task ReportMultipleEventsAsync(List events); /// /// Reports a custom event to the Counlty server. /// /// Task ReportCustomEventAsync(string key, IDictionary segmentation = null, int? count = 1, double? sum = null, double? duration = null); } }