2

我项目的 Android 应用程序的 A/B 测试不会在主 A/B 测试页面上显示任何实时数据。显示 iOS 版本的实时数据。

我已经在几个 Android 设备上测试了实验,并且我从 FirebaseRemoteConfig 接收到正确的值,因此实验运行正常。

这是我的意思的截图

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();
        }
    });

任何想法为什么会有所帮助,谢谢。

4

1 回答 1

1

似乎这与最新版本的 Firebase 配置 SDK 的问题有关。从发行说明

最新版本的 Firebase Android SDK for Remote Config (v16.1.2) 导致 A/B 测试无法按预期工作。Remote Config SDK v16.1.2 不收集 A/B 测试实验的用户行为,这会导致报告显示实验的用户为零。

如果您在项目中同时配置了 A/B 测试和远程配置,请使用远程配置 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,远程配置和实时数据仍然可以正常工作。只是为了其他有问题的人。

于 2019-01-02T11:43:39.083 回答