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! 🎉