示例#1
0
 public AppFlowToStore(KeyValueStoreTypeAdapter <AppFlowEvent> store = null)
 {
     if (store == null)
     {
         store = FileBasedKeyValueStore.New(DEFAULT_FOLDER).GetTypeAdapter <AppFlowEvent>();
     }
     this.store = store;
 }
示例#2
0
        public static async Task <ProgressionSystem <FeatureFlag> > Setup(KeyValueStoreTypeAdapter <FeatureFlag> featureFlagStore, LocalAnalytics analytics)
        {
            var ffm = new FeatureFlagManager <FeatureFlag>(featureFlagStore);

            IoC.inject.SetSingleton(ffm);
            AppFlow.AddAppFlowTracker(new AppFlowToStore(analytics).WithBasicTrackingActive());
            var xpSystem = new ProgressionSystem <FeatureFlag>(analytics, ffm);

            IoC.inject.SetSingleton <IProgressionSystem <FeatureFlag> >(xpSystem);
            await xpSystem.UpdateCurrentCategoryCounts();

            return(xpSystem);
        }
示例#3
0
        public static async Task <IEnumerable <UsageRule> > GetRulesInitialized(this KeyValueStoreTypeAdapter <UsageRule> self, LocalAnalytics analytics)
        {
            var rules = await self.GetAll();

            foreach (var rule in rules)
            {
                if (!rule.concatRuleIds.IsNullOrEmpty())
                {
                    rule.andRules = new List <UsageRule>();
                    foreach (var id in rule.concatRuleIds)
                    {
                        rule.andRules.Add(await self.Get(id, null));
                    }
                }
                if (rule.isTrue == null)
                {
                    rule.SetupUsing(analytics);
                }
            }
            return(rules);
        }
示例#4
0
 public FeatureFlagManager(KeyValueStoreTypeAdapter <FeatureFlag> featureFlagStore)
 {
     store = featureFlagStore;
 }
示例#5
0
 public MyAppFlowTracker2(KeyValueStoreTypeAdapter <AppFlowEvent> store) : base(store)
 {
 }
示例#6
0
 public FeatureFlagManager(KeyValueStoreTypeAdapter <T> featureFlagStore)
 {
     this.featureFlagStore = featureFlagStore;
 }
示例#7
0
 public NewsManager(KeyValueStoreTypeAdapter <News.LocalData> localCache, KeyValueStoreTypeAdapter <News> newsStore)
 {
     this.localCache = localCache;
     this.newsStore  = newsStore;
 }
示例#8
0
 /// <summary> Creates a new Google analytics tracker </summary>
 /// <param name="gaTrackingId"> Tracking ID / Property ID. Format: UA-XXXXX-Y </param>
 /// <param name="store"> Optional store to cache the events in </param>
 public GoogleAnalytics(string gaTrackingId, string appName, KeyValueStoreTypeAdapter <AppFlowEvent> store = null) : base(store)
 {
     this.appId   = gaTrackingId;
     this.appName = appName;
 }
示例#9
0
 public static async Task <ProgressionSystem <FeatureFlag> > Setup(KeyValueStoreTypeAdapter <FeatureFlag> featureFlagStore)
 {
     return(await Setup(featureFlagStore, new LocalAnalytics()));
 }
示例#10
0
 public DefaultAppFlowImpl(KeyValueStoreTypeAdapter <AppFlowEvent> store = null) : base(store)
 {
     InternetStateManager.AddListener(this);
 }