Having production and beta APK on the same device - android

Can I have both production and beta versions of my application available to the selected users?
The use case is the following, there are some users that are willing to try new versions of my app, but the are already using stable version for work. Beta version may have bug/crashes, making it inadvisable for work use. Therefore it would be nice to have both versions installed.
If beta APK is published separately (e.g. on my website), the user has anyway to remove the stable APK.
If beta APK has different package name, I have to fork the repository, and then manage merge, which I what to avoid.
Is there a standard way to do that on Play Store?
Can user select which version to install from Play Store?
Is there some tool that may simplify the package renaming?

Related

How to handle google play app with CI build and RC Build

I have one android app (e.g MyApp) in the Google Play Store, and at the moment the package is from the RC build in our pipeline, but we also want to publish package from CI build for testers. Is it better to create a new app called MyAppTest in play store which receives the package from CI build? Or is it better to just upload the package from CI build to "MyApp" under internal testing track? In the package from RC build, the version is like 1.0.0-RC1, and the package from CI build the version is like 1.1.0.1.
What is the best practice for this problem?
You should keep all into a single project! And use the different levels of testing of google play (alpha, closed beta, open beta).
Usually there are some levels of testing:
Internal testing (Release Candidates)
Open Beta for selected users
You should try to scale the same version from internal, to open beta to production. Most versions will be transitory, and won't reach production at all.
But you should keep the semantic versions all the way, some devs like to add -RC or -beta after the version to name, to tag as "in testing" version.

Publish Apk to playstore in beta version

I have an Android App on playstore. Now I have made so many changes to this app and want to update my app. I know simple update is easy but the thing I want is that to publish the new version in beta by keeping the old version remains same. In simple word, I want to publish a new build with beta version that it don't effect the older version?
Note: Old version is not in beta.
Releasing app update to beta channel (open testing) doesn't remove the production release. The beta update will become available as an update to testers only, everyone else will have access to the production release.
For more on releases and roll-outs. Read more here

Can android app beta version and public version exist in the same phone?

I have an android app published in play store and beta version of app for testing, now the tester don't want to uninstall the published android app from his phone while installing beta version. How can a tester be able to keep both (public and beta) version in his phone?
You can only have 1 app installed with a certain package name.
While developing, you can use a package suffix dependent on build type or flavour which would allow the tester to have 2 apps installed at a certain point, but this would not be published to Play Store. For example, you can have com.example.mycoolapp in Play Store and com.example.mycoolapp.debug for testing.
I think Play Store beta should only be used when (some) users are ready to receive the new update and give you feedback, but it will just update the already installed app.

Rollback the APK from beta version in playstore?

Once I have put an APK for the beta version can I rollback the APK if it contains any changes or errors in the same version?
You can't rebuild a new version of an apk from the apk itself.
Have the app developer do the following:
Rebuild project in its previous state with higher version number (must be higher than all previously submitted versions)
Resubmit
From Google's Android "Developer Console" page:
Note that rollbacks aren’t supported due to the app versioning
requirements of the Android platform. If you need to rollback,
consider launching a previous APK with a new version number. However,
this practice should be used only as a last resort, as users will lose
access to new features and your old app may not be forward-compatible
with your server changes or data formats, so be sure to run alpha and
beta tests of your updates.
You can not Rollback your previous APK you need to upload new version with bugs fixed..
The user can use the OPT-IN url to opt-out of the testing track, this works for both open and closed tracks :)

Release new production version on Google Play without affecting Beta

I have a production app on the Google Play store. I have also released a beta version to a limited group using the Google Play beta feature. However, if I make changes to the production app, I then need to re-build and re-release the beta app because it gets overwritten by the new production version. This is very frustrating when I want to make some bug fixes on production without changing the beta. Is there any way to release a new production app without invalidating the current beta?
The basic problem is that Google Play updates based on build number (versionCode), and doesn't care which channel the .apk comes from.
Your only option is to not pickup sequential build numbers, but instead leave gaps. For example if your prod is versionCode="10", make the beta build versionCode="20" which will give you the chance to publish nine more minor prod releases before you hit the issue of invalidating the beta build.
Though there are two problems with this approach:
- Obviously it does not scale very well.
- It makes it hard to manage the build numbers, as now you have to keep a record of what build has reached which build number.
- If you don't invalidate the beta build, your beta users will still have the bugs you just fixed in the new prod build until you upgrade them.
Note that if you don't have permission changes that prevent auto-upgrade, invalidating the beta build and publishing a new one is not that much of an issue; most users won't even notice that they were upgraded (unless your app tells them explicitly).
I believe the reason google requires that your new production version of the application override the beta is due to the basic development cycle. Typically applications start in the Alpha stage, then beta, and finally end in production.
The beta version is overwritten due to the fact that the next logical step in the cycle from beta is release. When you re-submit the beta version, it would be the current code revision as the production version, alongside bug fixes that are being tested.
The scheme is very simple:
Google Play uses versionCode to indicate the apk currently available to a user. It doesn't matter if it is a production or a beta release. Also it is not allowed to upload a build with versionCode lower than it was in some previous build.
So in your case you need to upload a production version and then upload a beta release (even if its only change is versionCode). Occasionally some of your beta users may download a production release, but they will get the beta release a bit later anyway.

Categories

Resources