在启用 A/B 测试配置后,FirebaseRemoteConfig#reset() 方法无法将远程配置恢复到默认值。如果需要恢复默认值,则必须在 Firebase 控制台手动将 A/B 测试配置禁用。
下面是一个示例代码,演示了如何使用 FirebaseRemoteConfig 在 Android 应用中启用和禁用 A/B 测试配置:
FirebaseRemoteConfig firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
// 启用 A/B 测试配置
firebaseRemoteConfig.setConfigSettingsAsync(new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.setMinimumFetchIntervalInSeconds(0)
.build());
// 从 Firebase 远程服务器上获取配置
firebaseRemoteConfig.fetchAndActivate().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
// 配置已成功更新
// 获取 A/B 测试配置值
String abTestValue = firebaseRemoteConfig.getString("ab_test_key");
// 执行 A/B 测试
if ("value_a".equals(abTestValue)) {
// 执行 A 测试
} else if ("value_b".equals(abTestValue)) {
// 执行 B 测试
} else {
// 执行默认操作
}
} else {
// 获取配置失败
}
});
// 禁用 A/B 测试配置
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.setMinimumFetchIntervalInSeconds(3600)
.build();
firebaseRemoteConfig.setConfigSettingsAsync(configSettings).addOnCompleteListener(task -> {
if (task.isSuccessful()) {
// A/B 测试配置已禁用
}
});