Configuraciones Generales de DrivingApp
DrivingApp utiliza servicios externos para consumir la información que muestra al usuario en la aplicación. El Orion ContextBroker de FIWARE es uno de estos servicios externos, este componente administra la información de contexto que produce la aplicación. Otros servicios que utiliza DrivingApp son los servicios web, estos tienen como función manipular las entidades de datos y las consultas de la aplicación móvil. Además estos servicios web permiten a la aplicación móvil administrar la información de las notificaciones que recibe la aplicación.
El proyecto DrivingApp contiene archivos de configuración para modificar las URLs de los servicios que utiliza la aplicación. Para modificar estos archivos siga los pasos siguientes:
1.- Descargar el proyecto DrivingApp
Puede consultar el proyecto de DrivingApp en este repositorio de Github. Si desea descargar el proyecto a través del software de control de versiones git, ejecute el siguiente comando en consola:
git clone https://github.com/cenidetiot/DrivingApp.git.
Además, Github también proporciona la opción de descargar un proyecto mediante un archivo comprimido .zip
2.- Abrir el proyecto DrivingApp en Android Studio
Cuando haya descargado el proyecto DrivingApp, ábralo con el entorno de desarrollo Android Studio. Para más información acerca la descarga y configuración de Android Studio visite el siguiente enlace
NOTA: El Android SDK número 23 está configurado como la versión mínima del proyecto DrivingApp.
3.- Configurar los servicios de la aplicación DrivingApp
Abra el proyecto DrivingApp en Android Studio y configure lo siguiente:
3.1 Configurar la conexión con una instancia Orion ContextBroker
El archivo config.properties
del proyecto DrivingApp está ubicado en la ruta: ngsi/src/main/assets/, y contiene las propiedades de configuración para la conexión con una instancia Orion ContextBroker. Este archivo define las propiedades: host
, port
y apiversion
, las cuales especifican lo siguiente:
- La propiedad
host
define la url ó IP de la instancia del Orion ContextBroker. - La propiedad
port
especifica el puerto de la instancia Orion ContextBroker definida. - La propiedad
apiversion
define la versión de la API del Orion ContextBroker.
Un ejemplo de la configuración del archivo config.properties
es la siguiente:
http.host = http://130.206.113.226 // Change it for your Orion host
http.port = 1026 // Change it form your Orion port
http.apiversion = v2 // Change if for your Orion api version
3.2 Configurar DrivingApp Service
DrivingApp utiliza DrivingAppService para manipular las entidades públicas (basadas en modelos de datos FIWARE) y las entidades privadas del proyecto. DrivingAppService proporciona una API RESTFul para la administración de estas entidades públicas y privadas que utiliza la aplicación móvil DrivingApp. Además, DrivingApp también utiliza el servicio DrivingAppService para realizar consultas de contexto y gestionar la información de las alertas. Puede consultar el código fuente de este servicio web en este enlace
Para configurar la URL de DrivingApp Service en el proyecto DrivingApp debe modificar el archivo ConfigServer.java
. Este archivo está en la ruta: cenidetsdk/src/main/java/mx/edu/cenidet/cenidetsdk/utilities/ del proyecto DrivingApp.
Un ejemplo de la configuración de este archivo es el siguiente:
http_host("https://smartsecurity-webservice.herokuapp.com")
3.3 Configuración del proyecto Firebase Cloud Messaging (FCM) para la aplicación DrivingApp
Firebase Cloud Messaging (FCM) es una solución multiplataforma en la nube para envío de mensajes y notificaciones a dispositivos Android, iOS y aplicaciones web. Este servicio es proporcionado por Firebase y actualmente se puede utilizar sin costo alguno. La aplicación DrivingApp utiliza los servicios de FCM para replicar las notificaciones de alertas a los dispositivos de los usuarios. Los algoritmos de la aplicación para el envío de alertas pueden utilizarse para replicar y recibir notificaciones de alertas, sin realizar modificaciones adicionales al código. Por otro lado, para implementar notificaciones de alertas personalizadas en DrivingApp ó en otra aplicación, realice las instrucciones que se presentan a continuación para configurar los servicios de FCM en la aplicación móvil:
1.- Acceda al sitio de Firebase en este enlace y seleccione la opción de Añadir Proyecto.
2.- Agregue un nombre de proyecto y seleccione el país o región. El nombre de proyecto puede ser DrivingApp o el nombre de la aplicación que esté desarrollando. Firebase agrega un número de serie al nombre del proyecto que lo identifica entre otros proyectos con nombre similar. Cuando haya completado esta información, de click en el botón Crear Proyecto.
3.- Firebase crea el proyecto y abre la vista de la consola con el menú de funciones. En esta vista debe seleccionar la opción Añade Firebase a tu aplicación móvil de Android para comenzar con la configuración de Firebase en su aplicación Android, como muestra la siguiente imagen.
4.- Registre su aplicación agregando el nombre del paquete de la aplicación Android. Si desea configurar DrivingApp nuevamente, el nombre de paquete es mx.edu.cenidet.drivingapp
; en cambio, si es una aplicación propia, agregue el nombre del paquete correspondiente. Cuando haya completado esta información, de click en el botón Registrar Aplicación.
5.- Descargue el archivo de configuración google-services.json
y muévalo a la carpeta principal del proyecto para añadir Firebase a su aplicación móvil Android. En el proyecto DrivingApp, este archivo de configuración está en la carpeta principal, debe reemplazarlo si desea configurar el proyecto nuevamente. Posteriormente de click en el botón Continuar.
6.- Modifique el archivo build.gradle
del proyecto y el archivo build.gradle
de la aplicación como se muestra en la imagen para utilizar el complemento de los servicios de Google para Gradle. Esta configuración ya se ha realizado en el proyecto DrivingApp, sin embargo, si está creando un nuevo proyecto a partir del código de DrivingApp debe modificar los archivos como se indica.
7.- Finalmente, Firebase le muestra las estadísticas de los usuarios que utilizan la aplicación Android configurada.