private async Task ReportIdentityEvent() { LiteMetricaCore liteMetricaCore = this; if (!liteMetricaCore.IsActivated) { return; } bool flag; lock (liteMetricaCore.ActiveSessionLock) { if (liteMetricaCore.ActiveSession == null || liteMetricaCore.ActiveSession.EventCounter == 0UL) { return; } flag = DateTime.UtcNow - Config.Global.IdentityTimestamp >= Config.Global.IdentitySendInterval; if (flag) { Config.Global.IdentityTimestamp = DateTime.UtcNow; } } if (!flag) { return; } await ServiceData.WaitExposeAsync(); byte[] bytes = Encoding.UTF8.GetBytes(ServiceData.DeviceFingerprint); liteMetricaCore.Report(EventFactory.Create(ReportMessage.Session.Event.EventType.EVENT_IDENTITY, bytes, (string)null, (string)null)); liteMetricaCore.TriggerForcedSend(); }
private static async Task <Dictionary <string, object> > GetCommonRequestParameters() { await ServiceData.WaitExposeAsync(); return(new Dictionary <string, object>() { { "app_id", (object)(string.IsNullOrWhiteSpace(Config.Global.CustomAppId) ? ServiceData.Product.Id : Config.Global.CustomAppId) }, { "model", (object)ServiceData.Device.ModelName }, { "locale", (object)Config.GetLocale() }, { "os_version", (object)ServiceData.Device.OSVersion.ToString() }, { "manufacturer", (object)ServiceData.Device.Manufacturer }, { "app_platform", (object)ServiceData.Device.StartupPlatform }, { "screen_dpi", (object)ServiceData.Device.Dpi }, { "scalefactor", (object)ServiceData.Device.ScaleFactor.ToString((IFormatProvider)CultureInfo.InvariantCulture) }, { "screen_width", (object)ServiceData.Device.ScreenWidth.ToString((IFormatProvider)CultureInfo.InvariantCulture) }, { "screen_height", (object)ServiceData.Device.ScreenHeight.ToString((IFormatProvider)CultureInfo.InvariantCulture) }, { "analytics_sdk_version", (object)351 } }); }
private async void Postman() { LiteMetricaService liteMetricaService = this; int fails = 0; while (true) { await ServiceData.WaitExposeAsync(); try { liteMetricaService._tokenSource = new CancellationTokenSource(); lock (liteMetricaService.PauseLock) { if (!liteMetricaService.IsPaused) { liteMetricaService.ActiveSession.LastUpdateTimestamp = new ulong?(DateTime.UtcNow.ToUnixTime()); } } int num; if (!liteMetricaService.ForceSend && liteMetricaService.ReportedEventsCount < Config.Global.FlushThresholdEventsCounts && liteMetricaService.LastFlushTime.HasValue) { DateTime utcNow = DateTime.UtcNow; DateTime?lastFlushTime = liteMetricaService.LastFlushTime; TimeSpan?nullable = lastFlushTime.HasValue ? new TimeSpan?(utcNow - lastFlushTime.GetValueOrDefault()) : new TimeSpan?(); TimeSpan thresholdTimeout = Config.Global.FlushThresholdTimeout; num = nullable.HasValue ? (nullable.GetValueOrDefault() > thresholdTimeout ? 1 : 0) : 0; } else { num = 1; } if (num != 0) { bool?nullable1 = await liteMetricaService.Refresh(); bool?nullable2 = liteMetricaService.Flush(); if (nullable2.HasValue && nullable2.Value) { liteMetricaService.LastFlushTime = new DateTime?(DateTime.UtcNow); liteMetricaService.ReportedEventsCount = 0; liteMetricaService.ForceSend = false; fails = 0; } if (nullable2.HasValue) { liteMetricaService.Snapshot(); } if (nullable2.HasValue && !nullable2.Value) { ++fails; } if (fails > 6) { fails = 6; } if (fails > 0) { await liteMetricaService.Wait(TimeSpan.FromSeconds(Math.Pow(2.0, (double)fails))); } } await liteMetricaService.Wait(Config.Global.DispatchPeriod); } catch (Exception) { } } }