Introduzione
Questo articolo fa parte di una serie relativa ad Expo, un framework per le applicazioni React.
Se non conosci Expo, sei invitato a leggere i precedenti articoli di questa serie:
- Cosa è il framework Expo (Guida introduttiva flussi di lavoro)
- Come installare il framework Expo per React su Linux
- Come creare un App React con Expo Cli su Linux
Configurare l'app con app.json
In un'app gestita (managed) non abbiamo i progetti nativi iOS o Android da modificare, questo è gestito completamente da Expo. Quindi, quando vogliamo cambiare la configurazione come l'icona e l'immagine della schermata iniziale possiamo usare app.json
.
Pubblicare e condividere la tua app
Per condividere l'app con il proprio team possiamo eseguire il comando expo publish
, da terminale, per creare il pacchetto JavaScript e caricare tutte le risorse su una rete CDN. Maggiori informazioni sulla pubblicazione qui.
expo publish
Nota: Eseguire expo publish
caricherà il codice sorgente dell'app sulla CDN di Expo (con tecnologia CloudFront). Se preferisci ospitare tutto sui tuoi server, leggi come fare in Hosting di un'app sui tuoi server.
Quando viene eseguito il comando expo publish
la CLI ci avvisa dell'ottimizzazione delle risorse. Possiamo eseguire expo optimize
per ottimizzare le risorse, e se possibile renderemo le nostre risorse un po' più snelle. Ripubblicare dopo questo comando per raccoglierne i frutti. Al momento della pubblicazione ti viene dato un URL persistente che puoi condividere con i colleghi, ad esempio https://expo.io/@author/app-nam
. Questo link è determinato dal nome utente dell'account Expo e dal campo slug
nel progetto app.json
. Su iOS, puoi aprire solo i progetti che hai creato a meno che tu non abbia un piano prioritario, quindi anche i tuoi colleghi possono aprire i tuoi progetti. Un'altra opzione per poter aprire qualsiasi app gestita pubblicata all'interno del client Expo è quella di realizzare una build personalizzata del client Expo iOS. Leggi di più qui.
expo optimize
Build e deploy
iOS e Apple App Store
Prima di eseguire la build, è necessario impostare un bundleIdentifier
in app.json
.
...
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.example.app",
"icon": "./path/to/icon-ios.png"
},
...
Ora, quando eseguiremo expo build:ios
, si darà il via a una build con il servizio build di Expo. Ci verrà richiesto di inserire le credenziali per gli sviluppatori Apple, quindi premere Invio un paio di volte per consentire a Expo di gestire il certificato di distribuzione, la chiave push e il profilo di provisioning. Puoi anche fornire tutto questo da solo, cosa che potresti voler fare se sposti un'app esistente nel flusso di lavoro gestito (managed).
expo build:ios
Nota: il comando expo build:[ios/android]
utilizza il servizio build di Expo: se preferisci eseguire build sulla tua infrastruttura, leggi come eseguire questa operazione nella creazione di app standalone sul tuo CI
Ora potresti utilizzare l'Application Loader per caricare l'app su App Store Connect, ma troviamo invece più semplice da eseguire expo upload:ios
. Una volta su App Store Connect, dovrai fare un po' di lavoro manuale all'interno della loro interfaccia web. Ulteriori informazioni sulla distribuzione negli app store.
expo upload:ios
Android e Google Play Store
Le build Android seguono un processo simile alle build iOS, ma limiteremo le autorizzazioni di cui abbiamo bisogno qui solo a quelle che utilizziamo nell'app perché le autorizzazioni Android sono più statiche di iOS. L'equivalente di bundleIdentifier
per iOS è package
per Android:
...
"android": {
"icon": "./path/to/icon-ios.png"
"package": "com.example.app",
"permission": ["READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"]
},
...
Costruiremo un Android App Bundle (.aab
) qui perché vogliamo un binario più snello per il Play Store:
expo build:android --type app-bundle --release-channel android
Se vuoi installare il binario su un dispositivo locale per il test, non utilizzare il flag --app-bundle
e otterrai invece un file .apk
. Ora dobbiamo creare l'app in Google Play Console e caricarla manualmente tramite l'interfaccia web. Dopo la prima volta che hai caricato l'app, è possibile eseguire i caricamenti successivi con il comando expo upload:android
. Ulteriori informazioni sulla distribuzione negli app store.
expo upload:android
Creare e distribuire sul Web
Esegui il comando expo build:web
quindi carica la directory web-build
su qualsiasi host in grado di servire file statici.
expo build:web
Aggiornare l'app
Una volta che l'app è pronta per essere testata o è presente nei negozi, probabilmente non vorrai ripetere nuovamente il processo per apportare alcune piccole modifiche. Per inviare un aggiornamento, dobbiamo solo eseguire di nuovo expo publish
. Quando abbiamo creato il nostro pacchetto di app Android sopra, abbiamo indicato un canale di rilascio Android specifico (ulteriori informazioni sui canali di rilascio). Per pubblicare un aggiornamento sull'app per Android è necessario aggiornare anche quel canale di rilascio. Per determinare le regole per quando le app scaricheranno e applicheranno questi aggiornamenti, leggi informazioni sulla configurazione degli aggiornamenti OTA.
Vengono rilasciati spesso aggiornamenti all'Expo SDK. Se decidi di aggiornare l'app a una versione più recente dell'SDK, le copie della versione precedente continueranno a funzionare correttamente. Gli utenti scaricheranno la copia più recente supportata dal loro client.
Conclusione
In questo tutorial abbiamo visto come pubblicare le App con il framework Expo.
Qui puoi trovare tutti gli articoli dedicati ad Expo: