Vertix — portrait-mode short-video app (Expo + TypeScript)
Quick start
Install dependencies:
npm install
# or
yarnRun in development:
npx expo startEAS builds:
eas build --platform ios
eas build --platform androidWhat I scaffolded:
- Basic Expo + TypeScript project files
srcfolder with a minimalFeedscreen andVideoPlayerusingexpo-av
Next steps I can implement:
- Full feed preloading, FlashList integration
- Auth flows and secure token storage
- Server reward endpoints and DRM license server
Native ad SDKs
Native Ad SDK integration (AdMob / AppLovin)
- This project includes a dynamic adapter at
src/services/nativeAdAdapter.tswhich will try to usereact-native-google-mobile-adsandreact-native-applovin-maxwhen present, falling back to the simulated flow during development. - To enable real native SDKs you must build a custom development client or bare workflow with EAS and install the native dependencies. Example steps:
- Install native SDK packages
npm install react-native-google-mobile-ads react-native-applovin-max- Configure app.json / native manifests
- iOS: add
GADApplicationIdentifierin Info.plist (via config plugin orexpo.ios.infoPlist). - Android: add AdMob App ID to
AndroidManifest.xml.
- Build with EAS (required to include native modules)
eas build --profile development --platform ios
eas build --profile development --platform android- Use the
RewardedAdButtoncomponent to show rewarded ads; the adapter will prefer the native SDK path if present.
I can scaffold the exact app.json changes and EAS config for AdMob/AppLovin if you want — tell me which provider(s) to prioritize and I will add the necessary config plugin entries and sample manifest edits.