Pre-Submission Checklist
Use this checklist before hitting “Submit for Review” on either store. Every item links to the relevant guide for details.
Account & setup
Section titled “Account & setup”- Google Play Developer account created and verified ($25 one-time fee) — Sign up
- Decided: personal or organization account — Organization accounts skip the 14-day closed testing requirement. If you have a registered business, use an organization account. More info
- AAB built in Primio — AAB is required for Google Play (not APK). Android Builds
- Custom app icon set — Replace the default template icon before building. Google rejects apps with default or placeholder icons. App Icon
- Tested on a real Android device — Install the APK on a physical device and walk through every screen. The web preview does not catch device-specific issues. Testing Guide
Store listing
Section titled “Store listing”- App name filled in (max 30 characters)
- Short description filled in (max 80 characters)
- Full description filled in (max 4,000 characters) — ASO guide
- Screenshots uploaded — At least 2 phone screenshots; recommended 4-8. Screenshot guide
- Feature graphic uploaded — 1024x500px banner image. Required for Google Play.
- App icon — 512x512px. Set automatically from your Primio project icon.
Compliance
Section titled “Compliance”- Privacy policy URL entered and working — Test in an incognito browser window. Privacy guide
- Privacy policy accessible inside the app — Settings screen with a working link
- Data Safety form completed — Policy → App content → Data safety. Declare all data your app collects including from SDKs like Firebase Analytics and AdMob. Data Safety walkthrough
- Content rating completed — Answer the IARC questionnaire under App content → Content rating. Content rating guide
- Pricing and distribution set — Free or paid, target countries selected
Testing (personal accounts only)
Section titled “Testing (personal accounts only)”- Closed testing track created with at least 12 testers who have opted in and installed the app
- 14 continuous days of closed testing completed
- Production access applied for after the testing period
Release
Section titled “Release”- Release notes written — Summarize what your app does for the first release
- AAB uploaded to the Production track (or promoted from testing)
Account & setup
Section titled “Account & setup”- Apple Developer Program membership active ($99/year) — Enroll. Enrollment can take 1-2 weeks for identity verification — start early.
- Mac available with Transporter installed — Required for uploading your IPA. No Windows alternative exists.
- App created in App Store Connect — Apps → + → New App. The Bundle ID must match your Primio project settings. iOS Builds
- IPA built in Primio — iOS Builds
- Custom app icon set — Replace the default template icon before building. App Icon
- IPA uploaded via Transporter — Drag the IPA into Transporter and click Deliver. Upload steps
- Build processed in App Store Connect — Wait 5-15 minutes after upload. Check TestFlight tab.
Testing
Section titled “Testing”- Tested on a real iOS device via TestFlight — Install via the TestFlight app and walk through every screen. Testing Guide
- All features working — Every screen loads, navigation works, no crashes
Store listing
Section titled “Store listing”- App name filled in (max 30 characters)
- Subtitle filled in (max 30 characters) — ASO guide
- Category selected (primary + optional secondary)
- Description filled in — ASO guide
- Keywords filled in (max 100 characters, comma-separated) — Keywords guide
- Screenshots uploaded — iPhone 6.7” required, 6.5” recommended. iPad if you support it. Screenshot guide
- Support URL entered and working
Compliance
Section titled “Compliance”- Privacy policy URL entered and working — Test in an incognito browser window. Privacy guide
- Privacy policy accessible inside the app — Settings screen with a working link
- App Privacy labels completed — App Store Connect → App Privacy. Declare all data types collected. App Privacy walkthrough
- Export compliance answered — Most Primio apps select “Yes, but qualifies for exemption” since Flutter uses standard HTTPS encryption. Export compliance
Before clicking Submit
Section titled “Before clicking Submit”- Demo credentials provided (if your app requires login) — Add a working test account and password in the “Notes for Review” field. Reviewers need to sign in and test all features.
- No placeholder content — Remove all “Lorem ipsum,” test data, “coming soon” labels, and placeholder images
- All links working — Privacy policy, support URL, any in-app external links
- Release option chosen — Manual (you control when it goes live) or Automatic (goes live after approval)
Top rejection reasons to double-check
Section titled “Top rejection reasons to double-check”These are the most common reasons first-time submissions get rejected. A quick pass through this list can save you days.
- Missing or broken privacy policy URL — Both stores. Test the link in an incognito window.
- App crashes — Both stores. Test on a real device, not just the web preview.
- Placeholder or test content — Apple especially. “Lorem ipsum,” default images, “TODO” text.
- Missing demo credentials — Apple. If your app has login, put test credentials in “Notes for Review.”
- App too simple — Apple Guideline 4.2. Single-screen apps or website wrappers get rejected. Your app needs multiple screens with meaningful interaction.
- Misleading metadata — Both stores. Your description, screenshots, and name must match what the app actually does.
- Missing Data Safety / App Privacy declarations — Both stores. You must complete these forms even if your app collects no data.
- Default or missing app icon — Google Play. You must set a custom icon that reflects your actual app.
Next steps
Section titled “Next steps”Once you’ve checked everything, follow the submission guide for your platform: