Background
The Android developer console has 3 tabs for publishing the app's apk file:
alpha, beta and production, as shown here:
as I recall from one of Google IO lectures, one cool way to check how good is your app before making a 100% scale publishing, is to allow only a percentage of the users to download the app first. I think it's called "staged rollouts" , because you can rollout the publishing in case it had too many problems to be published to all.
My question
What is exactly the difference between them, especially between Alpha and Beta?
Only the production stage is available for people on the play store, right?
which one/s allow to publish only to specific people/percentage , and in which way do you do it?
which stage allows in-app billing, at least for testing ? I don't get why can't i test it out even before uploading the app.
in the percentage method, if I publish a new app version using the same way, will it first update for the people who were lucky enough to install the previous version?
To answer your questions:
What is exactly the difference between them, especially between Alpha and Beta?
There isn't much difference between the two aside from the fact that you just start with a small number of testers for alpha testing and switch to a bigger group for beta
Only the production stage is available for people on the play store, right?
By default, only production is available on the Play Store. However, you can now add an option in your Play Store page for users to opt into an open Beta program. Link
which one/s allow to publish only to specific people/percentage , and in which way do you do it?
You can do that for both. To do alpha,beta testing you need to send invites to people on their google+ accounts so that they can access your app and be able to download it. The invites is usually in the form of a link directing them to your app on the play store which is only visible to them after they accept the invite
which stage allows in-app billing, at least for testing ? I don't get why can't i test it out even before uploading the app.
You can do in-app billing for both alpha,beta testing. Check the link:
http://developer.android.com/google/play/billing/billing_testing.html
in the percentage method, if I publish a new app version using the same way, will it first update for the people who were lucky enough to install the previous version?
As far as my experience goes, I have seen people who were testers get the update for the app first than everyone else. But I am not so sure about how does it work exactly.
Difference between Alpha and Beta testing (Software/Apps Testing)
Alpha Testing is conducted within the organization and tested by an individual developer or a team of developers or testers. This testing is closed for public.
Beta testing is conducted by the end users who are not programmers, software engineers or testers. This testing may be open for public.
Open or Closed Testing
Closed Alpha Testing: This testing is conducted within the organization and restricted by email or group invitations only. Those who are added onto the list of alpha testers on Google Play Store have access to test app.
Open Alpha Testing: Those who have Opt-in link of app have access to test the app. This testing is not restricted by email or group invitations. You can limit the number of testers on Google Play Store.
Closed Beta Testing: This testing is conducted outside the organization and restricted by email or group invitations. Those who are added onto the list of beta testers on Google Play Store have access to test app.
Open Beta Testing: This testing is conducted outside the organization and it is not restricted by email or group invitations. This testing is conducted in real time as the app will be made open for public to install. You can limit the number of testers on Google Play Store.
Generally, alpha testing is first conducted by developers or testers within the organization. Beta testing comes after and is conducted by non-technical or end users outside the organisation. Finally, after completing the testing, the app goes to production.
In app purchase
Licensed users may purchase your in-app products without any resulting charges to the user. Test purchases can be only used in both alpha and beta releases.
To add user license: Google play Console -> Settings -> Developer Account -> Account details -> License Testing
Learn more about testing
#user2511882's answer is great, but there are more information to add.
First of all, alpha and beta channels are designed to test multiple version of app. You can test only one version (identified by versionCode) on each channel, so alpha and beta channels provide two test tracks.
However they have a little difference on test type. You can run closed alpha and open beta test simultaneously, but it's not possible to run two open alpha/beta test nor open alpha and closed beta test.
Another difference is that alpha test APK's version code should be higher than beta test one. If you upload higher version of APK on beta test channel, alpha test will automatically be closed. (This principle applies for production APK too. APK version code should be 'Production < Beta < Alpha'.)
For more details, check this help.
See there are Four types of releases on play console for android developers;
1. Internal testing - It means you wanna share your app among the decided members. It means you have to put their Gmail into the testers list. This is usually for employees.
2. Alpha testing - Same as internal testing, but this time you can send your app to your friends, families, or on your smartphones.
3. Beta testing - This is a serious matter, this is public testing. But people cannot give reviews to your app. You can also limit how many users can install the app.
4. Production - This is the last release, now everybody can install your app, can give reviews, can report to google play if something bad is there. One more thing, now your app appears in play store search listing.
Now there is one more thing, open testing, closed testing, pausing tracks and stage rollouts, don't get confused by these terms.
1. Open testing - It means that you don't need to invite them, like no need to take their Gmail and add it to the user list. (Beta testing)
2. Closed testing - It means that you need to specifically add the user's Gmail into the list. (Alpha testing)
3. Staged rollout - This means we can provide the update to some percentage of users we currently have. Suppose 100 users are there and you rollout for 40% then only 40 users can update the app and after you confirm the app is working perfectly (using crash reports or reviews) then make it available for everyone.
4. Pause Track - See each testing has a track in play console. So if you click the pause track in beta testing then it will pause beta testing [changes occurs in few hours]. Same in internal and alpha. We usually pause test tracks when we release the app in production [usually I do].
Your app will not appear in search results until it is in production.
Related
I have an application in the play store and I want to set up a beta track and an alpha track. In short, the beta track is intended to be open so people can opt-in anytime, while the alpha track is intended for select invitations only.
One of the problems that I'm having is that the beta-track seems to be recognized on my phone but the alpha track weirdly is not. The alpha track has a higher release version than the beta track has, so I am expecting the play store to show list the version of the alpha track (on my personal devices) however it quite persistently keeps showing the version of the beta track.
Anybody know what this is about? Am I using the playstore wrong is there something else I should enable first?
Your understanding for the play store is a bit different. Its better to look at the channels as below:
Alpha Track as Closed Track. Only registered users can install the app in this track.
Beta Track is Open Track. Everyone who has opted for Beta testing can install the app.
Production Track is your main track. Play store will use this to distribute your app to your end users.
To register your users for the Closed Track(Alpha), go to the Alpha track and add a list of users by their emails who can download app through this channel. My company uses Developers who can access the Closed track, so simply add all the developer's emails in that list and you are good to go.
Firstly you have to register alpha testing group for your app. If you register both alpha and beta testing groups, your project's version code is important. You are going to see the biggest version code number app in your phone alpha, beta or production. For example you have an apk in beta with version code 3 and you have an apk with version code 4 in alpha, you should see alpha version available on google play.I mean that the important thing is version code of your app.
We recently decided to update our new application for Beta release on google play,
Now after reading the guide, there were some questions that I had in my mind and wanted to know more about them, I googled for further understanding found some answers but there are still somethings that I wasn't sure about so decided to put this question up:
For Beta releases is it possible to make a beta release that is available to all the google play users(as a normal production app) or will it be available to all?
(Since as per this guide it gives me an idea that the application will only be available to a set amount of users.)
Make sure users can join the tests. Your testers will need to have a Google account (#gmail.com) or a G Suite account to join a test.
Run tests internally. Use the internal testing track to push your app to up to 100 internal testers in seconds.
Once I release a beta application and I decide to now put it for production, will it be uploaded as a different application or the same also will the comments that were posted to the beta release google play app be visible on my production app?
(Didn't quite get anything in relation to this one.)
In one of the points, it said that my application should have a higher version code in the beta release then that of the production release, But if I have a higher version in that release would it not be the application that will be getting downloaded even when it might not be the most stable version? (this one actually confused me big time)
Check your Android App Bundle version number. For an app on the internal, closed, or open testing tracks to be available to testers, it must have a higher version code than your production version.
Is there a designated field where I can provide this email for the beta testers or can I just provide it in the description of the application?
Provide a channel for testers to send you feedback. For closed tests, offer testers the ability to provide feedback by email, at a website, in a message forum, or through another suitable mechanism.
For Beta releases is it possible to make a beta release that is available to all the google play users
You can release your app as an Open Beta, which anyone who wants can get access to (without being invited by you). See https://support.google.com/googleplay/android-developer/answer/3131213?hl=en (specifically the part Step 1: Set up test details - Open test: surface your test app on Google Play)
Once I release a beta application and I decide to now put it for production, will it be uploaded as a different application or the same
Same. There's no re-uploading - you just change the state of the release.
also will the comments that were posted to the beta release google play app be visible on my production app?
Testers can't leave public reviews on Google Play.
But if I have a higher version in that release would it not be the application that will be getting downloaded even when it might not be the most stable version?
Well, that's the point.They have opted in to be testers of your app, so they get the latest available version. If they want to revert back to only getting production versions they can opt out of the test program.
Is there a designated field where I can provide this email for the beta testers or can I just provide it in the description of the application?
This is explained on the page I linked to: Next to "Feedback channel," add an email address or URL to collect feedback from testers. Your app's feedback channel will be shown to users on your tester opt-in page.
Beta releases are just a different track on your app's page.
If you have a public beta program (you'll need to select that as your type), users will see a "Join Beta Program" card somewhere on your app's Play Store page when they visit it. This card should show up below the "Developer Contact" information.
If a user decides to join the beta program, they'll get any new versions you publish there just like a normal update. Beta users cannot leave reviews! Beta users can leave you, the developer, private comments, but unless they leave the beta program, they can't create a review or edit an existing one.
Once you promote your beta build to production, it'll be available to all users of your app as a normal update. Beta users won't receive an update, since they're already on the version you promoted, nor will they be pushed out of the beta program. If you upload an APK straight to production, beta users will receive it as well (they still won't be able to leave a review).
As for version numbers, you can't upload another APK to the Play Console unless it has a later version code than the latest one already uploaded. If you have version 7 in your production channel, you can't upload a new APK with version 7 to beta; it has to be version 8.
When you upload your app as a Beta version, The users who joined your beta testing can upgrade to that version. The other users who have not joined beta testing, will no see any update for your app.
When you want to make the beta version as a production release, you can do so by simply clicking on Promote to Production option on Google Play Store.
With concern to your confusion, when you have some apk in beta version (say versionCode 2), then you can promote that app as a production, or you can also upload another apk as a production but remember, that should have greater version code (say 3). If you do so, then all users will get that update including beta testers. That will be an update to the same app.(I think you're doubtful here) Hope this helps.
I need that my beta testers have the beta app to let them test it but at the same time they must to have the production app to work in production.
The problem is that seems if they become a beta tester only can get the beta app from the Google Play.
There is a way to have both version in the same device without to have to change the app name?
Thanks a lot.
At the moment this is not possible by design. Beta testers are ideally users who get a slightly earlier version of your app, and use it day to day so you discover issues. The thinking behind this decision was that if you allowed both, then if issues were discovered beta users wouldn't report them, they would just switch to the prod app. Also, as an app developer the beta version should be "production ready" according to your internal QA.
This has value for other reasons. Beta users can't leave public reviews - instead they send private feedback. If you allowed both, then you wouldn't be able to have this feature.
A few well known apps (like Chrome) want users to be able to have both apps. For these apps, they have a separate package name for the Beta version and maintain a separate store listing: Chrome Beta, Chrome.
If you did this it would allow both to be installed. But you would have to maintain two store listings, two sets of reviews etc.
The short answer is No, it can't be done.
Update: it turns out the suggestion below is not true...
But you could sort of achieve this by defining multiple user accounts on the device. Create a second user account on the device that uses a different, not-in-the-beta Google account. User accounts have their own distinct set of installed apps, so you could then switch between the two user accounts to use the beta or prod app.
After some developments after releasing the app to production a bug was reported that I couldn't replicate in the latest version. So I needed to check the production version. As they both have the same name I knew I couldn't have both, so I tried to replace the beta version by the production one.
This is what I found out about how to do it.
Step 1. In my phone I went to the app page but the store insisted to install the beta version.
Step 2. In my phone change the account to one whithout beta test access. The play store detected the other account and installed the beta version.
Step 3. Finnaly I went to the store in my desktop and logged in whith the normal account I have on my device! This worked! The production version was in my phone and I could test it!
So my solution to you is this:
You can't have the two versions simultaneously in the same phone except if they have different names.
But you can replace the beta by the production one if you have two accounts on the phone and
A) Loggout from the account with access to the beta version and then install the production one,
or
B) Install from a desktop.
I have been trying for several weeks now to get the Google Alpha / Beta testing functionality on the Play Store to work with no success. As far as I can tell I have followed the process but clearly something is not working from my side. I hope someone on SO can tell me what I'm doing wrong.
I have created both an Apha and Beta testing community.
I have added the Beta testing community to the Beta testing section that relates to using Google+ communities to test. My Beta testing community does have members added.
Although I have an Alpha testing community, none of the Alpha testing methods are currently enabled.
On my test device, using a Google account that is a member of my Beta testing community, I only ever see the version of my app that is currently in Prod. I have spent days waiting just in case it takes a couple of days to show up (at least a week which I assume should be long enough).
I need to test the release version because I am trying to test some inapp billing functionality that I had to change due to security warnings from Google relating to my current Prod version.
BUT: if I load the release version of the app directly (instead of downloading from the Play Store) I can see that it is seeing this account as a "test account" because when I test the inapp billing I get the correct message telling me that the subscription will renew every day but I won't be charged. However the Beta version of the app never appears in the "BETA" tab in the Play Store.
I have noticed something "strange" (possibly) in the developer console though: When I click on the "Beta Testing" tab it shows 10399 supported devices and 0 excluded devices for the Beta app. However if I click on the line of the Beta app where you can promote the app etc, the details that are then displayed indicate 0 supported Android devices. Why would this be? This seems to be conflicting information on the console.
Note: The current Prod version of my app was developed using Eclipse. I have recently converted to Android Studio and this is my first upload using Android Studio.
Where else should I be looking to get my app to appear in the Play Store
Thanks
I was just setting up the Beta testing release for the first time and couldn't make the app visible in Play Store. Found the reason in Play Console Help:
After publishing an alpha/beta app for the first time, it may take a few hours for your test link to be available to testers. If you publish additional changes, they may take several hours to be available for testers.
After about 35 minutes the app was published.
As this might not be the issue mentioned in original question, it might help someone.
In my case I had published the Beta version and had created the testers but not linked them together. What I had to do was:
Go to manage releases
Choose a testing method - Closed Beta Testing
Then when testers list shows, make active the group of testers you would like to test the app.
Save
Get Opt-in URL link and paste it in a new tab (you should be logged in to google)
Then click at the "Become a Tester" button
You should now be a tester and ready to go.
#Important If you still can not find the app by searching in Play Store just copy the "Opt-in URL" into your tester phone's browser and you should see the app.
Hope it helps
What solved this problem for me was clearing my Play Store app data.
In my case, I had already been on the testers list for days, already accepted the invitation link, and already gotten testing working on other devices. But, the Play Store still wouldn't show the beta version of the app on this particular device.
I went to "App info" for the Google Play Store app, "Memory", then "Clear data". Then I re-opened and was able to see the beta test app.
Disclaimer: Use with caution. Clearing your app data may remove some important information. I haven't personally experienced any problems with it, but that doesn't mean you won't.
The suggestion from #Edgehog to use Open Testing solved my problem regarding being able to see my app in the Beta tab of the Play Store.
I have not found a reason yet why the closed beta testing (using emails or groups/communities) would not work.
Make sure you also check this answer
browser cache
an actual active "testing track"
We are having the same problem in my company. Currently we are investigating possibility that maybe first install on beta channel installs prod version and updates to beta channel version when first app update is released on beta channel. It is weird workflow but the comment on Play Store "Future updates will include beta versions" supports this
There are a couple of reasons why this might happen but admittedly we did not 100% confirm this.
1) One reason is that you are viewing Google Play under another account that is not on the beta tester list.
2) The other might be an issue (or feature) with the release management. Added a user to an existing closed beta release list. Changing a list does not activate or force a Save for the "Managed testers" section. After we edited another field (e.g. feedback channel) then the Save button became active and we clicked save. This might only then propagate changes. We cannot 100% confirm this was the issue we were facing but our experience points to this.
I am currently creating an android game using the Play Game Services for leader boards and achievements. I am currently testing the features under my account because I can clear the leader board when needed. However, I wanted to release an alpha test of my app. When I try to publish my game so my testers have access to it, it says I have to publish the Game Services first or they won't work. But, if I publish the game services can I still use testing accounts and change things? Or will it be final?
You don't need to "release" [edited] your game in order for testers to try out your game. One reason you may get the "I have to publish the Game Services first..." is because you most likely did not complete the Game Services and API setup between Google Play Developer Console and the app itself.
See steps:
https://developers.google.com/games/services/console/enabling#a_create_a_linked_application
Or, less likely, it could be that you still need to upload the APK:
Upload an Alpha or Beta APK, wait a few hours for it to become active in the system, and then add your tester group. This is a good place to start as of the date of my post:
https://support.google.com/googleplay/android-developer/answer/3131213
Some details from the link above:
Set up alpha/beta tests
Using the Google Play Developer Console, you can choose groups of users to beta test different versions of your app.
Testing basics
With the alpha/beta testing tools available in your Developer account, you can test different versions of your app.
You don't need a production APK to publish an alpha/beta app.
Users need a Google Account (#gmail.com) or a Google Apps account to join a test.
If you're testing an existing app that you've published before, only users in your test group will receive an update for your alpha/beta version. If you're testing a new app that you haven't published before, only users in your test group can find and download your app.
After publishing an alpha/beta APK for the first time, it may take a few hours for your test link to be available to testers. If you publish additional changes, they may take several hours to be available for testers.
If you make any changes to your app's Pricing & Distribution page, including setting your app price to Paid or Free, it affects your production, alpha, beta, and any future versions of your app.
Tip: When you're starting a new alpha/beta test, it's a good idea to start with a small group of alpha testers, then expand your test to a larger beta test group.
Definitely make sure to see more at the provided link:
https://support.google.com/googleplay/android-developer/answer/3131213