Tra le tante funzionalità di Instant Developer Cloud c’è la possibilità di pubblicare le app mobile mediante strumenti molto potenti: i launcher. Una volta configurato, un launcher permette di creare il progetto Cordova, di compilare un pacchetto ipa o apk e anche di inviare la nuova versione direttamente agli store.
In questo modo, anche se l’app è in produzione, è diventato davvero semplice aggiornarla per l’aggiunta di funzionalità: una volta terminata l’implementazione, bastano un paio di clic per mandare la nuova versione a tutti. Basta quindi dedicare qualche minuto per la compilazione e poi limitarsi ad attendere il tempo necessario per l’approvazione da parte di Google o di Apple.
Detto, fatto: un’operazione semplice e veloce. Ci sono, però, alcuni casi in cui determinati parametri applicativi devono essere inviati ai dispositivi molto frequentemente, talvolta anche su base giornaliera. In queste situazioni non è praticabile la strada dell’aggiornamento via store perché gli utenti si stancherebbero presto di ricevere una versione al giorno. Senza considerare un ulteriore ostacolo, vale a dire che il rollout degli aggiornamenti non sarebbe contemporaneo per tutti gli utenti.
I parametri di runtime
È proprio per casi come questo che abbiamo ideato una soluzione che permette l’aggiornamento immediato di tutti i launcher in esecuzione: i parametri di runtime.
Per leggere un parametro è sufficiente utilizzare il metodo app.getParameter().
Per impostare i parametri di runtime basta andare nella sezione Parametri di runtime del launcher ed aggiungere o modificare gli elementi di cui si ha bisogno. È sufficiente modificare i dati e tutti i launcher dell’applicazione riceveranno la configurazione aggiornata al prossimo avvio o la prossima volta che l’app torna in foreground.
Ma ci sono applicazioni utili? Certo!
Ad esempio si potrebbe mettere un parametro minVersion per indicare qual è la versione minima dell’app in produzione che si vuole far girare. Leggendolo nell’onStart o nell’onResume (cioè quando l’app parte o torna in primo piano) e confrontandolo con il valore di app.info.buildVersion, si potrebbero bloccare le installazioni degli utenti che non hanno aggiornato ed assicurarsi così di non avere un parco installazioni troppo frastagliato.
Ovviamente la condizione necessaria affinché sia possibile ottenere i nuovi parametri è che il dispositivo sia connesso alla rete. Tuttavia, a parte questo, l’unico reale limite è la fantasia.
Buon divertimento 🙂