# Platform Requirements Reference Technical specifications and metadata requirements for Apple App Store and Google Play Store. --- ## Table of Contents - [Apple App Store Requirements](#apple-app-store-requirements) - [Google Play Store Requirements](#google-play-store-requirements) - [Visual Asset Specifications](#visual-asset-specifications) - [Localization Requirements](#localization-requirements) - [Compliance Guidelines](#compliance-guidelines) --- ## Apple App Store Requirements ### Metadata Character Limits | Field | Character Limit | Notes | |-------|----------------|-------| | App Name (Title) | 30 characters | Visible in search results | | Subtitle | 30 characters | iOS 11+ only, appears below title | | Promotional Text | 170 characters | Editable without app update | | Description | 4,000 characters | Not indexed for search | | Keywords Field | 100 characters | Comma-separated, no spaces after commas | | What's New | 4,000 characters | Release notes for updates | | Developer Name | 255 characters | Company or individual name | | Support URL | Required | Must be valid HTTPS URL | | Privacy Policy URL | Required | Must be valid HTTPS URL | ### Keyword Field Optimization Rules 1. **No duplicates** - Words in title are already indexed 2. **No plurals** - Apple indexes both singular and plural forms 3. **No spaces after commas** - Wastes character space 4. **No brand names** - Violates App Store guidelines 5. **No category names** - Already indexed via category selection **Example - Efficient keyword field:** ``` task,todo,checklist,reminder,productivity,organize,schedule,planner,goals,habit ``` **Example - Inefficient keyword field (avoid):** ``` task manager, todo list, productivity app, task tracking ``` ### App Store Connect Metadata Fields | Category | Field | Required | |----------|-------|----------| | **App Information** | Name | Yes | | | Subtitle | No | | | Category | Yes | | | Secondary Category | No | | | Content Rights | Yes | | | Age Rating | Yes | | **Version Information** | Description | Yes | | | Keywords | Yes | | | Promotional Text | No | | | What's New | Yes (for updates) | | | Support URL | Yes | | | Marketing URL | No | | **Pricing** | Price Tier | Yes | | | Availability | Yes | ### Age Rating Content Descriptors | Content Type | None | Infrequent | Frequent | |--------------|------|------------|----------| | Cartoon Violence | 4+ | 9+ | 12+ | | Realistic Violence | 9+ | 12+ | 17+ | | Sexual Content | 12+ | 17+ | 17+ | | Profanity | 4+ | 12+ | 17+ | | Alcohol/Drug Reference | 12+ | 17+ | 17+ | | Gambling | 12+ | 17+ | 17+ | | Horror/Fear | 9+ | 12+ | 17+ | --- ## Google Play Store Requirements ### Metadata Character Limits | Field | Character Limit | Notes | |-------|----------------|-------| | App Title | 50 characters | Increased from 30 in 2021 | | Short Description | 80 characters | Visible on store listing | | Full Description | 4,000 characters | Indexed for search keywords | | Developer Name | 64 characters | Organization or individual | | Developer Email | Required | Public support contact | | Privacy Policy URL | Required | Must be valid HTTPS URL | ### Description Keyword Strategy Google Play has no separate keyword field. Keywords are extracted from: 1. **App Title** - Highest weight, most important 2. **Short Description** - High weight, visible in search 3. **Full Description** - Medium weight, use naturally throughout 4. **Developer Name** - Low weight but indexed **Keyword Density Guidelines:** - Primary keyword: 2-3% density in full description - Secondary keywords: 1-2% each - Avoid keyword stuffing (>5% triggers spam detection) ### Google Play Console Metadata | Category | Field | Required | |----------|-------|----------| | **Store Listing** | Title | Yes | | | Short Description | Yes | | | Full Description | Yes | | | App Icon | Yes | | | Feature Graphic | Yes | | | Screenshots | Yes (min 2) | | | Video | No | | **Store Settings** | App Category | Yes | | | Tags | No | | | Contact Email | Yes | | | Privacy Policy | Yes | | **Content Rating** | IARC Questionnaire | Yes | ### Content Rating (IARC) | Rating | Age | Description | |--------|-----|-------------| | PEGI 3 / Everyone | 3+ | Suitable for all ages | | PEGI 7 / Everyone 10+ | 7+ | Mild violence, comic mischief | | PEGI 12 / Teen | 12+ | Moderate violence, mild language | | PEGI 16 / Mature 17+ | 16+ | Intense violence, strong language | | PEGI 18 / Adults Only | 18+ | Extreme content | --- ## Visual Asset Specifications ### App Icon Requirements **Apple App Store:** | Device | Size | Format | |--------|------|--------| | iPhone | 1024x1024 px | PNG, no alpha | | iPad | 1024x1024 px | PNG, no alpha | | App Store | 1024x1024 px | PNG, no alpha | | Spotlight | 120x120 px | PNG | | Settings | 87x87 px | PNG | **Google Play Store:** | Asset | Size | Format | |-------|------|--------| | App Icon | 512x512 px | PNG, 32-bit | | Feature Graphic | 1024x500 px | PNG or JPG | | Promo Graphic | 180x120 px | PNG or JPG | | TV Banner | 1280x720 px | PNG or JPG | ### Screenshot Requirements **Apple App Store:** | Device | Portrait | Landscape | |--------|----------|-----------| | iPhone 6.9" | 1320x2868 px | 2868x1320 px | | iPhone 6.5" | 1290x2796 px | 2796x1290 px | | iPhone 5.5" | 1242x2208 px | 2208x1242 px | | iPad Pro 12.9" | 2048x2732 px | 2732x2048 px | | iPad 10.5" | 1668x2224 px | 2224x1668 px | - Minimum: 2 screenshots per device - Maximum: 10 screenshots per device - Format: PNG or JPG, no alpha channel - First 3 screenshots are critical (most users don't scroll) **Google Play Store:** | Device | Dimensions | Notes | |--------|------------|-------| | Phone | 320-3840 px | Min 2:1 aspect ratio | | 7" Tablet | 320-3840 px | Min 2:1 aspect ratio | | 10" Tablet | 320-3840 px | Min 2:1 aspect ratio | | Chromebook | 320-3840 px | Optional | | TV | 320-3840 px | For TV apps only | - Minimum: 2 screenshots - Maximum: 8 screenshots - Format: PNG or JPG - No transparency or borders ### App Preview Video **Apple App Store:** - Duration: 15-30 seconds - Resolution: Match device screenshot size - Format: M4V, MP4, MOV - Frame rate: 30 fps - Audio: Optional but recommended **Google Play Store:** - YouTube video link only - No duration limit (recommend under 2 minutes) - Landscape orientation preferred - Must not contain age-restricted content --- ## Localization Requirements ### Priority Markets by Revenue | Rank | Market | Language Code | |------|--------|---------------| | 1 | United States | en-US | | 2 | Japan | ja | | 3 | United Kingdom | en-GB | | 4 | Germany | de-DE | | 5 | China | zh-Hans (iOS), zh-CN (Android) | | 6 | South Korea | ko | | 7 | France | fr-FR | | 8 | Canada | en-CA, fr-CA | | 9 | Australia | en-AU | | 10 | Russia | ru | ### Apple App Store Localization Supported localizations: 40+ languages | Language | Locale Code | |----------|-------------| | English (US) | en-US | | English (UK) | en-GB | | Spanish | es-ES | | Spanish (Mexico) | es-MX | | French | fr-FR | | German | de-DE | | Japanese | ja | | Korean | ko | | Simplified Chinese | zh-Hans | | Traditional Chinese | zh-Hant | ### Google Play Store Localization Supported localizations: 75+ languages Each locale requires: - Title (50 chars) - Short description (80 chars) - Full description (4,000 chars) - Screenshots (can reuse or localize) --- ## Compliance Guidelines ### Apple App Store Review Guidelines Summary | Category | Key Requirements | |----------|------------------| | **Safety** | No objectionable content, privacy protection | | **Performance** | App must work as described, no crashes | | **Business** | Accurate app description, clear pricing | | **Design** | Follow Human Interface Guidelines | | **Legal** | Comply with local laws, proper licensing | **Common Rejection Reasons:** 1. Bugs and crashes (50%+ of rejections) 2. Broken links or placeholder content 3. Misleading app descriptions 4. Privacy policy missing or incomplete 5. In-app purchase issues ### Google Play Developer Policies | Policy Area | Requirements | |-------------|--------------| | **Restricted Content** | No hate speech, violence, gambling (without license) | | **Privacy** | Data collection disclosure, privacy policy | | **Monetization** | Clear pricing, compliant IAPs | | **Ads** | No deceptive ads, proper disclosure | | **Store Listing** | Accurate description, no keyword stuffing | **Common Suspension Reasons:** 1. Policy violation (content, ads, permissions) 2. Repetitive content (clone apps) 3. Impersonation (fake apps) 4. Intellectual property infringement 5. Malicious behavior ### Privacy Requirements **Apple (App Tracking Transparency):** - ATT prompt required for tracking - Privacy nutrition labels mandatory - Data collection disclosure required **Google (Data Safety):** - Data safety section mandatory - Data collection and sharing disclosure - Security practices declaration --- ## Quick Reference Card ### Apple vs Google Comparison | Attribute | Apple App Store | Google Play Store | |-----------|-----------------|-------------------| | Title Length | 30 chars | 50 chars | | Subtitle | 30 chars | N/A | | Short Description | N/A | 80 chars | | Full Description | 4,000 chars | 4,000 chars | | Keywords Field | 100 chars | N/A (in description) | | Promotional Text | 170 chars | N/A | | Icon Size | 1024x1024 px | 512x512 px | | Min Screenshots | 2 | 2 | | Max Screenshots | 10 | 8 | | Review Time | 24-48 hours | 1-7 days | | Metadata Update | Requires review | 1-2 hours to index |