Skip to main content

Publish Walkthrough for Google Play Console

Why Use the Publish Module: Features and Benefits

The Publish module in Appcircle is a powerful tool designed for managing the release process of mobile applications to various app stores, including the Apple App Store, Google Play Console, and Huawei AppGallery. This module streamlines the complex process of app release, enabling users to:

  • Centralized Release Management: Monitor, manage, and audit releases from a single platform, making the release process more efficient and organized.
  • Automate Releases: Automate the submission of applications to multiple stores, reducing the manual workload and minimizing the risk of errors.
  • Flexibility in Publishing: Appcircle provides the flexibility to publish your applications to various platforms, including app stores and internal app distribution systems. This ensures that your applications reaches the right audience through the most suitable channels.
  • Isolation from Complex Interactions: Eliminate the need for direct interaction with individual app stores like the Apple App Store, Google Play Console, and Huawei AppGallery. Appcircle acts as a central hub, isolating you from the complexities and variances of each store’s submission processes.

By using the Publish module, you can ensure a smooth, reliable, and scalable release process for your mobile applications, enhancing the overall efficiency and effectiveness of your app release strategy.

Preview of Publish Mobile Apps to App Stores Seamlessly | Appcircle

Getting Started

The Publish module in Appcircle is a versatile tool that simplifies the app release process. To make the most of this module, it's important to ensure that you meet all prerequisites and properly configure the necessary settings. The following sections outline the initial steps to start a release process using the Publish module.

Screenshot

Prerequisites for Using the Publish Module

Before you can start using the Publish module, there are several key prerequisites to address:

Creating and Adding a Google Play Developer API Key

The most important requirement before getting started is a Google Play Console account and an API key generated for that account. For detailed instructions on generating a Google Play Console API key, please refer to the Appcircle documentation below:

Once the Google API Key file is successfully integrated, you can proceed to the next step.

The JSON file is not recoverable

The Google API key JSON file can only be downloaded once and cannot be retrieved later from Google Play Console or Appcircle. Make sure to store it securely right after downloading.

Binary Preparation

Before starting the release process, make sure your AAB or APK binary is properly signed with the correct keystore. Proper signing is required for Google Play to accept the build and ensures a smooth publishing experience.

Binary Upload Methods

The binary file can be uploaded to the Publish module either manually or through the Build or Testing Distribution modules. For more detailed instructions, please refer to the Upload Binary section.

Publish Setup Process

Creating a Publish Profile

  • Your Publish profile should be correctly set up within the Appcircle platform. The package name defined in the Publish profile must exactly match the package name registered in your Google Play Console. To create a profile, click the Add New button on the top right.
Screenshot
Creating a Publish Profile

If you haven't create a Publish profile in Appcircle before, follow the detailed Creating a Publish profile guide provided in the Appcircle documentation to ensure everything is ready for publishing.

  • There are two different ways to create a Publish profile. One option is to create the profile manually, and the other is to retrieve an existing profile from Google Play Console. For detailed information, please visit the Creating Publish Profile documentation.
Screenshot
Create from Google Play Console

To use this profile creation method, you must have a Google Play API key integration. And the package name defined in the Publish profile must exactly match the package name registered in your Google Play Console. Please refer to the detailed documentation for Create from Google Play Console and API integration.

Selecting a Google Play Developer API Key

If you choose to create the profile manually, you must select the required Google Play Developer API key integration from your profile in the Publish module after the profile is created. To initiate the release process, select the credentials for the relevant store from the Settings screen under the selected Publish profile.

Screenshot
  • All available integrations will be shown in the Settings screen. Here, you should select the Google Play Developer API key that you want to link to release your app.
Screenshot

Updating Google Play Console App Information

  • Within the Publish module, you can update and review your app's information directly. This includes updating email address, phone number, website URL, primary languages, and auto-send for review options. Please visit the Google Play Console Information documentation for detailed information.
Screenshot Screenshot

Customizing the Publish Flow

Publish flow are used to automate multiple tasks and introduce automation checkpoints for application deployments to stores. You can manage flow within the Publish module as outlined below:

Screenshot
  • Update the Publish Flow: Update the flow based on your needs in the Publish Flow section.
Screenshot
info

You can back up your current Publish flow by clicking the Download YAML button at the bottom. You can also upload your Publish flow as a YAML file using the Replace Flow button at the top right.

  • You can choose predefined steps or create custom steps based on your specific needs.

You can drag and drop steps into your Publish flow. Any unwanted Publish flow steps can be removed or deactivated. You can also reorder steps so that they will be executed in the order you specify.

Screenshot
  • Configure Flow Steps: Fill in all required inputs for each step in the flow with the necessary information according to your requirements.
Screenshot
  • Save: Once the flow is configured, you can save it for use in the deployment process.

Publish Flow Sample

Here is a sample Publish flow for an Android app, including track selection and deployment steps.

  • Custom Script: You can use the Custom Script steps to add extra functionalities in your Publish flow. Appcircle will execute the commands specified in your custom scripts, allowing you to perform custom actions. These scripts will run on the runner, giving you access to all the capabilities of the Publish environment.

  • Get Approval via Email: The Get Approval via Email step allows you to get approval from the email addresses entered as input in the step before moving on to the next steps in Publish.

  • Send to Google Play: With this step, the binary is uploaded to the desired Google Play Console Track. You can select one of the following options:

    • Internal track
    • Alpha track
    • Beta track
    • Production track
    • Custom track (a user-defined track for specific testing or release scenarios outside the standard tracks)
  • The Distribute to Track: This step enables automated deployment of Android applications to specific tracks within the Google Play Console. This functionality allows developers to manage releases efficiently, targeting different user groups such as internal testers, beta users, or the general public.

  • App Information from Google Play: The App Information from Google Play step checks the status of the app releases in the Google Play Console. This allows you to monitor the progress of your app.

Screenshot

Setting Up Notifications

  • Keeping your team informed about the release progress is essential for a coordinated effort. The Publish module can be integrated with collaboration tools like Slack or Microsoft Teams for notifications. By setting up these integrations, you can automatically send notifications about key events in the release process—such as successful deployments or issues that need attention—ensuring that everyone stays in the loop and can act swiftly when needed. Please visit the related Notifications Integration documentation for more detailed information.
Screenshot Screenshot

Managing Releases

Effective release management is crucial for ensuring the success of your app updates. The Publish module provides you with the tools to monitor, control, and optimize the release process. You can track the status of your releases in real time, manage approvals, and address any issues that arise during the process. Also, the Publish module offers customizable flow to provide more detailed management of the release process.

Uploading a Binary

Easily upload your binary file to the Publish module manually, via the Build or Testing Distribution modules, or through Appcircle CLI and API to begin the release process.

Manual Binary Upload

You can upload your binary file directly to the Publish module using the manual upload option.

Screenshot

Upload via Build Module

You can automatically deploy your binary file to the Publish module directly from the Build module. This method streamlines the binary deployment process by transferring your binary immediately after the build pipeline completes, making it ready for release. It simplifies the flow and reduces the risk of manual errors.

Upload via Build Module

To upload a binary from the Build module, please refer to the Distribution Configuration document for auto upload or the Post-Build Operations document for manual upload.

Upload via Testing Distribution

You can send your application from a testing distribution profile to a designated Publish profile. For detailed steps, see the Upload via Testing Distribution documentation.

Screenshot

Upload via Appcircle CLI & API

If you have your own CI environment or need to integrate Appcircle into a specific process or job, you can use the Appcircle API & CLI to upload binaries to the related Publish profile.

  • Other CI/CD Tools: You can integrate the Publish module with CI/CD tools like Jenkins and GitHub Actions to automate your build and release pipeline. With the Appcircle API & CLI, you can seamlessly connect these tools, allowing for automated triggers that initiate a release as soon as a new build is ready. This integration ensures a consistent and efficient deployment process, reducing manual intervention and the risk of errors. You can check out Appcircle Marketplace for more integrations.

To get more information, please refer to our API & CLI documentation.

Marking Binary as Release Candidate

  • Designate the current build as the Release Candidate, signaling that it is ready for potential release. You can refer to the Marking as Release Candidate document for detailed information.
Screenshot Screenshot

Updating Metadata

  • Within the Publish module, you can directly manage your app’s metadata. This includes editing the screenshots, video, app name, and descriptions. Please visit the Metadata Details documentation for more information.
Screenshot
  • Regularly review and update your app's metadata to ensure it is current and relevant, as outdated information can negatively impact your app's visibility and user experience.
Screenshot

Starting the Flow

  • You can start the Publish flow manually by clicking on the Publish Details or you can run it to automate the entire publishing process. The flow will handle everything from submitting the binary to obtaining approvals and completing the release actions for the Google Play Console.
Screenshot Screenshot

Managing Release Status

After initiating a release, the Publish module provides tools to monitor and manage the process.

Release Dashboard

View the real time status of your release.

Screenshot

Rejecting a Binary

  • The binary can be rejected to be excluded from the publish process, and the rejection reason is displayed as a tag on the binary.
Screenshot Screenshot Screenshot

Auditing Releases

The Publish module provides comprehensive auditing and reporting features that give you full visibility into your release process.

  • Activity Log: The activity log keeps a detailed record of every action taken during the release process, including who performed each action and when it occurred. This log is invaluable for tracking changes, identifying issues, and ensuring accountability within your team.
Screenshot

Publish Module Troubleshooting

When using the Publish module, it's essential to know how to troubleshoot potential issues that may arise during the release process. Whether you're dealing with failed submissions, integration errors, or flow execution problems, having a clear understanding of common issues and their solutions can save you time and ensure a smooth release.

Frequently Asked Questions About the Publish Module

What happens if I upload an APK/AAB signed with a different keystore?

Google Play rejects the upload with an error like "Upload failed. You uploaded an APK or Android App Bundle that is signed with a different certificate."

If you’ve lost your original keystore and Play App Signing is enabled, you can request a new upload key. Otherwise, you must use the original keystore or publish the app under a new package name.

For more information, please refer to the What to do if I lost my key store document.

Can I re-sign an Android binary with a different keystore?

Yes. The Resign Binary step allows you to re-sign your APK or AAB using a different keystore. This is useful when distributing the same build under a different signing identity. Make sure to use a trusted and correct keystore when re-signing your binary. The Publish module fully supports Android binary re-signing.

caution

Re-signing an Android binary with a different keystore may cause installation or update issues. Android does not allow an app signed with one keystore file to be updated with another. If a different keystore is used incorrectly, the application may fail to install or update, and you may encounter a "Package not found" error. Also, changing the signing key is not allowed on Google Play Console after the first release, unless you're using Play App Signing with an approved key change process.

For more information, please refer to the Resign binary document.

How to distribute an Android app to different release tracks (Alpha, Beta, Production, etc.) on Google Play?

By configuring the Distribute to track step, you can upload your application to a specific track such as Internal, Alpha, Beta, or Production. This enables you to manage multiple release flows and target different user groups within the same pipeline.

For more information, please refer to the Distribute to Track document.

How can I control the rollout percentage when distributing to a Google Play track?

In the Distribute to track step, if you set AC_RELEASE_STATUS to partial, a rollout percentage slider becomes available. Use it to define what percentage of users should receive the update initially (e.g., 10%). This lets you perform phased rollouts and monitor stability before doing a full release.

warning

Keep in mind that, once a rollout has started, the percentage can only be increased. It cannot be reduced. If you need to stop the release, you must halt the rollout entirely and upload a new release.

How do I update my app's metadata?

To update your app's metadata, navigate to the Publish module, select the relevant profile, click the Actions button for the binary, and go to Metadata details. You can now update the metadata fields, such as the app name, description, and screenshots. After saving your changes, submit the updated metadata for review if required.

caution

You must also complete the metadata submission process on Google Play Console to ensure the changes take effect. For more details, refer to the Update Metadata on Google Play Console.

Screenshot Screenshot

Is it possible to automate notifications for team members during the release process?

Yes, it is possible. The Publish module allows you to set up automated notifications for your team members at various stages of the release process. You can configure notifications to be sent via email or integrate with collaboration tools like Slack or Microsoft Teams, ensuring that everyone involved is kept up to date on the release status.

For more information, please refer to the Notification Integrations document.

Can I use the Publish Module with other CI tools?

Yes, you can use other CI tools to upload a binary to the Publish module. By utilizing Appcircle API & CLI within your chosen CI tool, you can directly send the binary to the relevant profile and manage the publish process.

Additionally, you can check our existing integrations in the Appcircle Marketplace documentation for integration alternatives for the Appcircle API and CLI.

Can I manage team member roles for the Publish Module?

Appcircle provides users with a comprehensive role management system. This system allows you to assign specific permissions to all organization members on an organization-wide basis.

For more information, please refer to the Role Management document.

Can I manage multiple Play Store accounts within the Publish Module?

Yes, the Publish module allows you to manage multiple Play Store accounts within a single interface. You can set up and integrate different accounts, such as Apple App Store, Google Play, and Huawei AppGallery, and then select the appropriate account during the release process. This flexibility ensures that you can handle releases across multiple platforms efficiently.

How do I customize my Publish flow in the Publish Module?

To customize a flow (available only with an enterprise plan), navigate to the Publish module and select the "Publish Flow" option. From there, you can choose and arrange the steps needed for your release process, configure each step according to your requirements, and save the flow for future use. Custom flow allow you to tailor the release process to fit your specific needs.

Screenshot

Why can't I edit the Publish Flow?

The Publish Module is an enterprise-level solution, so only users with an Appcircle Enterprise License have access to all of its features. Users with other licenses have limited access to the module. To get more information about the Enterprise License, please contact us directly.

How can I roll back to a previous version if needed?

Google Play does not support directly rolling back to a previously published version. However, you can functionally roll back by re-releasing the previous binary using a higher version code.

To do this in Appcircle, go to the Publish module, select the previous version from your release history, and Resign the binary that you want to re-release.

For more information, please refer to the Resign binary.

warning

Make sure to increment the version code; otherwise, Google Play will reject the upload.

Further Support and Resources

If you need additional help with the Publish module, the following resources are available:

Need help?

Get help from Appcircle's support team, or see how others are using Appcircle by joining our Slack Channel.

Preview of Slack

  • Technical Documentation: Refer to the Appcircle user documentation for detailed guides and troubleshooting tips for the Publish module.

  • Commercial Details: The Publish module is an enterprise-level solution; therefore, for commercial details, please contact us directly.