我在iOS上使用mixpanel进行事件跟踪。我想开始使用AB测试。
假设用户的X%显示警报,如桶1; 并且Y%的用户没有收到警报,如桶2;
下面是我尝试使用MPTweakValue实现存储分配的示例代码:
#import "Mixpanel/MPTweakInline.h"
...
int bucketId = MPTweakValue(@"bucket", 1);
if (bucketId == 1) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Welcome to Sample App" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Confirm", nil];
[alert show];
} else {
//do nothing;
}
我希望得到代码中的每一个逻辑(Mixpanel网页上的AB测试页面让我感到困惑,因为它专注于UI更改)。
我找不到mixpanel的任何地方来调整不同用户的价值,我哪里做错了?我应该使用其他东西来分配存储桶而不是使用MPTweakValue吗?
答案 0 :(得分:1)
不幸的是,Mixpanel文档以及他们选择实现它的方式非常令人困惑。我花了一段时间来绕过它,但最终它起作用了。他们让你调整用户界面的事实可能令人困惑,关键点以及为什么你大多数时候你不会看到你的开发人员调整的原因是调整代码必须在按下4个手指之前实际运行创建实验。以下是我为使其发挥作用所做的一些解释:
https://github.com/mixpanel/mixpanel-iphone/tree/master/HelloMixpanel
还有一个简短的YouTube视频,解释了创建实验的过程:
https://www.youtube.com/watch?v=S6An3h2-kqQ
然后:
,将mixpanel标记更改为新项目标记
在模拟器上运行HelloMixpanel应用程序,然后转到A / B测试选项卡。按照他们的说明操作(“打开您的应用程序,按Option键, 点击并按住模拟器5秒钟。“)您将在右侧看到”开发人员调整“部分,您有多种选择可供选择。
您可以将相同的逻辑应用于您自己的应用程序,但请注意,您可能需要偶尔调用此方法来同步实验:
Mixpanel.sharedInstance()。joinExperimentsWithCallback()
mixpanel在后台工作的方式,它会发送你运行代码的任何调整,直到你开始计划实验,所以你需要确保MPTweakValue()行在你计划之前运行实验。 Mixpanel维护一个调整存储,每次你按4个手指连接到mixpanel它会发送到目前为止所学到的所有调整。
答案 1 :(得分:0)
很遗憾,mixpanel不允许我们为特定用户配置特定结果。
由mixpanel决定将要属于哪个存储桶用户,开发人员无法决定这一决定。
但是,如果您关闭实验,您的调整将返回用于配置调整的默认值。
答案 2 :(得分:0)
这将在 2022 年 1 月 1 日弃用: https://mixpanel.com/blog/why-were-sunsetting-messaging-and-experiments/