Search code examples
androidgoogle-playpublishrelease-management

Confused about versioning in Google Play Console (part 2)


Is the following correct:

day 1: publishing version '1' to Production in Google Play with full-rollout. (100%)

day 2: publishing version '2' to Production in Google play with 20% Roll-out ratio.

day 3: publishing version '3' to Production in Google Play with 20% Roll-out ratio.

From day 3 on, nobody (new Users and update-Users) will ever install version 1 anymore. Correct? Version 1 is gone.


Solution

  • False. If you never take version 2 to 100%, then version 1 won't be disabled. Instead, version 3 will replace version 2 as the staged rollout APK.

    This is designed for the scenario where you send your new release (2) out to users to see if you missed any crashes in beta testing. You send it out, and discover the crash rate is elevated for 2. You find the bug and want to roll out a fix. You want to send the fix to the users who were getting the buggy version 2. So version 3 rolls out to same 20% to fix them, while the users on version 1 are unaffected.

    If you want to get users off version 1, the sequence would be:

    • day 1: publishing version '1' to Production in Google Play with full-rollout. (100%)
    • day 2: publishing version '2' to Production in Google play with 20% Roll-out ratio.
    • day 3: publishing version '2' to Production in Google play with 100% Roll-out ratio (complete the rollout). At this point version 1 is deactivated.
    • day 4: publishing version '3' to Production in Google Play with 20% Roll-out ratio.

    Staged rollouts are designed for a last stage check of you release before 100% rollout, and should always be completed to 100% if that check passes.

    If you are trying to do something else (eg A/B testing) then you should use a framework like Firebase remote config A/B testing