En aquest tema, aprendrem com signar i publicar les nostres aplicacions desenvolupades amb Apache Cordova. La signatura és un pas crucial per garantir la seguretat i la integritat de l'aplicació, mentre que la publicació permet que els usuaris finals puguin descarregar i utilitzar l'aplicació des de les botigues d'aplicacions.
- Importància de la signatura d'aplicacions
Què és la signatura d'aplicacions?
La signatura d'aplicacions és el procés de crear una signatura digital per a la teva aplicació. Aquesta signatura garanteix que l'aplicació no ha estat modificada des que va ser signada i que prové d'una font confiable.
Per què és important?
- Seguretat: Protegeix l'aplicació contra modificacions no autoritzades.
- Autenticitat: Assegura als usuaris que l'aplicació prové del desenvolupador original.
- Requisit de la botiga d'aplicacions: Les botigues d'aplicacions com Google Play i Apple App Store requereixen que les aplicacions estiguin signades abans de ser publicades.
- Signatura d'aplicacions per a Android
Generació d'un Keystore
Un Keystore és un fitxer que conté una o més claus privades utilitzades per signar l'aplicació.
Passos per generar un Keystore:
- Obre una terminal o línia de comandes.
- Executa la següent comanda per generar un Keystore:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
- Se't demanarà que introdueixis una contrasenya i altres detalls com el nom, l'organització, etc.
Signatura de l'aplicació
Un cop tinguis el Keystore, pots signar l'aplicació.
Passos per signar l'aplicació:
- Assegura't que l'aplicació estigui construïda en mode de producció:
cordova build android --release
- Utilitza
jarsigner
per signar l'APK:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk my-key-alias
- Finalment, optimitza l'APK utilitzant
zipalign
:zipalign -v 4 platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk app-release.apk
- Signatura d'aplicacions per a iOS
Creació d'un certificat de desenvolupador
Per signar aplicacions per a iOS, necessites un certificat de desenvolupador d'Apple.
Passos per obtenir un certificat:
- Accedeix al Portal de Desenvolupadors d'Apple.
- Crea un nou certificat de desenvolupador seguint les instruccions del portal.
- Descarrega el certificat i instal·la'l al teu Mac.
Creació d'un perfil de provisionament
Un perfil de provisionament és necessari per executar l'aplicació en dispositius iOS.
Passos per crear un perfil de provisionament:
- Al Portal de Desenvolupadors d'Apple, crea un nou perfil de provisionament.
- Selecciona el certificat de desenvolupador i els dispositius en els quals vols provar l'aplicació.
- Descarrega el perfil de provisionament i instal·la'l al teu Mac.
Signatura de l'aplicació
Un cop tinguis el certificat i el perfil de provisionament, pots signar l'aplicació.
Passos per signar l'aplicació:
- Assegura't que l'aplicació estigui construïda en mode de producció:
cordova build ios --release --device
- Obre Xcode i carrega el projecte generat per Cordova.
- Selecciona el teu certificat de desenvolupador i el perfil de provisionament a la configuració del projecte.
- Construeix i signa l'aplicació des de Xcode.
- Publicació de l'aplicació
Publicació a Google Play
- Accedeix a la Google Play Console.
- Crea una nova aplicació i segueix les instruccions per completar la informació necessària.
- Carrega l'APK signat i optimitzat.
- Completa els detalls de la fitxa de l'aplicació (descripció, captures de pantalla, etc.).
- Publica l'aplicació.
Publicació a l'Apple App Store
- Accedeix a l'App Store Connect.
- Crea una nova aplicació i segueix les instruccions per completar la informació necessària.
- Utilitza Xcode per carregar l'aplicació a l'App Store Connect.
- Completa els detalls de la fitxa de l'aplicació (descripció, captures de pantalla, etc.).
- Envia l'aplicació per a revisió i, un cop aprovada, publica-la.
Exercici pràctic
Objectiu
Signar i publicar una aplicació Cordova per a Android.
Passos
- Genera un Keystore.
- Signa l'APK de l'aplicació.
- Optimitza l'APK.
- Publica l'aplicació a Google Play.
Solució
- Genera un Keystore:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
- Signa l'APK:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk my-key-alias
- Optimitza l'APK:
zipalign -v 4 platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk app-release.apk
- Publica l'aplicació a Google Play seguint els passos descrits anteriorment.
Conclusió
En aquesta secció, hem après la importància de la signatura d'aplicacions, com signar aplicacions per a Android i iOS, i com publicar-les a les respectives botigues d'aplicacions. La signatura i la publicació són passos crucials per garantir la seguretat i l'autenticitat de les aplicacions, així com per fer-les accessibles als usuaris finals.
Curs d'Apache Cordova
Mòdul 1: Introducció a Apache Cordova
- Què és Apache Cordova?
- Configuració del teu entorn de desenvolupament
- Creació del teu primer projecte Cordova
- Comprensió de l'estructura del projecte
Mòdul 2: Conceptes bàsics i APIs
- Plugins de Cordova
- Ús de l'API del dispositiu
- Accés a l'emmagatzematge del dispositiu
- Gestió de la informació de la xarxa
- Interacció amb la càmera
Mòdul 3: Interfície d'usuari i experiència d'usuari
- Construcció d'una interfície d'usuari responsiva
- Ús de Cordova amb frameworks (per exemple, Angular, React)
- Gestió de l'entrada de l'usuari
- Implementació de la navegació
Mòdul 4: Funcions avançades de Cordova
- Desenvolupament de plugins personalitzats
- Ús de codi natiu
- Optimització del rendiment
- Depuració i proves
Mòdul 5: Desplegament i distribució
- Construcció per a diferents plataformes
- Signatura i publicació d'aplicacions
- Directrius i millors pràctiques de l'App Store
- Integració i desplegament continus
Mòdul 6: Estudis de cas i aplicacions del món real
- Estudi de cas: Construcció d'una aplicació de llista de tasques
- Estudi de cas: Construcció d'una aplicació del temps
- Estudi de cas: Construcció d'una aplicació de xarxes socials
- Lliçons apreses i millors pràctiques