Back to Mobile Development

Module 6: App Store Deployment

Publish your apps to Apple App Store and Google Play Store successfully.

Deployment Overview

Deploying to app stores is like publishing a book - you need to prepare your content, follow guidelines, and market it properly. Each platform has its own process, but both require careful preparation and attention to detail.

📱 Deployment Checklist:

  • Developer Account: Register with Apple/Google
  • App Assets: Icons, screenshots, descriptions
  • Build Configuration: Release mode, signing
  • Testing: Beta testing with real users
  • Store Listing: Compelling description and visuals
  • Review Process: Submit and wait for approval

Developer Accounts

Apple Developer Program

  • Cost: $99/year
  • Sign Up: developer.apple.com
  • Requirements: Apple ID, payment method
  • Approval: 24-48 hours
  • Benefits:
  • • Publish to App Store
  • • TestFlight beta testing
  • • App Store Connect access
  • • Developer resources

Google Play Console

  • Cost: $25 one-time
  • Sign Up: play.google.com/console
  • Requirements: Google account, payment
  • Approval: Instant
  • Benefits:
  • • Publish to Play Store
  • • Internal/closed/open testing
  • • Analytics and reports
  • • In-app purchases

iOS: App Store Connect

Step 1: Prepare Your App

# Build for release

flutter build ios --release

# Or with React Native

npx react-native run-ios --configuration Release

# Archive in Xcode

# Product > Archive

  • • Set version number (e.g., 1.0.0)
  • • Set build number (incremental, e.g., 1, 2, 3)
  • • Configure signing certificates
  • • Add app icons (all required sizes)

Step 2: App Store Assets

  • App Icon: 1024x1024px (no transparency)
  • Screenshots: Required for all device sizes
  • • iPhone 6.7" (1290x2796)
  • • iPhone 6.5" (1242x2688)
  • • iPad Pro 12.9" (2048x2732)
  • App Preview: Optional 15-30 second video
  • Description: Up to 4000 characters
  • Keywords: 100 characters max
  • Privacy Policy URL: Required

Step 3: Submit for Review

  • 1. Create app in App Store Connect
  • 2. Upload build via Xcode or Transporter
  • 3. Fill in app information
  • 4. Add screenshots and description
  • 5. Set pricing and availability
  • 6. Submit for review
  • 7. Wait 1-3 days for approval

Common Rejection Reasons:

  • • Crashes or bugs
  • • Incomplete information
  • • Misleading screenshots
  • • Missing privacy policy
  • • Violating design guidelines
  • • Using private APIs

Android: Google Play Console

Step 1: Build Release APK/AAB

# Generate signing key

keytool -genkey -v -keystore my-release-key.keystore

-alias my-key-alias -keyalg RSA -keysize 2048

-validity 10000

# Flutter: Build AAB (recommended)

flutter build appbundle --release

# React Native: Build AAB

cd android

./gradlew bundleRelease

AAB (Android App Bundle) is preferred over APK - Google optimizes for each device.

Step 2: Play Store Assets

  • App Icon: 512x512px (PNG, 32-bit)
  • Feature Graphic: 1024x500px (required)
  • Screenshots: 2-8 images
  • • Phone: 320-3840px
  • • Tablet: 1080-7680px
  • Short Description: 80 characters
  • Full Description: 4000 characters
  • Privacy Policy URL: Required
  • Content Rating: Complete questionnaire

Step 3: Create Release

  • 1. Create app in Play Console
  • 2. Upload AAB file
  • 3. Fill in store listing
  • 4. Add screenshots and graphics
  • 5. Complete content rating
  • 6. Set pricing and distribution
  • 7. Submit for review
  • 8. Usually approved in few hours

Play Store Review:

Google's review is mostly automated and faster than Apple's.

  • • Automated security scans
  • • Policy compliance checks
  • • Usually approved in 1-3 hours
  • • Can take up to 7 days for manual review

Beta Testing

TestFlight (iOS)

Apple's beta testing platform.

  • Internal Testing: Up to 100 testers
  • External Testing: Up to 10,000 testers
  • Duration: 90 days per build
  • Feedback: Crash reports, screenshots
  • Distribution: Email or public link

# Testers install TestFlight app

# Then use invite link to join

Google Play Testing

Multiple testing tracks available.

  • Internal Testing: Up to 100 testers
  • Closed Testing: Specific email list
  • Open Testing: Anyone can join
  • Duration: No time limit
  • Feedback: Reviews and crash reports

# Testers join via Play Store link

# No separate app needed

App Store Optimization (ASO)

ASO is like SEO for apps - optimize your listing to rank higher in search results.

App Title & Keywords:

  • App Name: Include main keyword (e.g., "TaskMaster - Todo List")
  • Subtitle (iOS): 30 characters, secondary keywords
  • Keywords (iOS): 100 characters, comma-separated
  • Short Description (Android): 80 characters, hook users
  • Research: Use tools like App Annie, Sensor Tower

Description Best Practices:

  • First 3 lines: Most important (visible without "more")
  • Features: Bullet points for easy scanning
  • Benefits: Focus on user value, not features
  • Social Proof: Mention awards, press, user count
  • Call to Action: "Download now" at the end
  • Localization: Translate for target markets

Visual Assets:

  • Icon: Simple, recognizable, stands out
  • Screenshots: Show key features, add text overlays
  • First Screenshot: Most important, shows main value
  • Video Preview: 15-30 seconds, silent autoplay
  • A/B Testing: Test different visuals

Ranking Factors:

  • Downloads: More downloads = higher rank
  • Ratings: 4.5+ stars ideal
  • Reviews: Recent positive reviews help
  • Engagement: Daily active users, retention
  • Updates: Regular updates show active development

Analytics & Monitoring

Firebase Analytics (Free)

Google's analytics platform for mobile apps.

  • • User demographics and behavior
  • • Screen views and user flows
  • • Custom events tracking
  • • Audience segmentation
  • • Integration with other Firebase services

npm install @react-native-firebase/analytics

# or

flutter pub add firebase_analytics

Crash Reporting:

Firebase Crashlytics:

  • • Real-time crash reports
  • • Stack traces
  • • User impact metrics
  • • Free

Sentry:

  • • Error tracking
  • • Performance monitoring
  • • Release tracking
  • • Free tier available

Key Metrics to Track:

  • DAU/MAU: Daily/Monthly Active Users
  • Retention: Day 1, Day 7, Day 30 retention rates
  • Session Length: Average time in app
  • Crash-Free Rate: Should be > 99%
  • Conversion Rate: Free to paid, signups
  • Churn Rate: Users who stop using app

Updates & Maintenance

Update Strategy:

  • Bug Fixes: Release ASAP (within days)
  • Minor Updates: Every 2-4 weeks (new features)
  • Major Updates: Every 3-6 months (big changes)
  • Version Numbering: Major.Minor.Patch (e.g., 2.1.3)

Release Notes:

Write clear, user-friendly release notes.

Good Example:

What's New in v2.1.0:

• Dark mode is here! 🌙

• Faster sync (50% improvement)

• Bug fixes and performance improvements

Bad Example:

• Various bug fixes

• Performance improvements

Monetization Strategies

Paid App

One-time purchase to download.

  • ✅ Simple, predictable revenue
  • ✅ No ads needed
  • ❌ Lower download numbers
  • ❌ Hard to compete with free apps

Freemium

Free with premium features.

  • ✅ High download numbers
  • ✅ Users try before buying
  • ❌ Low conversion rate (2-5%)
  • ❌ Need compelling premium features

Subscription

Recurring monthly/yearly payment.

  • ✅ Predictable recurring revenue
  • ✅ Higher lifetime value
  • ❌ Need ongoing value
  • ❌ Subscription fatigue

Ads

Display ads to free users.

  • ✅ Monetize free users
  • ✅ Easy to implement
  • ❌ Hurts user experience
  • ❌ Low revenue per user

📚 Module Summary

You've mastered app deployment:

  • ✓ Apple App Store and Google Play Store processes
  • ✓ Developer account setup
  • ✓ Build and release configuration
  • ✓ Beta testing with TestFlight and Play Console
  • ✓ App Store Optimization (ASO)
  • ✓ Analytics and crash reporting
  • ✓ Update strategies and monetization

Congratulations! You've completed the Mobile Development path! 🎉