private async Task StartSessionInternal(string serverUrl, string appKey, string appVersion, DeviceIdMethod idMethod = DeviceIdMethod.cpuId)
        {
            if (ServerUrl != null)
            {
                // session already active
                return;
            }

            if (!IsInitialized())
            {
                CountlyConfig cc = new CountlyConfig()
                {
                    appKey = appKey, appVersion = appVersion, serverUrl = serverUrl, deviceIdMethod = idMethod
                };
                await Init(cc);
            }

            await SessionBeginInternal();
        }
 public static async Task StartSession(string serverUrl, string appKey, string appVersion, DeviceIdMethod idMethod = DeviceIdMethod.cpuId)
 {
     await Countly.Instance.StartSessionInternal(serverUrl, appKey, appVersion, idMethod);
 }