5
votes

We recently implemented Firebase Remote Config on Android w/ v10.0.1. Everything was great until we handed it over for testing and 2/5 devices did not pull the cloud config values. Digging in we discovered that the 2 devices were all running Google Play Services v9.6.83. After moving our app back to Firebase v9.6.0, remote config properly synced on 5/5 devices.

I know we can query whether a Google Play Services update is available and direct the user to update, but this is obviously not ideal. Are we stuck choosing between using older vs newer versions of the Firebase SDK to minimize update friction w/ Google Play Services vs getting the latest fixes and features? Am I maybe missing some config to support backwards compatibility?

1
Thats annoying, sorry. Your workaround of checking, or lagging the SDK release is right. In general we expect devices to receive the new version: its made available to 100% of devices before the SDK is launched. We know there are cases where it doesn't get updated (e.g. out of diskspace on device). Did the two devices you were testing get the update, or were they stuck?Ian Barber
The two devices were not updated by choice. I updated GPlay Services on one and things worked there as expected.dpalmer

1 Answers

6
votes

From ian-barber's comments we've gone with the following:

  1. Switch from Firebase 10.0.1 to 9.8.0. 10.0.1 didn't introduce anything we need and testing on 9.8.0 has been fine. Unless a new version provides functionality or fixes we absolutely need, we'll probably stagger a version back to decrease risk of failure.

  2. Use GoogleApiAvailability to check for Google Play Services compatibility. If an update is available and the user can update it (per util method), we post a notification encouraging the user to update.

  3. Otherwise, we fail silently.