public async Task Initialize() { string datafile = string.Empty; var url = string.Format(_cdnPath, ApiKey); using (var webClient = new System.Net.WebClient()) { // To refresh on every request webClient.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); datafile = webClient.DownloadString(url); } _optimizelyClient = new OptimizelySDK.Optimizely(datafile); await Task.FromResult(0); }
/// <summary> /// Create optimizely client by set of parameters. Datafile will be updated from optimizely server /// </summary> /// <param name="createParameters"></param> /// <returns></returns> public static IOptimizely Create(OptimizelyClientCreateParameters createParameters) { if (createParameters == null) { throw new ArgumentNullException(nameof(createParameters)); } var builder = new HttpProjectConfigManager.Builder() .WithSdkKey(createParameters.SdkKey) .WithStartByDefault(); var projectConfigManager = builder .WithPollingInterval(TimeSpan.FromSeconds(createParameters.PollingPeriodInSeconds)) .Build(); var optimizely = new OptimizelySDK.Optimizely(projectConfigManager); return(new OptimizelyClient(optimizely)); }
/// <summary> /// Create optimizely client from dataFile /// </summary> /// <param name="dataFile"></param> /// <returns></returns> public static IOptimizely CreateFromDataFile(string dataFile) { var optimizely = new OptimizelySDK.Optimizely(dataFile); return(new OptimizelyClient(optimizely)); }
private OptimizelyClient(OptimizelySDK.Optimizely optimizely) { _optimizely = optimizely; }