using System.Threading.Tasks; using Plugins.Countly.Helpers; namespace Plugins.Countly.Services { public interface IDeviceIdCountlyService { string DeviceId { get; } void InitDeviceId(string deviceId = null); /// /// Changes Device Id. /// Adds currently recorded but not queued events to request queue. /// Clears all started timed-events /// Ends cuurent session with old Device Id. /// Begins a new session with new Device Id /// /// Task ChangeDeviceIdAndEndCurrentSessionAsync(string deviceId); /// /// Changes DeviceId. /// Continues with the current session. /// Merges data for old and new Device Id. /// /// Task ChangeDeviceIdAndMergeSessionDataAsync(string deviceId); /// /// Updates Device ID both in app and in cache /// /// void UpdateDeviceId(string newDeviceId); } }