Ejemplo n.º 1
0
        private MPTweak GetInternalTweak()
        {
            var mpTweak = MPTweakStore.SharedInstance().TweakWithName(Name);

            if (mpTweak == null)
            {
                throw new InvalidOperationException($"Tweak '{Name}' is not registered. Use MixpanelTweaks.Register() before using tweaks.");
            }

            return(mpTweak);
        }
Ejemplo n.º 2
0
        public static void Register(Type appTweaks)
        {
            var tweakStore = MPTweakStore.SharedInstance();

            var fields = appTweaks.GetFields();

            foreach (var field in fields)
            {
                var tweak = (Tweak)field.GetValue(null);
                LoadOrCreateMixpanelTweak(tweakStore, tweak);
            }
        }
Ejemplo n.º 3
0
        private static MPTweak LoadOrCreateMixpanelTweak(MPTweakStore store, Tweak tweak)
        {
            var mpTweak = store.TweakWithName(tweak.Name);

            if (mpTweak != null)
            {
                return(mpTweak);
            }

            mpTweak = CreateMixpanelTweak(tweak);
            store.AddTweak(mpTweak);
            return(mpTweak);
        }