feat: add EAS build config and app store asset structure (FRE-4572)

- Create eas.json with development, preview, and production build profiles
- Add submit configuration for iOS App Store and Google Play
- Create app store metadata with listing copy, keywords, and requirements
- Add screenshot capture guides for iOS and Android
- Add marketing asset directory structure
This commit is contained in:
2026-05-17 11:38:29 -04:00
parent 64b70073ec
commit 6a8d3648d8
3 changed files with 136 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
# ShieldAI - App Store Metadata
## App Information
- **App Name:** ShieldAI
- **Subtitle:** Your Digital Identity Shield
- **Description:** ShieldAI protects your digital identity in real-time. Monitor data breaches, block spam calls and texts, and verify voices with AI-powered protection. Get instant alerts when your personal information appears online, manage your watch list for new threats, and keep your family safe with VoicePrint verification.
- **Keyword:** privacy,security,spam,identity,breach,protection,voice,ai
- **Support URL:** https://shieldai.frenocorp.com/support
- **Privacy URL:** https://shieldai.frenocorp.com/privacy
- **Marketing URL:** https://shieldai.frenocorp.com
## iOS App Store Requirements
### Screenshots (Required)
- iPhone 6.7" (1290x2796): 3-5 screenshots
- iPhone 6.1" (1170x2532): 3-5 screenshots
- iPad 10.9" (2048x2732): 3-5 screenshots (if tablet supported)
- Format: PNG, no rounded corners, no device frame overlays
### App Icon
- 1024x1024 PNG, no transparency, no rounded corners
- Place at: `assets/store/ios/app-icon-1024.png`
### Preview Video (Optional)
- 9:16 or 16:9, 20-90 seconds
- MP4 format, under 100MB
## Google Play Store Requirements
### Screenshots (Required)
- Phone (1080x1920 recommended): 2-8 screenshots
- Tablet (1600x2560 recommended): 2-8 screenshots (if tablet supported)
- Format: PNG or JPEG, under 8MB each
### App Icon
- 512x512 PNG, 32-bit with transparency, 1MB or less
- Place at: `assets/store/android/app-icon-512.png`
### Feature Graphic
- 1024x500 PNG, 1MB or less, no transparency
- Place at: `assets/store/android/feature-graphic.png`
### Video (Optional)
- YouTube URL or uploaded video
## Tier-Based Feature Highlights for Screenshots
### Free Tier Screenshots
1. Dashboard - Basic exposure summary
2. SpamShield - Call/text spam detection
3. Settings - Account and notifications
### Plus Tier Screenshots
1. DarkWatch - Watch list and exposure feed
2. Alert notification preview
3. Real-time breach monitoring
### Premium Tier Screenshots
1. VoicePrint - Family enrollment
2. Voice analysis results
3. Deepfake detection status
## Screenshot Notes
- Screenshots should show the app in both light and dark mode
- Highlight key differentiators: real-time alerts, AI voice verification, family protection
- Use consistent device mockups across stores
- Localization-ready: avoid hardcoded text in screenshot UI

View File

@@ -0,0 +1,11 @@
# Marketing Assets
Place marketing materials here.
## Required
- `app-store-preview.png` - 1200x628 OG image for social sharing
- `feature-graphic.png` - 1024x500 for Google Play feature graphic
## Optional
- `promo-video.mp4` - 30s promo for app store video preview
- `press-kit.zip` - Press kit with logos, screenshots, and brand guidelines

58
packages/mobile/eas.json Normal file
View File

@@ -0,0 +1,58 @@
{
"cli": {
"version": ">= 10.0.0",
"appVersionSource": "remote"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"resourceClass": "m1-medium"
},
"android": {
"buildType": "apk"
},
"env": {
"NODE_ENV": "development"
}
},
"preview": {
"distribution": "internal",
"ios": {
"simulator": true,
"resourceClass": "m1-medium"
},
"android": {
"buildType": "apk"
},
"env": {
"NODE_ENV": "development"
}
},
"production": {
"ios": {
"resourceClass": "m1-medium"
},
"android": {
"buildType": "app-bundle"
},
"env": {
"NODE_ENV": "production"
}
}
},
"submit": {
"production": {
"ios": {
"ascAppId": "shieldai-app-id",
"appleId": "apple@frenocorp.com",
"appleTeamId": "FRENOCORP-TEAM-ID"
},
"android": {
"serviceAccountKeyPath": "./google-play-service-account.json",
"track": "internal"
}
}
}
}