Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase AB Test has 0 users

We've started an AB test using Firebase remote config. It's been over 24 hours, and it's showing "Total Users: 0" when there should have been tens of thousands of DAUs assigned to each variant.

  • how long does it take for data to come in?
  • is there any way to tell if it's running?
  • If it remains at zero, what are the potential root causes? Why are people not being assigned to test variants?
like image 341
scosman Avatar asked Feb 21 '18 21:02

scosman


People also ask

What is AB testing in Firebase?

It gives you the power to test changes to your app's UI, features, or engagement campaigns to see if they actually move the needle on your key metrics (like revenue and retention) before you roll them out widely.

Is Firebase a B testing free?

Firebase provides a robust and low cost (free to use, but developers do need to spend some time architecting the app for remote config) framework to test your hypothesis in the production app with actual users.


1 Answers

Found the solution. A few dumb mistakes, but they are easy to miss because the remote config works fine without fixing them.

  • Ensure you upgrade Firebase SDK/pod to 4.5 or later. Earlier versions have an identical API but won't serve AB tests values (only remote config values)
  • Ensure you call fetchWithExpirationDuration AFTER you call FIRApp configure
  • Verify a draft AB test is working before shipping to app store. Some tips for doing this:
    • Pass 0 for expiration in fetchWithExpirationDuration when in debug mode so it's forced to fetch new values every time (it will cache by default).
    • Setup remote config in debug mode (code below)
    • Instructions from Google on how to verify: https://firebase.google.com/docs/remote-config/abtest-config#validate_your_experiment_on_a_test_device
#ifdef DEBUG
    FIRRemoteConfigSettings* remoteConfigSettings = [[FIRRemoteConfigSettings alloc] initWithDeveloperModeEnabled:YES];
    [FIRRemoteConfig remoteConfig].configSettings = remoteConfigSettings;
#endif
like image 85
scosman Avatar answered Oct 23 '22 03:10

scosman