android怎么做ab测试工具,android – 如何正确使用Firebase-Analytcs进行A / B测试?

背景

问题

虽然我尝试将该服务用于其他目的(here和here),但我还需要将其用于A / B测试.

事实是,我无法找到如何让它显示分析实验变体结果所需的信息.

它只是没有显示(在this website),或者我没有看到正确的地方:

d879a073ccf47f9ff49297305bf7e819.png

我试过的

为了尝试一个实验,我按照教程说我应该做的,包括:

>代码中的初始化与the samples中的初始化大致相同:

boolean isDebug = AppComponentsHelper.isInDebugFlavour(context);

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();

FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(isDebug).build();

mFirebaseRemoteConfig.setConfigSettings(configSettings);

final HashMap defaults = new HashMap<>();

for (ExperimentType experimentType : ExperimentType.values())

defaults.put(experimentType.experimentId, experimentType.defaultValues);

mFirebaseRemoteConfig.setDefaults(defaults);

long cacheExpiration = isDebug ? 0 : TimeUnit.HOURS.toSeconds(1);

mFirebaseRemoteConfig.fetch(cacheExpiration)

.addOnCompleteListener(new OnCompleteListener() {

@Override

public void onComplete(@NonNull Task task) {

if (task.isSuccessful()) {

mFirebaseRemoteConfig.activateFetched();

final FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.getInstance(context);

for (ExperimentType experimentType : ExperimentType.values()) {

String experimentVariant = FirebaseRemoteConfig.getInstance().getString(experimentType.experimentId);

firebaseAnalytics.setUserProperty(experimentType.userProperty, experimentVariant);

}

}

}

});

这是ExperimentType的枚举:

public enum ExperimentType {

PURCHASES_OFFERED_PRODUCTS("purchases_offered_products_1", "Experiment1", new Gson().toJson(new String[]{"something", "something2"}));

public final String experimentId,defaultValues,userProperty;

ExperimentType(final String experimentId, final String userProperty, final String defaultValues) {

this.experimentId = experimentId;

this.defaultValues = defaultValues;

this.userProperty = userProperty;

}

}

>为每个实验创建一个新的用户属性(现在只有一个).

>在远程配置屏幕中,添加2个变体(默认和条件).

>加载远程配置后,调用setUserProperty(参见#0),如the tutorial所示,指向当前变量的参数值.

>为了追踪事件,我打电话给:

firebaseAnalytics.logEvent(eventName, new Bundle())

其中一个调用(现在只有一个),正如您可能已经猜到的那样,当eventName是“subscription_premium_purchase”时.

>运行应用程序时,我导致它使用两种变体(当然每个清洁安装一个).

但正如我所示,我无法找到一种方法来确定哪个变体导致事件被调用比另一个更多,例如.

问题

>这里可能缺少什么?我做错了什么?为什么我看不到我用过的任何变体?

>无论如何,用户属性是什么?它是否被用作Remote-Config和Analytics之间的“粘合剂”?我应该在那里的文本框中输入什么(它说“按’输入’来申请”)?它不是要显示各种变体吗?其他过滤器项目有“类型”,但这个没有.用户属性没有什么可供选择的.即使在创建用户属性时,我也看不到它的任何设置(描述除外).我甚至无法删除它.无法查看我在图表中创建的条件.

>我可能需要使用BigQuery吗?

>我注意到“fetch”函数有时根本不会调用侦听器.怎么会这样?我可以为此添加超时吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值