我正在使用mixpanel在iOS上进行事件跟踪。我想开始使用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更改)。
我找不到从混合面板到为不同用户调整价值的任何地方,我在哪里做错了?我应该使用其他东西来分配存储桶,而不是使用MPTweakValue吗?
不幸的是,Mixpanel文档及其选择的实现方式非常令人困惑。我花了好一会儿才把头缠住,但最终成功了。他们让您调整UI的事实可能会令人困惑。关键点以及您大部分时间看不到开发人员进行调整的原因是调整代码必须在您按下4指创建实验。这是我为使其工作所做的一些解释:
https://github.com/mixpanel/mixpanel-iphone/tree/master/HelloMixpanel
还有一段简短的youtube视频,解释了创建实验的过程:
https://www.youtube.com/watch?v=S6An3h2-kqQ
然后:
在ViewController.m中,将mixpanel令牌更改为新的项目令牌
在模拟器上运行HelloMixpanel应用,然后转到A / B测试标签。请按照他们的说明进行操作(“在打开您的应用后,按Option键,单击并在模拟器中按住5秒钟。”),您会在右侧的“开发人员调整”部分中看到,有多个选项可以选择。
您可以将相同的逻辑应用于自己的应用程序,但请注意,您可能需要不时调用此方法以同步实验:
Mixpanel.sharedInstance()。joinExperimentsWithCallback()
mixpanel在后台工作的方式,它将发送您对运行代码的任何调整,直到开始计划实验为止,因此在计划实验之前,需要确保MPTweakValue()行已运行。 Mixpanel会保留一个调整存储空间,每当您按4根手指连接到mixpanel时,它就会发送到目前为止已了解的所有调整。
很遗憾,mixpanel不允许我们为特定用户配置特定结果。
由mixpanel决定将要属于哪个存储桶用户,开发人员无法决定这个决定。
但是如果您关闭实验,您的调整将返回您用于配置该调整的默认值。