Lesson 13: App Store Submission

Congratulations! Your mobile puzzle game has been tested, polished, and optimized. Now comes the final step: submitting your game to the app stores. This lesson will guide you through preparing your game for submission, navigating the review process, and successfully launching on both iOS App Store and Google Play Store.

What You'll Learn

  • Prepare your game for app store submission
  • Create compelling store listings and assets
  • Navigate iOS App Store submission process
  • Navigate Google Play Store submission process
  • Handle app store review and feedback
  • Troubleshoot common submission issues
  • Launch your game successfully

Prerequisites

  • Unity 2022.3 LTS or newer
  • Completed Lesson 12: Beta Testing & Feedback
  • Your mobile puzzle game ready for submission
  • Developer accounts for iOS and/or Android
  • Basic understanding of app store requirements

Why App Store Submission Matters

Getting your game into app stores is the gateway to reaching millions of players. However, the submission process can be complex and rejection can delay your launch. Understanding the requirements and process upfront saves time and frustration.

Key Benefits of Proper Submission:

  • Reach Millions: App stores are the primary distribution channel for mobile games
  • Credibility: Official app store presence builds trust with players
  • Discovery: App stores help players find your game
  • Monetization: Enable in-app purchases and subscriptions
  • Updates: Easy distribution of updates and new content

Common Submission Challenges:

  • Rejection: Apps can be rejected for various reasons
  • Review Time: Review process can take days or weeks
  • Requirements: Each platform has specific requirements
  • Documentation: Extensive documentation and assets needed

Step 1: Pre-Submission Checklist

Technical Requirements

iOS App Store Requirements:

  • [ ] App built with latest Xcode and iOS SDK
  • [ ] App supports required iOS versions (typically iOS 12+)
  • [ ] App tested on multiple iOS devices
  • [ ] App complies with App Store Review Guidelines
  • [ ] App has proper privacy policy and data handling
  • [ ] App uses required icons and launch screens
  • [ ] App has proper bundle identifier and version
  • [ ] App signed with valid provisioning profile

Google Play Store Requirements:

  • [ ] App built with latest Android SDK
  • [ ] App supports required Android versions (typically Android 5.0+)
  • [ ] App tested on multiple Android devices
  • [ ] App complies with Google Play Policies
  • [ ] App has proper privacy policy
  • [ ] App uses required icons and graphics
  • [ ] App has proper package name and version
  • [ ] App signed with release keystore

Content Requirements

Required Assets:

  • [ ] App icon (1024x1024 for iOS, 512x512 for Android)
  • [ ] Screenshots (multiple sizes for different devices)
  • [ ] App preview video (optional but recommended)
  • [ ] App description and marketing text
  • [ ] Privacy policy URL
  • [ ] Support URL
  • [ ] Age rating information
  • [ ] Category and tags

Legal and Compliance

Required Documentation:

  • [ ] Privacy policy (mandatory for both stores)
  • [ ] Terms of service (recommended)
  • [ ] Data collection disclosure
  • [ ] Age rating questionnaire completed
  • [ ] Export compliance information (iOS)
  • [ ] Content rating information (Android)

Step 2: Prepare Your Game Build

iOS Build Preparation

Unity Build Settings for iOS:

  1. Switch Platform:

    • Go to File > Build Settings
    • Select iOS platform
    • Click Switch Platform
  2. Player Settings:

    • Open Edit > Project Settings > Player
    • Set Bundle Identifier: com.yourcompany.yourgame (must be unique)
    • Set Version: 1.0.0 (increment for updates)
    • Set Build Number: 1 (increment for each build)
    • Set Minimum iOS Version: 12.0 or higher
    • Set Target Device Family: iPhone, iPad, or Both
  3. Signing and Capabilities:

    • Configure Signing Team (your Apple Developer account)
    • Enable required Capabilities (Push Notifications, In-App Purchase, etc.)
    • Set Provisioning Profile (Automatic or Manual)
  4. Build:

    • Click Build in Build Settings
    • Choose output folder
    • Unity will create Xcode project

Xcode Configuration:

  1. Open Xcode Project:

    • Navigate to the generated Xcode project
    • Open .xcodeproj file in Xcode
  2. Configure Signing:

    • Select project in Navigator
    • Go to Signing & Capabilities tab
    • Select your Team (Apple Developer account)
    • Ensure Automatically manage signing is enabled
  3. Archive Build:

    • Select Any iOS Device as target
    • Go to Product > Archive
    • Wait for archive to complete
    • Archive will open in Organizer window

Android Build Preparation

Unity Build Settings for Android:

  1. Switch Platform:

    • Go to File > Build Settings
    • Select Android platform
    • Click Switch Platform
  2. Player Settings:

    • Open Edit > Project Settings > Player
    • Set Package Name: com.yourcompany.yourgame (must be unique)
    • Set Version: 1 (increment for updates)
    • Set Version Code: 1 (increment for each build)
    • Set Minimum API Level: 21 (Android 5.0) or higher
    • Set Target API Level: Latest (recommended)
  3. Keystore Configuration:

    • Go to Publishing Settings
    • Create or select Keystore for signing
    • Important: Save keystore password securely (cannot recover if lost)
    • Set Alias and Password for key
  4. Build:

    • Select Build App Bundle (Google Play) for Play Store
    • Or Build APK for direct distribution
    • Click Build
    • Choose output folder

Build Configuration Example:

// Unity Editor Script for Automated Build
using UnityEditor;
using UnityEditor.Build.Reporting;
using System.IO;

public class BuildScript
{
    [MenuItem("Build/Build Android")]
    public static void BuildAndroid()
    {
        BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
        buildPlayerOptions.scenes = GetEnabledScenes();
        buildPlayerOptions.locationPathName = "Builds/Android/YourGame.aab";
        buildPlayerOptions.target = BuildTarget.Android;
        buildPlayerOptions.options = BuildOptions.None;

        BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions);
        BuildSummary summary = report.summary;

        if (summary.result == BuildResult.Succeeded)
        {
            Debug.Log("Build succeeded: " + summary.totalSize + " bytes");
        }
        else if (summary.result == BuildResult.Failed)
        {
            Debug.Log("Build failed");
        }
    }

    private static string[] GetEnabledScenes()
    {
        return EditorBuildSettings.scenes
            .Where(scene => scene.enabled)
            .Select(scene => scene.path)
            .ToArray();
    }
}

Step 3: Create Store Listing Assets

App Icon

iOS App Icon Requirements:

  • Size: 1024x1024 pixels
  • Format: PNG (no transparency)
  • Design: No rounded corners (iOS adds them automatically)
  • Content: Must represent your app accurately

Android App Icon Requirements:

  • Size: 512x512 pixels (Play Store)
  • Additional Sizes: 48x48, 72x72, 96x96, 144x144, 192x192 (for app)
  • Format: PNG (no transparency for Play Store)
  • Design: Can have transparency in app, but solid for store

Icon Design Tips:

  • Keep design simple and recognizable at small sizes
  • Use high contrast colors
  • Avoid text (may be unreadable at small sizes)
  • Test icon at various sizes
  • Ensure icon represents your game accurately

Screenshots

iOS Screenshot Requirements:

  • iPhone: 6.5" display (1242x2688) or 5.5" display (1242x2208)
  • iPad: 12.9" display (2048x2732) or 11" display (1668x2388)
  • Format: PNG or JPEG
  • Quantity: At least 1, up to 10 per device type
  • Content: Must show actual gameplay

Android Screenshot Requirements:

  • Phone: At least 2, up to 8 screenshots
  • Tablet: At least 2, up to 8 screenshots (optional)
  • Size: Minimum 320px, maximum 3840px (longest side)
  • Format: PNG or JPEG (24-bit color)
  • Aspect Ratio: 16:9 or 9:16 recommended

Screenshot Best Practices:

  • Show your best gameplay moments
  • Include UI elements to show game features
  • Use first screenshot to make strong first impression
  • Show variety of levels or features
  • Add text overlays to highlight key features (optional)
  • Ensure screenshots are high quality and clear

App Preview Video (Optional but Recommended)

iOS App Preview Requirements:

  • Duration: 15-30 seconds
  • Format: MOV or MP4
  • Resolution: Match device screenshot requirements
  • Content: Must show actual gameplay (no marketing videos)

Android Promo Video Requirements:

  • Duration: Up to 2 minutes
  • Format: YouTube URL or video file
  • Content: Can be gameplay or marketing video

Video Tips:

  • Start with your strongest gameplay moment
  • Show variety of features
  • Keep it engaging and fast-paced
  • Add captions for silent viewing
  • Highlight unique selling points

Step 4: Write Store Listing Content

App Name

Requirements:

  • iOS: Up to 30 characters (displayed name)
  • Android: Up to 50 characters
  • Best Practices:
    • Keep it short and memorable
    • Include relevant keywords if possible
    • Make it unique and brandable

Examples:

  • Good: "Puzzle Quest Adventure"
  • Bad: "My Awesome Puzzle Game That Is Really Fun and You Should Play It"

Subtitle (iOS Only)

Requirements:

  • Up to 30 characters
  • Appears below app name
  • Use for additional keywords or description

Example:

  • App Name: "Puzzle Quest"
  • Subtitle: "Brain Teasers & Challenges"

Description

Structure:

  1. Hook (First 1-2 sentences): Grab attention immediately
  2. Features (Bullet points): Key features and benefits
  3. Details: More information about gameplay
  4. Call to Action: Encourage download

iOS Description:

  • Up to 4,000 characters
  • First 170 characters are most important (shown in search)
  • Use line breaks for readability

Android Description:

  • Up to 4,000 characters
  • First 80 characters shown in search results
  • Use HTML formatting for emphasis

Example Description:

Challenge your mind with Puzzle Quest Adventure, the ultimate brain-teasing experience!

FEATURES:
• 500+ unique puzzles across multiple difficulty levels
• Daily challenges and special events
• Beautiful, hand-crafted artwork
• Smooth, intuitive touch controls
• Compete with friends on leaderboards
• Unlock achievements and rewards

DETAILS:
Puzzle Quest Adventure combines classic puzzle mechanics with modern design. Each level is carefully crafted to provide the perfect balance of challenge and satisfaction. Whether you're a puzzle novice or a master solver, you'll find hours of engaging gameplay.

With regular updates and new content, Puzzle Quest Adventure keeps the fun going. Join millions of players worldwide and start your puzzle-solving journey today!

Download now and see why Puzzle Quest Adventure is the #1 puzzle game!

Keywords (iOS Only)

Requirements:

  • Up to 100 characters total
  • Separate keywords with commas
  • No spaces after commas
  • Use relevant, high-traffic keywords

Example:

puzzle,game,brain,challenge,mind,logic,strategy,casual

Category and Tags

iOS Categories:

  • Primary category: Games > Puzzle
  • Secondary category (optional): Games > Strategy

Android Categories:

  • Primary category: Games > Puzzle
  • Tags: puzzle, brain, challenge, casual, strategy

Step 5: iOS App Store Submission

Apple Developer Account Setup

Requirements:

  • Apple Developer Program Membership: $99/year
  • Apple ID: Personal or organization account
  • Legal Entity: Individual or company information

Setup Steps:

  1. Go to developer.apple.com
  2. Sign in with Apple ID
  3. Enroll in Apple Developer Program
  4. Complete enrollment process (can take 24-48 hours)
  5. Accept agreements and configure account

App Store Connect Setup

Create App Record:

  1. Log in to appstoreconnect.apple.com
  2. Go to My Apps > + button
  3. Select New App
  4. Fill in app information:
    • Platform: iOS
    • Name: Your app name
    • Primary Language: English (or your language)
    • Bundle ID: Select from your developer account
    • SKU: Unique identifier (e.g., yourgame-ios-001)
    • User Access: Full Access or App Manager

Upload Build

Using Xcode:

  1. Open Organizer window (Window > Organizer)
  2. Select your archive
  3. Click Distribute App
  4. Select App Store Connect
  5. Choose distribution options
  6. Select signing options
  7. Upload build
  8. Wait for processing (can take 30-60 minutes)

Using Transporter App:

  1. Export archive from Xcode as .ipa file
  2. Open Transporter app
  3. Drag .ipa file into Transporter
  4. Sign in with Apple ID
  5. Click Deliver
  6. Wait for upload and processing

Complete App Information

App Information Tab:

  • App name and subtitle
  • Category and subcategory
  • Age rating (complete questionnaire)
  • Copyright information
  • Support URL
  • Marketing URL (optional)

Pricing and Availability:

  • Set price (Free or Paid)
  • Select countries/regions
  • Set availability dates

App Privacy:

  • Complete privacy questionnaire
  • Provide privacy policy URL
  • Disclose data collection practices

Submit for Review

Before Submitting:

  • [ ] All required information completed
  • [ ] Build uploaded and processed
  • [ ] Screenshots uploaded
  • [ ] Description and metadata complete
  • [ ] Age rating completed
  • [ ] Privacy information provided
  • [ ] App tested and working correctly

Submission Steps:

  1. Go to App Store tab in App Store Connect
  2. Select build to submit
  3. Answer export compliance questions
  4. Add review notes (optional but helpful)
  5. Add contact information
  6. Click Submit for Review

Review Process:

  • Initial Review: 24-48 hours typically
  • Status Updates: Check App Store Connect for updates
  • Possible Outcomes:
    • Approved: App goes live (can take additional 24 hours)
    • Rejected: Review feedback provided, fix issues and resubmit
    • In Review: Still being reviewed

Step 6: Google Play Store Submission

Google Play Developer Account Setup

Requirements:

  • Google Play Developer Account: $25 one-time fee
  • Google Account: Personal or organization account
  • Payment Profile: For app sales and subscriptions

Setup Steps:

  1. Go to play.google.com/console
  2. Sign in with Google account
  3. Accept Developer Distribution Agreement
  4. Pay one-time registration fee ($25)
  5. Complete account setup (can take a few hours)

Create App

Create App Record:

  1. Go to All apps > Create app
  2. Fill in app information:
    • App name: Your game name
    • Default language: English (or your language)
    • App or game: Game
    • Free or paid: Free or Paid
    • Declarations: Accept policies

Upload App Bundle

Upload Process:

  1. Go to Production (or Internal testing / Closed testing)
  2. Click Create new release
  3. Upload .aab file (Android App Bundle)
  4. Add release notes
  5. Review release
  6. Click Save (draft) or Review release (to publish)

Release Tracks:

  • Internal testing: Test with up to 100 testers
  • Closed testing: Test with specific groups
  • Open testing: Public beta testing
  • Production: Public release

Complete Store Listing

Main Store Listing:

  • App name and short description (80 characters)
  • Full description (4,000 characters)
  • Graphics: Icon, screenshots, feature graphic
  • Categorization: Category and tags
  • Contact details: Email, phone, website

Content Rating:

  • Complete content rating questionnaire
  • Answer questions about app content
  • Receive rating (Everyone, Teen, Mature, etc.)

Pricing and Distribution:

  • Set price (Free or Paid)
  • Select countries/regions
  • Set content guidelines compliance

Submit for Review

Before Submitting:

  • [ ] App bundle uploaded
  • [ ] Store listing complete
  • [ ] Graphics uploaded
  • [ ] Content rating completed
  • [ ] Privacy policy provided
  • [ ] App tested and working

Submission Steps:

  1. Complete all required sections
  2. Review app information
  3. Click Submit for review (Production track)
  4. Wait for review (typically 1-3 days)

Review Process:

  • Initial Review: 1-3 days typically
  • Status: Check Play Console for updates
  • Possible Outcomes:
    • Published: App goes live
    • Rejected: Feedback provided, fix and resubmit
    • Pending: Still under review

Step 7: Handle Review Feedback

Common Rejection Reasons

iOS App Store:

  • Guideline Violations: App doesn't comply with App Store Review Guidelines
  • Crashes or Bugs: App crashes or has critical bugs
  • Incomplete Information: Missing required information or assets
  • Misleading Content: App description doesn't match functionality
  • Privacy Issues: Privacy policy missing or inadequate

Google Play Store:

  • Policy Violations: App violates Google Play Policies
  • Technical Issues: App crashes or doesn't function properly
  • Content Issues: Inappropriate content or misleading information
  • Security Issues: Security vulnerabilities detected
  • Metadata Issues: Incomplete or inaccurate store listing

Responding to Rejections

Steps to Take:

  1. Read Feedback Carefully: Understand exactly what was rejected
  2. Identify Issues: Determine what needs to be fixed
  3. Fix Problems: Address all issues mentioned
  4. Update App: Create new build with fixes
  5. Resubmit: Upload new build and resubmit
  6. Add Notes: Provide explanation of fixes in review notes

Review Notes Example:

Thank you for the review feedback. We have addressed the following issues:

1. Fixed crash on iOS 12 devices (updated to latest Unity version)
2. Added missing privacy policy URL
3. Updated app description to accurately reflect features
4. Removed misleading screenshots

The app has been tested on multiple devices and is now ready for review.

Appeal Process

If You Disagree with Rejection:

  • iOS: Use App Review Board (for guideline interpretation issues)
  • Android: Use Play Console support to appeal
  • Provide Evidence: Explain why you believe rejection was incorrect
  • Be Professional: Maintain respectful communication

Step 8: Launch Your Game

Pre-Launch Checklist

Final Checks:

  • [ ] App approved and live in stores
  • [ ] Store listings are accurate and complete
  • [ ] Analytics and crash reporting configured
  • [ ] Support channels ready (email, website)
  • [ ] Marketing materials prepared
  • [ ] Social media accounts ready
  • [ ] Press kit prepared (if applicable)
  • [ ] Launch announcement ready

Launch Strategy

Soft Launch:

  • Release in limited countries first
  • Monitor performance and feedback
  • Fix any critical issues
  • Expand to more countries gradually

Global Launch:

  • Release worldwide simultaneously
  • Maximum visibility and impact
  • Requires thorough testing beforehand
  • Higher risk if issues arise

Post-Launch Monitoring

Key Metrics to Track:

  • Downloads: Number of installs
  • Ratings: Average rating and review count
  • Retention: Day 1, Day 7, Day 30 retention
  • Crashes: Crash rate and stability
  • Performance: Load times, frame rate
  • Revenue: IAP conversions, ad revenue

Tools:

  • App Store Connect Analytics: iOS metrics
  • Google Play Console: Android metrics
  • Firebase Analytics: Cross-platform analytics
  • Crashlytics: Crash reporting
  • Custom Analytics: Your own tracking

Common Submission Issues and Solutions

Issue: Build Rejected for Crashes

Problem: App crashes during review.

Solutions:

  • Test on multiple devices and OS versions
  • Use crash reporting to identify issues
  • Fix all known bugs before submission
  • Test thoroughly with beta testers
  • Use automated testing tools

Issue: Missing Privacy Policy

Problem: App rejected for missing privacy policy.

Solutions:

  • Create privacy policy (use templates if needed)
  • Host policy on accessible URL
  • Include policy URL in app store listing
  • Ensure policy covers all data collection
  • Update policy as needed

Issue: Misleading Screenshots

Problem: Screenshots don't match actual gameplay.

Solutions:

  • Use actual gameplay screenshots only
  • Ensure screenshots show current version
  • Don't use concept art or mockups
  • Update screenshots with app updates
  • Follow platform-specific guidelines

Issue: Incomplete Store Listing

Problem: Missing required information.

Solutions:

  • Complete all required fields
  • Provide accurate descriptions
  • Upload all required graphics
  • Include support contact information
  • Review platform-specific requirements

Best Practices

Preparation

  • Start Early: Begin submission process well before launch date
  • Test Thoroughly: Test on multiple devices and OS versions
  • Read Guidelines: Familiarize yourself with store guidelines
  • Prepare Assets: Have all graphics and content ready
  • Document Everything: Keep records of builds and changes

Submission

  • Follow Instructions: Read and follow all submission steps carefully
  • Be Accurate: Ensure all information is accurate and up-to-date
  • Provide Context: Add helpful notes in review comments
  • Be Patient: Review process takes time
  • Monitor Status: Check submission status regularly

Post-Submission

  • Respond Quickly: Address review feedback promptly
  • Monitor Performance: Track metrics and user feedback
  • Update Regularly: Keep app updated with fixes and improvements
  • Engage Users: Respond to reviews and feedback
  • Iterate: Use data to improve app continuously

Next Steps

You've successfully submitted your game to the app stores! In the next lesson, Lesson 14: Marketing & User Acquisition, you'll learn how to promote your game, acquire users, and build a sustainable player base after launch.

Practice Exercise:

  • Create app store listing assets (icon, screenshots, description)
  • Set up developer accounts for iOS and/or Android
  • Prepare and upload a test build to app stores
  • Complete store listing information
  • Submit app for review (or prepare for submission)

Related Resources:


Ready to see your game in the app stores? Follow these steps carefully, and you'll be live in no time!