Google Play Store Deployment
This guide walks you through deploying your Android app to Google Play Store using WebF.
Prerequisites
Before you begin, make sure you have:
- ✅ A Google Play Console developer account ($25 one-time registration fee)
- ✅ Your app’s package name (e.g.,
com.yourcompany.appname) - ✅ An Android keystore file for signing your app
- ✅ A Google Play service account for automated uploads
Step 1: Create Package Name
Your package name is a unique identifier for your Android app. It cannot be changed after your first upload to Google Play.
Guidelines for Package Name
- Use reverse domain notation:
com.yourcompany.appname - Only lowercase letters, numbers, and underscores
- Must be unique across all apps on Google Play
- Cannot contain Java/Android reserved keywords
Example
com.example.mywebfapp⚠️ Important: Choose carefully! The package name cannot be changed after you upload your app to Google Play.
Step 2: Generate Android Keystore
A keystore file is required to digitally sign your Android app. All Android apps must be signed before they can be installed.
Generate Keystore Using keytool
keytool -genkey -v -keystore my-release-key.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias uploadInteractive Prompts
You’ll be asked to provide:
- Keystore password - Used to protect the keystore file
- Key password - Used to protect the specific key (can be same as keystore password)
- Distinguished name - Your name, organization, city, state, country
- Key alias - Name for this key (default:
upload)
Example Session
Enter keystore password: ********
Re-enter new password: ********
What is your first and last name?
[Unknown]: John Doe
What is the name of your organizational unit?
[Unknown]: Development
What is the name of your organization?
[Unknown]: My Company
What is the name of your City or Locality?
[Unknown]: San Francisco
What is the name of your State or Province?
[Unknown]: CA
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=John Doe, OU=Development, O=My Company, L=San Francisco, ST=CA, C=US correct?
[no]: yes
Generating 2,048 bit RSA key pair and self-signed certificate...What You’ll Get
my-release-key.jks- Your keystore file- Keystore password - Password you entered
- Key alias - Usually “upload”
- Key password - Password for the key
🔐 Critical: Store your keystore file and passwords securely! If you lose them, you won’t be able to update your app on Google Play.
Security Best Practices
- ✅ Store keystore in a secure location (not in version control)
- ✅ Use a strong password (at least 12 characters)
- ✅ Keep backup copies in multiple secure locations
- ✅ Never share your keystore file publicly
- ✅ Consider using a password manager for credentials
Step 3: Create Google Play Service Account
A service account allows automated uploads to Google Play Console without manual intervention.
3.1 Access Google Play Console
- Go to Google Play Console
- Select your app (or create a new one if this is your first time)
- Navigate to Setup → API access
3.2 Create Service Account
- Click “Create new service account”
- Follow the link to Google Cloud Console (opens in new tab)
- In Google Cloud Console, click ”+ CREATE SERVICE ACCOUNT”
- Fill in the details:
- Name:
webf-deployment(or your preferred name) - ID: Auto-generated
- Description: “Service account for automated app deployment”
- Name:
- Click “Create and Continue”
- Skip the optional permission steps (click “Continue” → “Done”)
3.3 Generate JSON Key
- In the service accounts list, find the account you just created
- Click the email address to open details
- Go to the “Keys” tab
- Click “Add Key” → “Create new key”
- Select “JSON” format
- Click “Create”
- The JSON file will download automatically - save this file securely
3.4 Grant Permissions in Google Play Console
- Return to Google Play Console API access page
- You should see your new service account in the list
- Click “Grant Access” next to the service account
- Select the following permissions:
- ✅ Release to production, exclude devices, and use Play App Signing
- ✅ View app information and download bulk reports (recommended)
- ✅ Manage Production releases
- ✅ Manage Testing track releases
- Click “Invite user”
- Click “Send invitation”
💡 Note: Your app must already exist in Google Play Console before you can use the API. If this is a new app, create it manually first through “Create app” in the console.
Step 4: Configure in WebF Platform
Now that you have all the required files and credentials, configure them in WebF:
4.1 Navigate to Project Settings
- Log in to your WebF account
- Go to your project
- Click on the “Publish Config” tab
- Select the “Android” tab
4.2 Upload Configuration
Fill in the following fields:
| Field | Value | Example |
|---|---|---|
| Package Name | Your app’s package name | com.example.mywebfapp |
| Keystore File | Upload your .jks or .keystore file | my-release-key.jks |
| Keystore Password | Password for the keystore | MySecurePass123 |
| Key Alias | Alias used when generating keystore | upload |
| Key Password | Password for the key | MySecurePass123 |
| Service Account JSON | Upload the JSON file from Step 3 | service-account.json |
4.3 Save Configuration
Click “Save Android Configuration” to save your settings.
Step 5: Create Your First Build
5.1 Navigate to Builds Tab
- In your project, click the “Builds” tab
- Click “New Build” button
5.2 Configure Build
-
Select Build Type:
App- For end-user appsSDK- For libraries (if applicable)Both- Build both versions
-
Select Platforms:
- ✅ Check Android
-
Configure Android Output Types:
- APK - For direct download and testing
- AAB (App Bundle) - Required for Google Play Store
- Select distribution method:
Google Play - Choose track:
internal,alpha,beta, orproduction
- Select distribution method:
-
Select WebF Version (use latest stable version)
-
Add any required Plugins
5.3 Start Build
Click “Create Build” to start the build process. You can monitor the progress in the Builds tab.
Step 6: Create App in Google Play Console
⚠️ Important - First Time Setup: Before WebF can automatically upload your app, you must first create the app manually in Google Play Console.
6.1 Create New App
- Go to Google Play Console
- Click “Create app”
- Fill in the required information:
- App name: Your app’s name (can be changed later)
- Default language: Select your language
- App or game: Select “App” or “Game”
- Free or paid: Select free or paid
- Accept the declarations
- Click “Create app”
6.2 Complete Store Listing (Optional for first upload)
You can complete the full store listing later, but for the first upload you need at least:
- App name
- Short description
- Full description
- App icon (512x512 PNG, cannot be transparent)
- Feature graphic (1024x500 PNG)
- At least 2 screenshots
💡 Tip: You can upload your first build to Internal Testing track without completing the full store listing.
Step 7: Monitor Build Progress
💡 Build Number Auto-Increment: WebF automatically increments the build number (versionCode) with each new build, so you don’t need to manage this manually.
Build Statuses
- 🔵 RUNNING - Build is in progress
- ✅ SUCCESS - Build completed successfully
- ⚠️ PARTIAL - Some targets succeeded, others failed
- ❌ FAILED - Build failed completely
View Build Details
- Click the “eye” icon next to a build to view details
- Check the Artifacts tab for downloadable files
- Review the Logs tab if there are errors
Step 8: Download or Publish
📝 Note: WebF uses Fastlane to automatically upload AAB files to Google Play when you select “Google Play” distribution. The upload happens in the background after the build completes.
For APK (Direct Download)
- Open the build details
- Go to Artifacts tab
- Click Download next to the APK file
- Install on your Android device for testing
For AAB (Google Play)
If you configured AAB with Google Play distribution:
- The build system automatically uploads to your selected track
- Go to Google Play Console
- Navigate to Release → Testing (or Production)
- You should see your new release
- Complete the release process:
- Add release notes
- Review and confirm
- Click “Start rollout”
Troubleshooting
Build Fails
Check the build logs for specific error messages:
Common issues:
- ❌ Invalid keystore password
- ❌ Incorrect key alias
- ❌ Package name mismatch
- ❌ Missing required plugin
Solution: Review your configuration and ensure all credentials are correct.
Upload to Google Play Fails
Possible causes:
- ❌ Service account lacks permissions
- ❌ App not created in Google Play Console
- ❌ Version code conflict (version already exists)
Solution:
- Verify service account has “Release” permissions
- Ensure your app exists in Google Play Console
- Check that version codes are incrementing
App Signing Issues
Error: “App not signed properly”
Solution:
- Verify keystore file is the same one used for previous uploads
- Check keystore and key passwords are correct
- Ensure key alias matches
Best Practices
Version Management
- ✅ Always increment
versionCodefor each release - ✅ Use semantic versioning for
versionName(e.g., 1.0.0, 1.0.1) - ✅ Keep track of version codes for each release
Testing Strategy
- Internal Testing - Test with your team (up to 100 testers)
- Closed Testing - Test with specific users (alpha/beta)
- Open Testing - Public beta testing
- Production - Full release to all users
Security
- 🔐 Never commit keystore files to version control
- 🔐 Store passwords in secure password manager
- 🔐 Limit service account permissions to minimum required
- 🔐 Regularly rotate service account keys
- 🔐 Enable two-factor authentication on Google account
Additional Resources
- Google Play Console
- Android App Signing Documentation
- Google Play Developer API
- Android App Bundle Guide
Next Steps
After your app is published:
- 📊 Monitor crash reports and ANRs in Play Console
- 🔔 Set up alerts for new reviews and ratings
- 📈 Track performance metrics and user acquisition
- 🚀 Plan your update and feature release schedule