My A / B Testing имеет параметр "POSITION"
.
"TOP"
имеет значение "POSITION"
у 50% пользователей в качестве контрольной группы
и "BOTTOM"
- это вариант для 50% пользователей.
Затем я попытался получить значение параметра в следующем коде.
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(BuildConfig.DEBUG).build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);
....................
mFirebaseRemoteConfig.fetch().addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
mFirebaseRemoteConfig.activateFetched();
String abtest = mFirebaseRemoteConfig.getString("POSITION");
switch (abtest){
case "TOP":
........
break;
case "BOTTOM":
........
case "":
Log.v("abtest",empty);
}
}
}
});
......................
Вышеуказанный код содержится в классе MainActivity
, а mFirebaseRemoteConfig
равен
его поле.
Но mFirebaseRemoteConfig.getString("POSITION")
иногда возвращает ""
.
Почему это происходит?