For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /it/docs/mobile/external-accounts.md (or send Accept: text/markdown).
Crea gli account mobile
Account Expo, Apple, Google Play e RevenueCat — a cosa serve ciascuno e quando crearlo.
Quando servono
La configurazione mobile quotidiana non ne richiede nessuno: Expo Go più un backend in esecuzione — EXPO_PUBLIC_API_URL in apps/mobile/.env.local — copre l'anteprima delle schermate e il test dell'accesso.
Crea questi account quando vai oltre Expo Go: un account Expo alimenta le build cloud di EAS, gli account degli store abilitano l'invio, RevenueCat verifica gli acquisti nativi, e il programma Apple è richiesto anche per Sign in with Apple durante la revisione dello store. Due costano denaro: Apple Developer costa 99 $ all'anno, Google Play è una registrazione una tantum da 25 $; Expo e RevenueCat hanno entrambi un livello gratuito.
Expo ed EAS
1. Apri expo.dev → Sign up, crea l'account e conferma l'email.
2. In un terminale esegui npx eas-cli@latest login e inserisci le stesse credenziali — eas è lo strumento da riga di comando per build e invii di Expo Application Services.
3. Dalla cartella apps/mobile esegui npx eas-cli@latest init per collegare il codice a un progetto EAS; scrive l'ID progetto nella configurazione app.json/app.config.ts. I profili di build eas.json sono già inclusi.
Atteso: npx eas-cli@latest whoami stampa il nome del tuo account e il progetto appare nella dashboard di expo.dev.
npx eas-cli@latest login
cd apps/mobile
npx eas-cli@latest init
npx eas-cli@latest whoamiIl programma Apple Developer
1. Apri developer.apple.com → Account → iscriviti all'Apple Developer Program — 99 $ all'anno; l'iscrizione individuale va bene.
2. L'iscrizione richiede un ID Apple con l'autenticazione a due fattori attiva e un nome legale corrispondente al metodo di pagamento; l'approvazione può richiedere uno o due giorni.
3. Questo unico account copre due requisiti: inviare l'app iOS all'App Store e Sign in with Apple — App Review lo richiede ogni volta che un'app iOS include login social di terze parti come Google o GitHub. Il kit lo collega tramite AUTH_APPLE_ENABLED più la coppia APPLE_CLIENT_ID/APPLE_CLIENT_SECRET sul backend.
La stessa iscrizione copre anche la firma desktop macOS — la guida agli account desktop spiega quel versante.
La Google Play Console
1. Apri play.google.com/console, paga la registrazione una tantum da 25 $ e crea l'account sviluppatore a nome tuo o della tua azienda.
2. Fermati all'account sviluppatore per ora — la scheda dell'app stessa si crea dentro la Play Console in fase di invio: il primo upload di una nuova app avviene sempre manualmente lì, e eas submit subentra dalla seconda release.
RevenueCat — solo se l'app vende contenuti
Salta del tutto questa sezione se l'app mobile non vende contenuti digitali né abbonamenti. Se sì: 1. apri revenuecat.com e crea un account gratuito, 2. crea un progetto, 3. registra al suo interno l'app iOS (si collega ad App Store Connect) e l'app Android (nome pacchetto Play più credenziali di servizio).
4. Crea i prodotti e un entitlement corrispondente ai tuoi prodotti dello store — il kit controlla l'entitlement configurato (REVENUECAT_ENTITLEMENT_ID, REVENUECAT_ENTITLEMENT_KEY) sul server prima di concedere l'accesso.
5. Copia la chiave SDK pubblica di ogni piattaforma in apps/mobile/.env.local e abilita il provider su entrambi i lati, come sotto. Le chiavi SDK sono valori client pubblici; REVENUECAT_SECRET_API_KEY e REVENUECAT_WEBHOOK_AUTHORIZATION sono solo lato server e appartengono all'ambiente del backend — mai in una variabile EXPO_PUBLIC_.
# apps/mobile/.env.local
EXPO_PUBLIC_MOBILE_PURCHASES_PROVIDER=revenuecat
EXPO_PUBLIC_REVENUECAT_IOS_API_KEY=your-public-ios-sdk-key
EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY=your-public-android-sdk-key
# apps/web/.env.local — server side
MOBILE_PURCHASES_PROVIDER=revenuecat
REVENUECAT_SECRET_API_KEY=your-secret-api-key
REVENUECAT_WEBHOOK_AUTHORIZATION=your-webhook-auth-valueProvider di accesso su mobile
L'accesso mobile riusa le stesse OAuth app di Google e GitHub che crei per il web — i callback restano {APP_URL}/api/auth/callback/<provider> perché Better Auth gestisce il lato server, e l'app torna tramite il suo schema di deep link EXPO_PUBLIC_APP_SCHEME. Non serve alcuna app provider extra solo perché il client è nativo.
L'eccezione è la revisione dello store iOS: distribuire pulsanti Google o GitHub su iOS richiede di offrire anche Sign in with Apple — ecco perché l'account Apple Developer sopra funge anche da dipendenza di accesso.
Cosa significa «finito»
Controlla ogni account prima di proseguire: npx eas-cli@latest whoami stampa il tuo account Expo e il progetto appare nella dashboard; l'iscrizione Apple Developer risulta Active; l'account Play Console esiste; il progetto RevenueCat elenca entrambe le app degli store con prodotti e un entitlement, e le sue chiavi sono nei file env giusti.
Poi prosegui nell'ordine — collegare il progetto, configurare gli acquisti se l'app vende contenuti, compilare per un dispositivo, inviare: