Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我可以从Firebase中获取A/B-Test的标题/名称或描述以及变体名称吗?_Android_Firebase Remote Config_Firebase Ab Testing - Fatal编程技术网

Android 我可以从Firebase中获取A/B-Test的标题/名称或描述以及变体名称吗?

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

在Android上运行了这个基本的Firebase RemoteConfig A/B测试。我想获得Firebase中配置的A/B测试的标题/名称和说明。另外,最好能得到变体的名称(控件、变体A等)

如何获取这些数据

创建时受保护的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或类似文件中
然后,您的应用程序可以查询此云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
)。

我也在寻找变量名称。