Publish your app to Google Play, the App Store, or Microsoft Store, or distribute it as a PWA. Hercules builds your Android and iOS apps, keeps the signing keys for you, and submits iOS builds to App Review.
How do I publish my app to the App Store?
Google Play
iOS App Store
Microsoft Store
Progressive Web App
Hercules builds your Android app for you. Upload the first release by hand, then Hercules can send every later build to Google Play on its own.Hercules builds are rolling out gradually. If you do not see a Build Android App button, use the manual steps at the bottom of this tab. Publish Your App on Hercules
Click Publish in the top right corner to get your app URL. Your Android app loads this URL, so publish before you build. Set Your App Details
Click Mobile → Publish to App Store, then fill in:
- App name: the name shown under your icon on the phone
- Package name: a permanent ID for your app, like
app.hercules.myapp
- App icon: a square PNG at least 512x512px with no transparency
- Android device permissions: turn on Camera or Microphone if your app uses them
New Android builds require Android 7 or later (API 24). Android 6 devices cannot install or update to these builds; existing installed versions are unchanged. This meets Google Play automatic protection’s minimum-version requirement but does not enable protection.You cannot change the package name after your first release. Google ties your store listing to it permanently.
Build Your App
Click Build Android App. Progress appears live underneath, so you can watch each step.The first build is the slow one, because Hercules installs the Android build tools before it starts. Later builds skip that step.When it finishes, click Download to get your .aab file (the app package Google Play accepts).
Upload Your First Release by Hand
Google requires the first release of a new app to be uploaded manually.
- Go to Google Play Console. You need a Google Play Developer account ($25 one time)
- Click Create app and fill in your app name, language, and type
- Click Testing → Internal testing → Create new release
- Upload your
.aab file. Your package name is inside it, so Play picks it up from the upload
- Complete the required forms: privacy policy, data safety, content rating, and target audience
- Add your own email as a tester, then install the app from the opt in link on your phone
The forms take longer than the build. Google will not release your app until every one is complete.
Connect Google Play for Automatic Uploads
Do this once, and Hercules sends every later build straight to Google Play.
- In Google Cloud, create a service account (a robot account that acts on your behalf) and download its JSON key
- In Play Console, click Users and permissions → Invite new users, invite the service account email, and give it permission to release your app
- In Hercules, click Mobile → Publish to App Store and add the JSON key as a Google Play credential
- Attach that credential to your app
Your next build uploads itself to internal testing. Go Live
When your test build looks right, open Play Console and promote the release from Internal testing to Production. Review usually takes a few hours to 2 days.
Hercules creates your app signing key and reuses it for every build, so there are no keystore files for you to save. Keep your mobile settings in place: your key lives with them.
Build Android manually with PWA Builder
Use this if Hercules builds are not available for your app yet.Generate Android Package with PWA Builder
- Go to pwabuilder.com
- Enter your app URL (e.g.
https://my-app.onhercules.app or your custom domain)
- Click “Start”, then “Package for stores”
- Select “Android” and download the AAB file
Save signing.keystore and signing-key-info.txt somewhere safe. You must use the same signing key for all future updates. If you lose these files, you cannot update your app.
Set Up Digital Asset Links
PWA Builder wraps your app in a browser window, so Google Play needs a Digital Asset Links file to confirm you own your domain. Without it, your app opens with a browser address bar instead of running full screen.
- On the PWA Builder Android package screen, copy the
assetlinks.json snippet it generates (it includes your package name and SHA256 fingerprint, a unique ID tied to your signing key)
- Ask Hercules to add it to your app:
Add Digital Asset Links file
- Publish your app again so the file goes live
- Visit
https://my-app.onhercules.app/.well-known/assetlinks.json (or your custom domain). It should return the JSON you pasted, not your app’s page
If you regenerate your signing key or change your package name, update this file and publish again. If you enroll in Google Play App Signing (the default for new apps), Google re-signs your app with its own key: get the new fingerprint from Play Console → Setup → App integrity and update this file with it.
Submit to Google Play
- Go to Google Play Console
- Click “Create app” and fill in details
- Click Production → Create new release
- Upload the AAB file and complete your store listing
- Submit for review
Hercules builds your iOS app, uploads it to TestFlight, and submits it to App Review with the listing you write in Hercules. Two things happen in App Store Connect by hand: creating the app record, and Apple’s App Privacy questionnaire.iOS publishing is in beta. If the Build iOS button says coming soon, use the manual steps at the bottom of this tab. Publish Your App on Hercules
Click Publish in the top right corner to get your app URL. Your iOS app loads this URL, so publish before you build.
Connect App Store Connect
You need an Apple Developer Program membership ($99/year).
- In App Store Connect, open Users and Access → Integrations → Team Keys and generate a key with the Admin role. Download the
.p8 file and note the Issuer ID and Key ID
- In Hercules, click Mobile → Publish to App Store, add the key as an App Store Connect credential, and attach it to your app
- Click Set up signing. Hercules registers your bundle ID and creates the distribution certificate and provisioning profile on your Apple account
The key must be a Team key. Individual keys cannot manage certificates and profiles.
Create the App in App Store Connect
Apple does not allow app records to be created through its API, so this step is manual.
- In App Store Connect, open My Apps, click +, and choose New App
- Select iOS, enter your app name and primary language, choose the bundle ID Hercules shows you, and enter any SKU
- Back in Hercules, click Check again. The step completes on its own once the record exists
Fill in the Store Listing
Click Fill in the listing and add:
- Description, keywords, and an optional subtitle
- Primary category, support URL, and privacy policy URL
- Screenshots for the 6.9”/6.7” iPhone (1320x2868 or 1290x2796 pixels). Turn on Also run on iPad only if you want iPad support; it then needs iPad screenshots too
- Age rating answers (the defaults describe an app with no mature content)
- App Review contact details, and a demo account if the app needs a sign-in
Hercules pushes the whole listing to App Store Connect on every submission, so edit it here rather than in App Store Connect. Build Your App
Click Build iOS. Hercules builds and signs the app on its Mac and uploads it to TestFlight. Processing on Apple’s side usually takes 10 to 30 minutes; the build shows In testing when it is ready.If your app uses the camera, open App settings, enter an iOS camera permission message, and save before building. Describe the specific use, such as “Scan QR codes to check in to events.” iOS shows this message when your app requests camera access; your users still choose whether to allow it.Leave the message blank to disable camera access in future builds. Changing it does not update queued or installed builds: create and install a new iOS build. This setting does not enable microphone or photo library access.To send push notifications to the iOS app, turn on iOS push notifications in App settings and save before building. The build then includes Apple’s push notification entitlement, and your app’s code can call window.Capacitor.Plugins.PushNotifications to ask for permission, register, and receive the device token from its registration event. With automatic signing, Hercules enables Push Notifications for your bundle ID in App Store Connect and replaces the provisioning profile on the next build. With uploaded signing, upload a provisioning profile created after enabling Push Notifications for the bundle ID in the Apple Developer portal, or the build fails with a message saying so.Apps built before you turn it on cannot receive notifications: create and install a new iOS build. Sending notifications also needs an APNs key from your Apple developer account, which you upload in App settings (see Send notifications to your iOS app). Submit for Review
Before the first submission, complete App Privacy in App Store Connect (Hercules links straight to it). Apple does not expose that questionnaire to the API.Then click Submit for review. Hercules syncs the listing and screenshots, sets the app as free in every territory if you have not chosen a price, attaches the build, answers the export compliance question, and hands the version to App Review. The build shows In review.
Go Live
App Review usually answers within a day or two. By default the version goes live automatically once approved. Choose Manually, when I choose in the listing’s release setting to get a Release now button instead.If Apple rejects the version, the reason appears on the build. Fix the listing or the app, then submit again; the same version is reused.
Apple may reject simple website wrappers. Make sure your app provides value beyond the website, such as push notifications, offline support, or native-feeling navigation.
Build iOS manually with PWA Builder
Use this if Hercules iOS builds are not available for your app yet.Generate iOS Package with PWA Builder
- Go to pwabuilder.com
- Enter your app URL (e.g.
https://your-app.onhercules.app or your custom domain)
- Click “Start”, then “Package for stores”
- Select “iOS” and download the Xcode project
Build & Test
- Open the Xcode project on your Mac
- Update Bundle Identifier and sign with your Apple account
- Build and test on simulator or device
Submit to App Store
- Go to App Store Connect
- Create app listing with screenshots and description
- Archive in Xcode and upload
- Submit for review (1-3 days)
Configure Your App Metadata
Configure your app’s name, icon, and description in the Mobile tab. Ask Hercules AI to edit these details if needed. Publish Your App on Hercules
Click “Publish” in the top right corner to get your App URL. Generate Windows Package with PWA Builder
- Go to pwabuilder.com
- Enter your app URL (e.g.
https://your-app.onhercules.app or your custom domain)
- Click “Start”, then “Package for stores”
- Select “Windows” and download the MSIX package
Submit to Microsoft Store
- Go to Microsoft Partner Center
- Click “Create a new app” and fill in details
- Upload the MSIX package
- Complete store listing and submit for review (1-3 days)
No app store required. Users install directly from your website.Configure Your App Metadata
Configure your app’s name, icon, and description in the Mobile tab. Ask Hercules AI to edit these details if needed. Publish Your App on Hercules
Click “Publish” in the top right corner to get your App URL. Your app is already a PWA by default. Add an Install Prompt (Optional)
Show a banner encouraging users to install. Ask Hercules:Hercules will create a prompt that detects mobile users and shows install instructions. How users install:
- iOS Safari: Tap Share → Add to Home Screen
- Android Chrome: Tap menu → Add to Home Screen (or automatic prompt)
How do I let my Android app use the camera or microphone?
Turn the permission on before you build. Click Mobile → App settings, switch on Camera or Microphone under Android device permissions, then build the Android app again and send that build to Google Play.
An Android app can only reach the camera or the microphone if the build declares the permission, so a page that works in Chrome shows nothing in the installed app until you do this. The phone still asks the person for the permission the first time your app uses it.
Turning a permission on changes nothing else about your app. The package name and the signing key
stay the same, so the new build goes out as an update to the app you already published. Builds
already on the store keep the permissions they were built with, which is why a rebuild is needed.
FAQ
Why was my iOS app rejected?
Common reasons: crashes/bugs, incomplete features, misleading descriptions, or being too similar to a website. Apple wants apps that provide value beyond what Safari offers. Add native features or unique functionality.
Why was my Android app rejected?
Common reasons: policy violations, inappropriate content, broken functionality, or missing privacy
policy. Google is generally more lenient with PWAs than Apple.
How long does review take?
- Google Play: Usually hours to 2 days
- App Store: Usually 1-3 days
- Microsoft Store: Usually 1-3 days
First submissions may take longer.Can I publish to multiple stores?
Yes. Each store needs its own package, but the underlying app is the same one. Hercules builds
your Android package. For other stores, use PWA Builder.
Why does my Android app show a browser address bar instead of running full screen?
This affects apps packaged manually with PWA Builder. Your Digital Asset Links file
(assetlinks.json) is missing, or does not match your signing key. See the Set Up Digital Asset
Links step in the manual section of the Google Play tab above. Apps built by Hercules run full
screen without this file.
Do I need to save my Android signing key?
Not for apps built by Hercules. Hercules creates the key, stores it securely, and reuses it for
every build.If you package manually with PWA Builder, save your signing key somewhere safe. Google will not
accept an update signed with a different key. You would have to publish as a new app with a new
package name, losing your existing users and reviews.
PWAs can cache content for offline use. Ask Hercules to set up a service worker to cache assets
and handle offline scenarios gracefully.
Why PWA instead of app stores?
PWAs are faster to ship (no review process), update instantly (no waiting for approval), work on all platforms, and don’t require developer accounts. PWAs are downloaded directly from the browser, as opposed to a store. You will have to create a PWA to create a mobile app anyway. We recommend testing with a PWA and then publishing to the app stores when you are ready.