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:
-
Switch Platform:
- Go to
File > Build Settings - Select
iOSplatform - Click
Switch Platform
- Go to
-
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.0or higher - Set Target Device Family: iPhone, iPad, or Both
- Open
-
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)
-
Build:
- Click
Buildin Build Settings - Choose output folder
- Unity will create Xcode project
- Click
Xcode Configuration:
-
Open Xcode Project:
- Navigate to the generated Xcode project
- Open
.xcodeprojfile in Xcode
-
Configure Signing:
- Select project in Navigator
- Go to
Signing & Capabilitiestab - Select your Team (Apple Developer account)
- Ensure Automatically manage signing is enabled
-
Archive Build:
- Select
Any iOS Deviceas target - Go to
Product > Archive - Wait for archive to complete
- Archive will open in Organizer window
- Select
Android Build Preparation
Unity Build Settings for Android:
-
Switch Platform:
- Go to
File > Build Settings - Select
Androidplatform - Click
Switch Platform
- Go to
-
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)
- Open
-
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
- Go to
-
Build:
- Select
Build App Bundle (Google Play)for Play Store - Or
Build APKfor direct distribution - Click
Build - Choose output folder
- Select
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:
- Hook (First 1-2 sentences): Grab attention immediately
- Features (Bullet points): Key features and benefits
- Details: More information about gameplay
- 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:
- Go to developer.apple.com
- Sign in with Apple ID
- Enroll in Apple Developer Program
- Complete enrollment process (can take 24-48 hours)
- Accept agreements and configure account
App Store Connect Setup
Create App Record:
- Log in to appstoreconnect.apple.com
- Go to
My Apps>+button - Select
New App - 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:
- Open Organizer window (Window > Organizer)
- Select your archive
- Click
Distribute App - Select
App Store Connect - Choose distribution options
- Select signing options
- Upload build
- Wait for processing (can take 30-60 minutes)
Using Transporter App:
- Export archive from Xcode as
.ipafile - Open Transporter app
- Drag
.ipafile into Transporter - Sign in with Apple ID
- Click
Deliver - 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:
- Go to
App Storetab in App Store Connect - Select build to submit
- Answer export compliance questions
- Add review notes (optional but helpful)
- Add contact information
- 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:
- Go to play.google.com/console
- Sign in with Google account
- Accept Developer Distribution Agreement
- Pay one-time registration fee ($25)
- Complete account setup (can take a few hours)
Create App
Create App Record:
- Go to
All apps>Create app - 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:
- Go to
Production(orInternal testing/Closed testing) - Click
Create new release - Upload
.aabfile (Android App Bundle) - Add release notes
- Review release
- Click
Save(draft) orReview 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:
- Complete all required sections
- Review app information
- Click
Submit for review(Production track) - 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:
- Read Feedback Carefully: Understand exactly what was rejected
- Identify Issues: Determine what needs to be fixed
- Fix Problems: Address all issues mentioned
- Update App: Create new build with fixes
- Resubmit: Upload new build and resubmit
- 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:
- App Store Review Guidelines
- Google Play Policies
- Unity Mobile Publishing Guide
- App Store Optimization Best Practices
Ready to see your game in the app stores? Follow these steps carefully, and you'll be live in no time!