Dopo aver eseguito una prima configurazione del launcher, occorre configurare le schede delle applicazioni negli store in modo da reperire i certificati e le ulteriori informazioni necessarie alla compilazione e pubblicazione delle proprie applicazioni tramite launcher.
Scelta del bundle #
Ogni applicazione presente sugli store è rappresentata da un bundle, una stringa che identifica in modo univoco l’applicazione. Di solito il bundle è composto usando il nome della società e il nome dell’applicazione in notazione DNS inversa, ad esempio com.società.applicazione.
Se si pubblica la propria applicazione sia sull’App Store di Apple che sul Play Store di Google, occorre tenere presente che le app sui due store dovranno avere lo stesso bundle perché la console di Instant Developer Cloud permette di specificarne solo uno.
Occorre inoltre tenere presente che la console di Instant Developer Cloud non accetta bundle che contengono spazi.
Il bundle deve essere impostato nei parametri del launcher e, nel caso di pubblicazione sull’App Store, anche al momento della creazione dell’AppID. Il Play Store di Google, invece, non chiede di specificare esplicitamente il bundle ma lo ottiene in automatico dal pacchetto dell’app caricato sullo store in cui è presente il bundle impostato nel launcher.
Si consiglia quindi di partire dalla pubblicazione su App Store definendo il bundle con le regole indicate sopra; Play Store erediterà lo stesso bundle in fase di pubblicazione.
Preparazione per iOS #
Per ottenere tutti i dati e le credenziali necessarie per la pubblicazione dell’applicazione sull’App Store occorre seguire questi passaggi:
- Creare un AppID
- Creare la scheda dell’app
- Creare i certificati
- Creare una chiave per le app
- Creare il provisioning profile
Vediamoli uno a uno.
Creare un AppID #
Per ottenere l’identificativo dell’applicazione in App Store, occorre entrare nella console developer di Apple e scegliere Identificatori dalla lista Certificati, identificatori e profili.
Nella testata della lista degli identificatori, cliccare il pulsante “+” per aggiungere un nuovo identificatore, poi selezionare App ID e cliccare il pulsante Continua.
Nella videata successiva occorre scegliere il tipo di applicazione: selezionare App.
Nel form successivo occorre inserire il nome dell’app nel campo Nome; poi nel campo Bundle ID è necessario scegliere l’opzione Esplicito ed infine scrivere il bundle dell’applicazione, con le regole esposte nel paragrafo precedente.
Se si desidera inviare notifiche, occorre abilitare il servizio Push Notification nell’elenco dei servizi attivati per l’applicazione. Cliccare infine il pulsante Register per completare la creazione dell’App ID.
Creare la scheda dell’app #
Dopo essere entrati nella console developer di Apple, accedere alla sezione App Store Connect e cliccare su Le mie app.
Dall’elenco delle applicazioni, cliccare il pulsante “+” in alto a sinistra e selezionare Nuova app. Riempire il modulo con le informazioni di base dell’applicazione (nome, lingua, ecc…), selezionare il Bundle ID inserito durante la registrazione dell’App ID e poi cliccare su Crea.
A questo punto appare la scheda informativa della nuova applicazione nell’app store. Qui occorre fornire i tutti dati richiesti e fare l’upload degli screenshot, che possono essere ottenuti durante la fase di test dell’applicazione su InstaLauncher. Quando tutti i dati sono stati forniti, cliccare il pulsante Crea per completare l’operazione.
Per completare questa parte di configurazione occorre accedere alla sezione relativa alle informazioni dell’app, scegliendo la voce informazioni sull’app presente nel menu a sinistra e poi copiare il valore dell’Apple ID.
Questo valore dovrà essere impostato durante la configurazione del launcher nel campo App ID che si trova nella sezione iOS della videata che si apre scegliendo la voce di menu Config.xml.
Creare i certificati di distribuzione #
Per le operazioni necessarie ad ottenere i certificati è possibile utilizzare un sistema open source come openSSL, oppure utilizzare un sistema Mac e seguire questi passaggi:
- Aprire l’applicazione Accesso Portachiavi.
- Nella barra di sistema presente nella parte alta dello schermo cliccare su Accesso Portachiavi, poi scegliere Assistente certificato e infine Richiedi un certificato da un’autorità di certificazione.
- Scrivere l’indirizzo email e il nome nei rispettivi campi. Lasciare vuoto il campo Indirizzo e-mail CA.
- Selezionare l’opzione salvata su disco e cliccare il pulsante Continua.
A questo punto verrà scaricato il file di richiesta di firma del certificato. Occorre ora spostarsi nella console developer di Apple, cliccare su Certificati nella lista Certificati, identificativi e profili e, nella videata che si aprirà, cliccare sul pulsante “+” per aggiungere un nuovo certificato.
Scegliere poi l’opzione iOS Distribution (App Store o Ad Hoc) e cliccare su Continua.
Viene ora richiesto di fare l’upload del file di richiesta di firma del certificato creato in precedenza. Cliccare poi su Continua per proseguire. È ora possibile scaricare il certificato cliccando sul pulsante Download.
Dopo aver scaricato il certificato sul Mac, fare doppio clic sull’icona per installarlo nell’applicazione Accesso Portachiavi.
Selezionare ora il certificato dalla lista mostrata dall’applicazione e cliccare su di esso con il pulsante destro del mouse. Scegliere la voce Esporta <nome del certificato> dal menu contestuale e poi selezionare il formato p12. Verrà richiesta una prima password che verrà legata al certificato, da generare sul momento, e una seconda password che invece è quella usata per accedere all’applicazione Accesso Portachiavi. Prendere nota della password del certificato che dovrà essere inserita nella console di Instant Developer Cloud. Dopo aver inserito le password il certificato verrà scaricato.
Se, dopo aver installato il certificato, nell’applicazione Accesso Portachiavi compare un messaggio in rosso che avverte che il certificato non è valido, occorre installare il nuovo IntermediateCertificate. Per farlo è sufficiente scaricare il certificato da questo indirizzo e fare doppio clic sul file scaricato (maggiori informazioni si trovano qui).
Nota bene: lo stesso certificato di distribuzione può essere utilizzato per compilare e pubblicare più applicazioni; è sufficiente quindi crearne uno solo. Tuttavia, il certificato ha come scadenza un anno, quindi ogni anno occorre ripetere questa operazione.
Creare una chiave per la pubblicazione delle app #
Se non si dispone già di una chiave per la pubblicazione di app, occorre crearne una nuova per permettere alla console di Instant Developer Cloud di pubblicare l’applicazione.
Per creare una chiave per la pubblicazione di app occorre fare login nella pagina dell’account dell’Apple ID. Nella sezione Accesso e sicurezza cliccare sul link Genera password sotto Password specifica per le app. Dopo aver inserito un nome descrittivo per la password, cliccare su Crea per generare la password. A questo punto è possibile copiare la password e salvarla in un posto sicuro.
Impostare le credenziali nella console #
Si hanno ora a disposizione tutti i dati da impostare nelle credenziali usate dalla console di Instant Developer Cloud. Le credenziali si trovano nella videata che si apre cliccando il pulsante con il simbolo dell’ingranaggio e poi scegliendo App Store dal menu di sinistra.
Se le credenziali non sono ancora state create, occorre cliccare il pulsante + Aggiungi Credenziali. Se invece sono già presenti, è sufficiente espanderle cliccando sul pulsante con la freccia verso il basso.
Nella sezione iOS occorre indicare:
- l’email dell’Apple ID con cui si effettua l’accesso alla console Developer Apple.
- la chiave per la pubblicazione di app nel campo password dell’Apple ID.
- la password del certificato di produzione nel campo password del certificato. La password del certificato di produzione è quella generata in fase di esportazione del certificato dall’applicazione Accesso Portachiavi.
- Infine, nel quarto campo, occorre caricare il file del certificato in formato p12 esportato dall’applicazione Accesso Portachiavi.
Creazione del distribution provisioning profile #
Il distribution provisioning profile contiene informazioni che riguardano il certificato usato per firmare l’applicazione e l’App ID che identifica l’applicazione stessa. Viene usato dall’App Store per assicurarsi che l’applicazione è stata inviata allo store dal legittimo proprietario e per determinare quali autorizzazioni ha l’applicazione (notifiche push, camera, ecc.).
Per ottenerlo occorre fare login nella console developer di Apple e cliccare poi su Certificati, identificatori e profili. Scegliere poi Profili dal menu a sinistra e cliccare sul pulsante “+” per aggiungere un nuovo profilo. Selezionare l’opzione App Store e cliccare il pulsante Continua.
Nella videata che segue, scegliere dalla combo box l’App ID associato all’applicazione che si sta pubblicando e cliccare il pulsante Continua. Scegliere poi il certificato creato in precedenza, che verrà così incluso nel provisioning profile e cliccare di nuovo Continua. Scrivere un nome per il provisioning profile nel relativo campo e cliccare ancora Continua. A questo punto è possibile scaricare il provisioning profile cliccando il pulsante Download.
Il provisioning profile deve essere impostato nella sezione iOS della videata che si apre dalla voce di menu Config.xml nella videata del launcher.
Dopo aver completato la configurazione del launcher, sarà possibile inviare l’app all’App Store cliccando il pulsante Compila iOS, presente nella parte alta della videata che si apre dalla voce di menu Impostazioni, e poi cliccando Compila e invia.
Preparazione per Android #
Configurazione Play Console #
Per prima cosa, è necessario creare un account sviluppatore sulla Play Console o fare login usando un account esistente. Occorre poi aggiungere una nuova app nella Play Console e configurare la sua scheda.
Creazione del keystore #
Il keystore è un repository di certificati di sicurezza e chiavi private usate per firmare l’applicazione. È possibile creare il keystore e la chiave per firmare l’applicazione da Android Studio seguendo questa guida, oppure è possibile crearli da riga di comando con la seguente istruzione:
keytool -genkey -v -keystore <name>.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <alias-name>
Il comando keytool si trova nella cartella bin della directory della jdk. Se la jdk non è ancora stata installata, prima di proseguire occorre installarla.
Il campo <name> deve essere sostituito con un nome descrittivo che identifica il keystore. Il campo <alias-name> deve essere sostituito con un nome descrittivo che identifica la chiave che si sta aggiungendo al keystore.
Dopo aver eseguito il comando, verranno richieste una password per il keystore e una password per l’alias del keystore e verrà generato un file <name>.jks nella stessa directory in cui è stato eseguito il comando. È importante conservare in un luogo sicuro e non perdere mai né il keystore generato né le relative password.
Creazione account di servizio #
L’account di servizio permette alla console di Instant Developer Cloud di pubblicare l’applicazione sullo store.
Se si possiede già un account di servizio, è sufficiente aggiungere l’applicazione all’account già esistente. Si accede all’account di servizio dal menu Utenti e autorizzazioni della Play Console.
Se invece occorre creare un nuovo account di servizio, per prima cosa è necessario collegare l’applicazione ad un progetto creato nella Google Developer Console. Dalla Play Console occorre cliccare sul menu Settings e poi su API access.
cliccare poi il pulsante Create new project e successivamente Link project, accettando i termini di servizio quando viene richiesto.
Andare infine in fondo alla pagina e cliccare il pulsante Create new service account.
Verrà ora mostrato un popup con le istruzioni sulle prossime operazioni da seguire. Nel popup è presente un link che porta alla Google Cloud Platform. Cliccandolo si aprirà una nuova tab in cui occorre cliccare su + Create service account.
Nella videata che si aprirà occorre scrivere un nome per il service account. Il campo Service account description è opzionale mentre nel campo Service account ID occorre lasciare il valore preimpostato. Cliccare poi il pulsante CREATE.
Al passo successivo occorre aggiungere il ruolo Owner e cliccare Done e finalmente la creazione del service account è completa.
Affinché l’account di servizio sia correttamente configurato, occorre verificare che le Google Play Android Developer API siano abilitate per il progetto appena creato. Per verificarlo occorre:
- scegliere API Manager dal menu di sinistra della Google Cloud Console.
- cliccare Enable API.
- cercare Google Play Android Developer API.
- cliccare sulle API e poi su Enable.
Occorre ora scaricare il certificato associato all’account di servizio in formato p12. Per ottenerlo seguire questi passaggi:
- Aprire la pagina che mostra la lista degli account di servizio, cliccando la voce di menu account di servizio nel menu di sinistra della Google Cloud Console.
- Aprire il menu dell’account di servizio cliccando l’icona con i tre puntini a destra
- Scegliere Gestisci chiavi.
- Cliccare il pulsante Aggiungi chiave.
- Scegliere Crea nuova chiave e, nella videata successiva, scegliere il formato p12.
A questo punto verrà scaricato il certificato dell’account di servizio in formato p12. Prendere nota dell’email dell’account di servizio che viene generata automaticamente perché andrà impostata nel launcher insieme al certificato appena scaricato.
Ora occorre tornare sulla Play Console e cliccare su Concedi l’accesso sulla riga relativa al service account appena creato.
Creazione credenziali #
A questo punto si hanno tutti i dati necessari per poter impostare le credenziali per la pubblicazione nella console di Instant Developer Cloud e per preparare il launcher alla pubblicazione.
Se non sono ancora state create delle credenziali per gli store o se si vogliono utilizzare delle credenziali diverse da quelle che si hanno già, occorre aggiungerne delle nuove.
Per creare delle nuove credenziali occorre:
- cliccare sull’icona dell’ingranaggio nella toolbar in alto;
- scegliere App Store dal menu di sinistra;
- scegliere Aggiungi Credenziali per creare delle nuove credenziali.
Nella sezione Android occorre compilare i campi relativi all’alias del keystore, alla password dell’alias del keystore e alla password del keystore usando le credenziali appena create.
Occorre infine caricare il file .jks del keystore nel campo Keystore.
Scegliere infine le credenziali appena create nella combo della proprietà Credenziali app store presente nel pannello Impostazioni del launcher.
Impostazioni del launcher #
Per quanto riguarda le impostazioni del launcher occorre aprire la console di Instant Developer Cloud, cliccare sul launcher per aprire la videata delle proprietà e scegliere Config.xml dal menu di sinistra. Nella sezione Android scrivere l’email dell’account di servizio nel rispettivo campo e caricare il certificato.
Ottenere la chiave di caricamento #
Per poter pubblicare un’applicazione sul Play Store occorre creare un pacchetto, apk o aab, e firmarlo. Tutte le applicazioni Android vengono firmate dallo store stesso con una chiave privata, ovvero la chiave di firma dell’app che, nel nostro caso, è quella generata in precedenza e conservata nel keystore.
Occorre però anche firmare il pacchetto prima di caricarlo sullo store. La chiave da usare per questa operazione è la chiave di caricamento che sarà resa disponibile nella Play Console dopo un primo caricamento manuale del pacchetto.
A tal fine, e solo per il primo caricamento, occorre caricare il pacchetto a mano. Per creare il pacchetto, dopo aver completato la configurazione del launcher, occorre cliccare i pulsanti Compila Android e, di seguito, Compila presenti nelle videate Impostazioni o App e pacchetti del launcher.
Occorre poi scaricare il pacchetto in formato aab dalla sezione App e pacchetti del launcher e caricarlo sullo store seguendo questi passaggi:
- Dalla pagina principale della Play Console, selezionare l’applicazione che si sta pubblicando cliccando su di essa.
- Selezionare la voce di menu Test > Test interni dal menu di sinistra.
- Cliccare il pulsante Crea nuova release in alto a destra.
Occorre inoltre completare tutti gli step mostrati nella videata Test interni in modo che nello stato dell’app non sia indicato solo Bozza ma anche Test interni.
A questo punto sarà possibile caricare il pacchetto nella sezione App bundle.
Da questo momento in poi per pubblicare l’applicazione sullo store non sarà più necessario caricare a mano il pacchetto. Sarà possibile pubblicare cliccando il pulsante Compila Android nella videata Impostazioni o App e pacchetti del launcher e poi cliccando il pulsante Compila e invia.