Title: Publicar una APP: Splashscreen, icons, app signature
Course: CFGS - Desenvolupament d'aplicacions web > Section: Desenvolupament d'aplicacions mòbils

Splashscreen

Una splashscreen és una pantalla que es mostra automàticament quan s'inicia l'aplicació. Aquesta mateixa pantalla s'oculta també de forma automàtica passat un determinat temps.

En cordova per realitzar aquesta acció ens cal un plugin desenvolupat a tal efecte evitant tota la tasca de programació i relegant-ho a una simple tasca de configuració del plugin.

Primer cal incloure el plugin a l'aplicació, com sempre per fer-ho emprarem la consola e introduirem la següent instrucció:

cordova plugin add cordova-plugin-splashscreen


Un cop instal·lat aquest plugin, caldrà retocar la configuració de la APP, l'arxiu config.xml que es troba a la carpeta principal del projecte (només aquest)

En aquest arxiu apareixen diverses etiquetes, entre les quals trobarem aquelles destinades a configurar les opcions segons la plataforma.

Segons la splashscreen que vulguem crear ens caldrà afegir les linies corresponent dins la plataforma en qüestió o si es tracta d'una aplicació destinada a diferents plataformes, doncs a totes elles.

Cada etiqueta splash es correspon a una pantalla segons la grandaria del dispositiu o la orientació del mateix. La ruta d'aquesta imatge és relativa al projecte.

En aquest cas si les imatges les emmagatzemessim en la carpeta splash que es mostra en la següent jerarquia caldria posar:

src="www/img/splash/nom-splash.png"

Les dimensions per la plataforma android es mesuren en densitat, les seves correspondencies son:

Per iOS les dimensions s'especifiquen en pixels directament i cal que es compleixin escrupulosament ja que en el proces de generació de la APP XCode ho comprova i en cas de no coincidir la imatge no s'incrusta correctament o no es mostra. A continuació es mostren les correspondencies segons dispositiu.

Un cop configurat totes les splashscreen, cal que cordova copii les imatges on li correspongui i generi el codi necessari, per aquest motiu cal executar un cordova prepare

cordova prepare

En cas que alguna imatge no es trobi en el lloc especificat dins l'arxiu XML, ja sigui per error de sintaxi o d'ubicació, la mateixa instrucció mostrarà un error per pantalla que caldrà subsanar.

Un altre comportament que podem modificar de les splashscreen és:

- Temps durant el que es mostra la splashscreen
- Si s'oculta automàticament la splashscreen o es farà manualment
- En android si les imatges s'ajusten automaticament a la pantalla o es mostren tal i com estan definides
- En android si les splashscreen només es mostra la primera vegada que s'executa l'aplicació o cada cop que s'inicia

Aquests parametres també cal especificar-los per plataforma tal i com es mostra a continuació.

Més informació [ http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/index.html ]

Configuració icones

Per canviar les icones de l'aplicació segons la plataforma serà necessàri modificar l'arxiu config.xml que es troba en la carpeta principal del projecte. Segons es tracti de les icones per Android o iOS caldrà modificar l'apartat corresponent igual que en la configuració de les splashscreen.

En cas de tractar-se d'una aplicació per a iOS caldria especificar-ho així:

Igual que en les splashscreen en el cas de iOS cal respectar les grandaries per evitar que alguna icona no aparegui correctament, ja que en cas de produir-se error, es mostra la icona per defecte de cordova. Les rutes d'ubicació de les icones segueix el mateix principi que les splashscreen, cal indicar la ruta relativa a la carpeta principal del projecte. Un cop configurat, cal indicar a cordova que es propaguin aquests canvis emprant la instrucció cordova prepare

cordova prepare

En el cas que alguna imatge no es trobi disponible o hi hagi algun error en el seu nom apareixerà un missatge d'error en la consola indicant aquest fet i aturant el proces de configuració, de forma que caldrà revisar l'error i repetir la instrucció cordova prepare.

Signar la APP Android

Cal crear un perfil de signatura o utilitzar un ja existent

En alguns casos es pot generar una aplicació no alineada i cal alinear-la.

Comprovar si una APK està alineada

zipalign -c -v 4 android-release.apk

En cas que aquesta aplicació no es trobi alineada podem emprar la mateixa instrucció zipalign per alinear-la.

zipalign -f -v 4 android-release-unaligned.apk android-release-aligned.apk

A l'hora de publicar només podrem publicar APK que estiguin correctament alineades a 4 bytes (32 bits) sinó la mateixa plataforma Google Play ens indicarà aquest error i ens rebutjarà l'aplicació.