Deploy a Flutter app to Google Play using the Flutter workflow editor
Codemagic enables you to automatically publish your app to the internal, alpha, beta and production tracks on Google Play. To do so, you must first set up Android code signing and then configure publishing to Google Play.
- Setting up access using Google Play API as shown below.
- A service account in Google Play Console to obtain the JSON credentials file
- Granting the necessary App permissions and access permissions to the service account.
- You must build the app in release mode and set up Android code signing. You can check it here.
Before releasing the app to Google Play, ensure that it meets Google Play’s best practices guidelines.
Setting up Google Play API access
To allow Codemagic to publish applications to Google Play, it is necessary to set up access using Google Play API.
In the Google Play Console, navigate to Setup > API access and click Learn how to create service accounts.
This will lead you to the Google Cloud Platform.
In step 1, fill in the Service account details and click Create. The name of the service account will allow you to identify it among other service accounts you may have created.
In step 2, click the Select a role dropdown menu and choose the role. In this example we will use Service Account User as the desired role. Start typing the name of the role that you wish to add.
In step 3, you can leave the fields blank and click Done.
In the list of created service accounts, identify the account you have just created and click on the menu in the Actions column, then click Manage keys.
In the Keys section, click Add Key > Create new key. Make sure that the key type is set to
JSONand click Create. Save the key file in a secure location to have it available.
Back in Google Play Console, navigate to Setup > API access and click Manage Play Console permissions next to the created account.
On the App permissions tab, add the applications you wish to grant access to.
Go with the default settings for app permissions and click Apply (financial data permissions can be left blank).
On the Account permissions tab, leave everything as it is. (There is NO need to grant the service account Admin access).
Finally, click Invite user to finish setting up the service account on Google Play. In the Invite user window, the Email address field is pre-filled. Under Permissions, the default ones are already selected. You can go with these. Click Invite user at the bottom of the page.
Setting up publishing to Google Play on Codemagic
Once you make all the preparations as described above and configure publishing to Google Play, Codemagic will automatically distribute the app to Google Play every time you build the workflow.
Navigate to the Distribution section in app settings.
Click Google Play to expand the option.
Upload your credentials JSON file.
Select a track for publishing.
- Internal — publish for internal testing and QA
- Alpha — publish for testing with a small group of trusted users
- Beta — publish for testing to a wider set of users
- Production — release the app to production
- Custom — release the app to a custom closed testing track
If you want to publish to a custom track, enter the custom track name.
If your application supports in-app updates, set the desired priority. If not, select Default.
In case you want to release a staged version of your application, which reaches only a fraction of users, set Rollout fraction to a value between 0 and 1. To release to everyone, leave the value empty.
If you are getting the next error:
Changes cannot be sent for review automatically. Please set the query parameter changesNotSentForReview to true, mark the checkbox Do not send changes for review.
But if the checkbox is marked and the app is sent for review automatically, you will get the error
Changes are sent for review automatically. The query parameter changesNotSentForReview must not be set.
In case you want to upload the artifacts generated in the build to Google Play as a draft release, select Submit release as draft. Note that you cannot set the rollout fraction for draft releases.
If you want to publish the .apk even when one or more tests fail, mark the Publish even if tests fail checkbox.
Select Enable Google Play publishing at the top of the section to enable publishing.