未为Android应用显示Firebase A / B测试实时数据

时间:2018-12-21 13:20:34

标签: android firebase testing firebase-remote-config firebase-ab-testing

我的项目的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();
        }
    });

任何想法,为什么会这样,谢谢。

1 个答案:

答案 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,并且远程配置和实时数据仍然可以正常工作。只适合与此有关的其他人。