Ejemplo n.º 1
0
        private static void ActivateInternal(Guid apiKey)
        {
            try
            {
                LegacyManager.CompleteMigration().RunSynchronously();
            }
            catch (Exception)
            {
            }
            YandexMetrica.MigrateApiKeys();
            LiteMetricaService liteMetricaService = Store.Get <LiteMetricaService>();

            if (((IEnumerable <Guid>)Critical.GetApiKeys()).Contains <Guid>(apiKey))
            {
                liteMetricaService.Wake(false, true);
            }
            else
            {
                Critical.AddApiKey(apiKey);
                liteMetricaService.Wake(true, true);
                Critical.Submit();
            }
            lock (YandexMetrica.CacheLock)
            {
                liteMetricaService.Report(YandexMetrica.Cache.ToArray());
                YandexMetrica.Cache.Clear();
                YandexMetrica._liteMetricaService = liteMetricaService;
            }
            liteMetricaService.ForceSend = true;
        }
Ejemplo n.º 2
0
 private static void MigrateApiKeys()
 {
     Guid[] apiKeys = Critical.GetApiKeys();
     Guid[] array   = YandexMetrica.InternalConfig.KnownKeys.Where <Guid>((Func <Guid, bool>)(k => !((IEnumerable <Guid>)apiKeys).Contains <Guid>(k))).ToArray <Guid>();
     ((IEnumerable <Guid>)array).ForEach <Guid>(new Action <Guid>(Critical.AddApiKey));
     if (!((IEnumerable <Guid>)array).Any <Guid>())
     {
         return;
     }
     Critical.Submit();
 }