设为首页 加入收藏

TOP

[UWP] 对应用进行A/B测试(二)
2017-10-11 16:07:02 】 浏览:1404
Tags:UWP 应用 进行 A/B 测试
26 /// 获取变量 27 /// </summary> 28 private static async void GetExperimentVariation() 29 { 30 result = await experimentClient.GetVariationAsync(); 31 variation = result.Variation; 32 } 33 34 /// <summary> 35 /// 检查变量是否需要更新 36 /// </summary> 37 private static void CheckVariationUpdate() 38 { 39 if (result.ErrorCode != EngagementErrorCode.Success || result.Variation.NeedsRefresh) 40 { 41 UpdateExperimentVariation(); 42 } 43 } 44 45 /// <summary> 46 /// 更新变量 47 /// </summary> 48 private static async void UpdateExperimentVariation() 49 { 50 result = await experimentClient.RefreshVariationAsync(); 51 if (result.ErrorCode == EngagementErrorCode.Success) 52 { 53 variation = result.Variation; 54 } 55 } 56 57 /// <summary> 58 /// 获取int类型变量 59 /// </summary> 60 /// <param name="name">变量设置名称</param> 61 /// <param name="defaultValue">默认值</param> 62 /// <returns></returns> 63 public static int GetInt(string name, int defaultValue) 64 { 65 CheckVariationUpdate(); 66 return variation.GetInteger(name, defaultValue); 67 } 68 69 public static bool GetBool(string name,bool defaultValue) 70 { 71 CheckVariationUpdate(); 72 return variation.GetBoolean(name, defaultValue); 73 } 74 75 public static double GetDouble(string name,double defaultValue) 76 { 77 CheckVariationUpdate(); 78 return variation.GetDouble(name, defaultValue); 79 } 80 81 public static string GetString(string name,string defaultValue) 82 { 83 CheckVariationUpdate(); 84 return variation.GetString(name, defaultValue); 85 } 86 87 /// <summary> 88 /// 向Dev Center写日志 89 /// </summary> 90 public static void LogEventToDevCenter(string eventName,ExperimentVariation variation) 91 { 92 StoreServicesCustomEvents.Log(eventName, variation); 93 } 94 95 /// <summary> 96 /// 翻译按钮点击 97 /// </summary> 98 public static void LogTranslateClick() 99 { 100 LogEventToDevCenter(UseTranslateButton, variation); 101 } 102 103 /// <summary> 104 /// 用户看到翻译按钮 105 /// </summary> 106 public static void LogTranslateViewd() 107 { 108 LogEventToDevCenter(ViewEventName, variation); 109 } 110 } ExperimentHelper.cs

我的应用使用了MVVM,所以在vm里加一个属性IsTranslateVisible

 1 /// <summary>
 2        /// 翻译按钮显示
 3        /// </summary>
 4         public bool IsTranslateVisible
 5         {
 6             get
 7             {
 8                 return ExperimentHelper.GetBool(ExperimentHelper.TranslateButtonVisibility,false);
 9             }
10         }
翻译按钮是否显示

然后把这个属性绑定到UI上就完成了(当然要使用一个Converter,太简单就不说了)

 

【运行应用收集数据】

把应用Run起来,看看我的翻译按钮是不是显示的,有种抽奖的感觉,我的pc端和模拟器分到了不同的变体,一个有翻译按钮,一个没有

获取更新的变量需要一点时间

Note that it may take up to two minutes for your app to receive an updated variation assignment.

snip_20160407193339

 

做完上面的步骤之后,就可以开始等了,Dev Center的数据更新一直都不及时,官方的文档也说明了,坐和放宽,等几个小时吧,然后就能看到实验结果了

Note As soon as you activate an experiment, Dev Center immediately starts collecting data from any apps that are instrumented to log data for your experiment. However, it can take several hours for experiment data to appear in the dashboard.

 

【参考链接】

Create and run your first experiment with A/B testing

Monetize your app and engage customers with the Microsoft Store Engagement and Monetization SD

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[UWP] 对应用进行A/B测试 下一篇[深入浅出Windows 10]QuickCharts..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目