我的项目的Android应用的A / B测试未在A / B测试主页面上显示任何实时数据。显示iOS版本的实时数据。
我已经在几个Android设备上测试了实验,并且从FirebaseRemoteConfig接收了正确的值,因此实验运行正常。
Here's a screenshot of what I mean
iOS测试在左侧,Android测试在右侧。尽管iOS测试仅在50分钟前进行,但它显示的是数据,而Android测试是在20小时前创建的,没有实时数据。
我知道实验开始后的24小时或更长时间内可以显示“ 0个用户总数”,因此我对此并不担心。但是由于iOS测试显示的是实时数据图表,所以我感到奇怪的是Android却没有。
测试在设备中运行,但我还将添加一些代码。这是我获取远程配置值的方法。
final FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig.getInstance();
remoteConfig.setConfigSettings(new FirebaseRemoteConfigSettings.Builder()
.build());
HashMap<String, Object> defaults = new HashMap<>();
defaults.put(PARAMETER_NAME, DEFAULT_VALUE);
remoteConfig.setDefaults(defaults);
long cacheExpirationSeconds = BuildConfig.DEBUG ? 0
: TimeUnit.HOURS.toSeconds(12);
remoteConfig.fetch(cacheExpirationSeconds).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
remoteConfig.activateFetched();
}
});
任何想法,为什么会这样,谢谢。
答案 0 :(得分:1)
似乎这与Firebase config SDK的最新版本有关。来自release notes:
最新版本的Firebase Android SDK(用于远程配置)(v16.1.2)导致A / B测试无法按预期进行。 Remote Config SDK v16.1.2无法收集A / B测试实验的用户行为,这会导致报告显示该实验的用户为零。
如果您在项目中同时配置了A / B测试和远程配置,请使用Remote Config Android SDK v16.1.0。
我更改为v16.1.0,现在正在显示实时数据。
此外,注释还提到以下内容:
请注意,将Remote Config降级到v16.1.0要求以下Android SDK(如果在您的项目中将它们与Remote Config一起使用)必须具有以下版本:
com.google.firebase:firebase-ads:17.1.1
com.google.firebase:firebase-analytics:16.0.5
com.google.firebase:firebase-dynamic-links:16.1.3
com.google.firebase:firebase-invites:16.0.5
com.google.firebase:firebase-core:16.0.5
我仅使用Firebase核心,但将版本更改为16.0.5会与其他Google库产生冲突。然后,我使用了最新版本16.0.6,并且远程配置和实时数据仍然可以正常工作。只适合与此有关的其他人。