Android 我可以从Firebase中获取A/B-Test的标题/名称或描述以及变体名称吗?
在Android上运行了这个基本的Firebase RemoteConfig A/B测试。我想获得Firebase中配置的A/B测试的标题/名称和说明。另外,最好能得到变体的名称(控件、变体A等) 如何获取这些数据Android 我可以从Firebase中获取A/B-Test的标题/名称或描述以及变体名称吗?,android,firebase-remote-config,firebase-ab-testing,Android,Firebase Remote Config,Firebase Ab Testing,在Android上运行了这个基本的Firebase RemoteConfig A/B测试。我想获得Firebase中配置的A/B测试的标题/名称和说明。另外,最好能得到变体的名称(控件、变体A等) 如何获取这些数据 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //将XML元素绑定到变量中 bindWidgets
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//将XML元素绑定到变量中
bindWidgets();
//仅用于调试:从设备获取实例ID令牌
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
String deviceToken=task.getResult().getToken();
Log.wtf(“实例ID”,deviceToken);
}
});
//远程配置设置
FirebaseRemoteConfigSettings mFirebaseRemoteConfigSettings=新的FirebaseRemoteConfigSettings
.Builder()
.setdeveloperDeenabled(BuildConfig.DEBUG)
.build();
mFirebaseRemoteConfig.setConfigSettings(mFirebaseRemoteConfigSettings);
//带有HashMap的远程配置
HashMap HashMap=新的HashMap();
hashMap.put(“buttonColor”,“#999999”);
mFirebaseRemoteConfig.setDefaults(hashMap);
最终任务fetch=mFirebaseRemoteConfig.fetch(firebasemoteconfig.VALUE\u SOURCE\u STATIC);
fetch.addOnSuccessListener(这个,新的OnSuccessListener(){
@凌驾
成功时公开作废(作废避免){
mFirebaseRemoteConfig.activateFetched();
//从HashMap获取按键颜色的值
String buttonColor=mFirebaseRemoteConfig.getString(“buttonColor”);
button.setBackgroundColor(Color.parseColor(buttonColor));
}
});
}
除了所选的变量外,没有官方API检索有关A/B测试的任何信息
只需在应用程序中硬编码值,或者在Firebase主机/云Firestore上手动添加值,将会非常容易
话虽如此,这里有两个模糊的想法,可以提供更自动化的解决方案,但我真的不建议尝试这两种方法
大查询 你可以,它将包含你的分析数据。具体而言: 在这个查询中,您的实验被编码为一个用户属性,实验名称在键中,实验变量在值中 一旦您的数据在BigQuery中,您就可以了。你当然需要处理,而这几乎肯定是极其过分的
云功能(和托管) 另一个解决方案是将需要的数据存储到别处,然后检索。Firebase云功能能够(A/B测试在引擎盖下使用这些功能)。因此,您可以创建一个函数:
- 在创建新的远程配置时触发
- 将
到参数键
等的映射存储在Cloud Firestore或类似文件中名称
注意:我实际上不知道如何在云函数中获取有关远程配置的任何信息。例如版本名称、更新时间等,但是
说明
似乎模糊不清。我们想为我们的跟踪/分析工具获取这些信息。因此,我们实现了一种变通方法,并添加了一个额外的远程配置变量abTestName\u variantInfo
,在该变量中,我们在a/B-Testing配置中设置了有关a/B-Test名称和我们正在运行的变量的简短信息。这样,我们就可以使用主远程配置变量进行变量更改(例如布局或功能),而不必依赖于我们自己的命名约定进行跟踪
例如,我们使用了两个远程配置变量
ratingTest\u variant
(值:emojis
或stars
),并添加了变量ratingTest\u variantInfo
(值:abTest\u rating\u emojis
和abTest\u rating\u stars
)。我也在寻找变量名称。