PubblicazionePubblicare sugli store di app
Progetto nativo
Il progetto completo per il telefono, per annunci, acquisti e uno sviluppatore che se ne occupa.
Native ti dà l’intera app come progetto per il telefono, in un unico ZIP o inviata a un repository GitHub. Per prima cosa dagli il nome dell’app e un ID app come com.yourcompany.yourapp: l’ID è il modo in cui gli store riconoscono la tua app e non può cambiare una volta pubblicata.
La finestra mostra poi i comandi esatti per compilarla, per Android e per iPhone:
npm install && npm run build
npx cap add android
npm run icons
npx cap sync && npx cap open androidSu iPhone, ios prende il posto di android e l’ultimo comando apre Xcode.
Da qui in poi è il percorso degli store stessi: firma l’app in Android Studio o Xcode, caricala, provala, compila la scheda dello store e pubblica. Conserva con cura la chiave di firma di Android e le sue password. Ogni aggiornamento deve essere firmato con la stessa chiave. Senza Android Studio né Mac, GitHub può compilarla per te: Compilare nel cloud.
Ottenere il progetto: download o GitHub
Al passaggio 1, Download the project ha due campi, App name e App ID. L’ID parte da com.setherion. più il nome dell’app e deve essere scritto nella forma a dominio invertito. Download project (.zip) crea uno ZIP che porta il nome dell’app. Contiene il progetto web, i file per il telefono, un schema.sql se l’app ha tabelle, l’eventuale grafica del gioco e le immagini dell’icona e della schermata di avvio. Serve un piano a pagamento.
In alternativa, or push to GitHub: collegati con Connect with GitHub, oppure incolla un token, scegli un Repo name e premi Export to GitHub. Il repository viene creato privato e Open repo ti ci porta. Anche questo richiede un piano a pagamento.
Native su Android, passo dopo passo
- Scarica il progetto, come sopra.
- Compilalo. Servono Node 22 e Android Studio. Esegui i comandi che mostra la finestra. Se l’app usa annunci o acquisti,
npm run native:setupviene aggiunto doponpx cap add android. - Firmalo. In Android Studio scegli Build, poi Generate Signed App Bundle. Crea una chiave e conservala insieme alle sue password: ogni aggiornamento richiede la stessa chiave.
- Caricalo e provalo. Crea l’app in Play Console, carica il file .aab su Internal testing, poi compila la scheda dello store, la classificazione dei contenuti e Data safety. Con gli annunci dichiari anche l’ID pubblicitario.
- Pubblica. La revisione richiede da poche ore a due giorni. Un account Google Play personale aperto dopo novembre 2023 ha prima bisogno del test chiuso.
Native su iPhone, passo dopo passo
- Scarica il progetto: lo stesso ZIP di Android.
- Compilalo. Servono un Mac con Xcode e l’account sviluppatore Apple da $99 all’anno. Esegui gli stessi comandi con
iosal posto diandroid. - Firmalo e caricalo. In Xcode apri Signing & Capabilities e scegli il tuo team. Con annunci o acquisti aggiungi In-App Purchase. Poi Product, Archive, Distribute, verso App Store Connect.
- Provalo sul tuo iPhone con TestFlight.
- Compila la scheda dello store e inviala in revisione. Con gli annunci, Apple li considera tracciamento.
Compilare nel cloud
Niente Android Studio e niente Mac: GitHub può compilare l’app sui propri computer. Invia il progetto a GitHub al passaggio 1 e il repository riceve due workflow di compilazione, uno per Android e uno per l’iPhone. Il passaggio Build it mostra poi Build it in the cloud, con un pulsante verso la pagina del workflow su GitHub.
Su GitHub apri Actions, scegli Android build o iPhone build, premi Run workflow e scegli cosa compilare:
| Workflow | Scelta | Cosa ottieni |
|---|---|---|
| Android build | Test APK | Un’app da installare sul tuo telefono, tra gli Artifacts dell’esecuzione. Niente da configurare. |
| Android build | Make a new key | La chiave di firma, creata una volta prima del tuo primo caricamento su Google Play. Solo in un repository privato. |
| Android build | Google Play bundle (.aab) | Il file firmato per la Play Console, con un numero di versione più alto a ogni esecuzione. |
| iPhone build | Check that it builds | La prova che l’app si compila per l’iPhone. Nessun account Apple necessario. |
| iPhone build | TestFlight | L’app firmata e inviata ad App Store Connect, da installare con TestFlight. |
Un repository privato ha 2.000 minuti gratuiti al mese sui computer di GitHub. Una compilazione Android ne usa pochi, e GitHub conta un minuto di Mac come dieci. Il README del repository spiega ogni passaggio.
Prima del primo Google Play bundle
- Esegui Make a new key e scarica upload-key dall’esecuzione.
- Conserva
upload.jkse la sua password al sicuro, fuori dal repository. Ogni aggiornamento deve essere firmato con la stessa chiave. - Nel repository apri Settings, Secrets and variables, Actions e aggiungi tre secret, ciascuno con il testo del suo file:
ANDROID_KEYSTORE_BASE64,ANDROID_KEYSTORE_PASSWORDeANDROID_KEY_ALIAS. - Esegui Google Play bundle (.aab) e carica il file in Internal testing nella Play Console.
Prima della prima compilazione per TestFlight
- In App Store Connect crea l’app, con lo stesso ID del passaggio 1.
- In Users and Access, Integrations, App Store Connect API, genera una chiave con il ruolo Admin e scarica il suo file .p8. Apple te lo lascia scaricare una sola volta.
- Nel repository aggiungi quattro secret:
APPLE_TEAM_ID(Membership details su developer.apple.com),ASC_KEY_ID,ASC_ISSUER_IDeASC_KEY_P8, il testo del file .p8. - Esegui TestFlight. Pochi minuti dopo la compilazione è in App Store Connect, sotto TestFlight. Il workflow dice ad Apple che l’app usa solo crittografia standard, quindi TestFlight non lo chiede.
Una connessione a GitHub fatta prima della compilazione nel cloud non può aggiungere i workflow: il passaggio lo dice, e Reconnect al passaggio 1 risolve.
Gli account nell’app per telefono
Nell’app per telefono le persone accedono con e-mail e password. Il pulsante Google e il link di accesso via e-mail lì si nascondono. Ecco perché il controllo del Delete account button conta: Apple rifiuta un’app a cui le persone possono registrarsi senza.
Annunci e acquisti
Un gioco che mostra annunci o vende qualcosa funziona davvero solo nel progetto Native: annunci da Google AdMob, acquisti dagli store tramite RevenueCat. Nell’anteprima dell’editor sono finti (“Test ad”, “Test purchase”, nessun denaro viene preso), così puoi provarli, e sul sito pubblicato sono nascosti. Nella via facile il gioco gira senza di essi.
Il progetto parte con gli annunci di prova di Google, che non pagano nulla. Metti i tuoi ID degli annunci e le chiavi degli store in src/monetize.keys.json ed esegui npm run native:setup: il README del progetto dice da dove viene ciascuno.
Cosa va nel file delle chiavi
Il file contiene l’ID app di AdMob e gli ID delle unità pubblicitarie rewarded e interstitial per Android e iPhone, e le chiavi RevenueCat per ciascuno store (che iniziano con goog_ per Android e appl_ per iPhone). Senza le chiavi RevenueCat, o senza prodotti, non si vende nulla.
Per gli annunci veri, crea l’account AdMob, le app e le unità pubblicitarie, metti gli ID nel file, esegui npm run native:setup su cartelle native nuove e pubblica un file app-ads.txt sul sito web. Per gli acquisti, crea i prodotti in Play Console e App Store Connect con gli stessi ID di src/monetize.json e collega entrambi gli store in un progetto RevenueCat. Su iPhone, aggiungi la capability In-App Purchase.
Entrambi gli store vogliono il link a un’informativa sulla privacy ed è obbligatorio un pulsante Restore purchases: il progetto ne fornisce uno. Tra un annuncio e l’altro, l’app salta un interstitial nei primi 30 secondi, entro 60 secondi dall’ultimo e per un giocatore che ha acquistato il prodotto per rimuovere gli annunci.
Questa pagina ti è stata utile?
