App preview video follows platform guidelines
Why it matters
App Store Connect rejects preview videos that exceed 30 seconds, show web-based content, include third-party service UIs rather than in-app captures, or contain licensed audio without distribution rights — all under Guideline 2.3 (Accurate Metadata). A rejected preview video blocks the entire submission, not just the video asset, so a 31-second clip or a screencast labelled marketing-promo.mp4 costs a full review cycle.
Severity rationale
Info because the preview video is optional; rejection only fires when a non-compliant video is actively submitted.
Remediation
Record directly from the device with Xcode's screen recording or QuickTime on a connected iPhone/iPad — not a screencast of a browser or a marketing animation. Keep the clip between 15 and 30 seconds, skip voiceover (Apple applies the app's own audio), and store the file at fastlane/screenshots/<locale>/preview.mp4 so it ships with the rest of the metadata. For Android, upload a YouTube URL through Play Console rather than a local file.
Detection
-
ID:
preview-video -
Severity:
info -
What to look for: Look for video files in
fastlane/screenshots/,store-assets/,assets/, or any directory — files with extensions.mp4,.mov,.m4v. Check for references to preview videos ineas.jsonor fastlane configuration. If a preview video is present, evaluate: (a) iOS App Preview: Must be 15-30 seconds; must show actual app UI (not animated marketing graphics); must be captured from a device running the app (not a screencast of a web demo); must include sound if sound is part of the app experience; file format must be H.264 or HEVC; resolution must match a supported device size (e.g., 886×1920 for 6.5" iPhone). (b) Google Play feature graphic: The Google Play feature graphic (feature_graphic.png) is a 1024×500 PNG used as the store banner — check for it infastlane/metadata/android/images/featureGraphic.pngor equivalent. If a preview video URL is referenced in Play metadata, note it as external (not stored in repo). The key compliance issue for iOS: app preview videos that show a third-party service, web browser, or marketing animation rather than actual in-app UI are rejected. Count all instances found and enumerate each. -
Pass criteria: No preview video is present (skip); or preview video is present, appears to show actual app UI, and is within length guidelines (15-30s for iOS); or video compliance cannot be assessed without playing the file. At least 1 implementation must be confirmed.
-
Fail criteria: Preview video file is present but is clearly longer than 30 seconds (file size alone suggests this); video filename suggests it is a marketing animation rather than an in-app capture (e.g.,
marketing-promo.mp4). -
Skip (N/A) when: No preview video files are found anywhere in the repository. (The video is optional on both platforms.)
-
Detail on fail:
"store-assets/preview-marketing-animation.mp4 filename suggests a marketing video rather than an in-app capture — App Store requires preview videos to show actual app UI". -
Remediation: Optional but high-value for conversion. If you add a preview video:
- For iOS: Record directly from the device using Xcode's screen recording or QuickTime. The video must be 15-30 seconds and show actual in-app UI.
- Do not add voiceover — Apple applies your app's audio automatically. If you add audio, it must be licensable for App Store distribution.
- For Android: Use the Play Console to upload a YouTube link rather than a local video file.
- Test that the video auto-plays without sound in search results — design accordingly.
Reference the relevant configuration in
package.jsonor thesrc/directory structure for implementation.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-metadata-listing·automated