Actualidad, Android, Informática

Tutorial ¿Cómo Implementar Firebase En Android?

Como bien sabes Firebase es una de las perlas que posee Google actualmente para el desarrollo móvil y web. En esta ocasión te mostraré cómo implementar Firebase en Android desde cero y verás que es muy intuitivo y sencillo de utilizar, así podrás decirle adiós a los web services, entre otras cosas.

 

Creación Del Proyecto En Firebase

Ingresamos a la consola de Firebase, nos damos de alta y presionamos en el botón <<Crear Nuevo Proyecto>>.

registro_proyecto_firebase

Ingresamos el nombre del proyecto y el país donde lo estamos desarrollando. En mi caso me encuentro en la ciudad de Guatemala, por lo cual seleccionaré dicho país.

crear_proyecto_firebase

El paso 1, será ingresar el nombre del dominio del paquete que tendrá nuestra aplicación. Luego de un apodo para el proyecto Firebase, y por último el certificado de firma SHA-1, el cual no utilizaremos en este tutorial, así que lo puedes dejar vacío.

paso1_firebase_consola

El paso 2, consta de descargar el json de google-services, tal como se puede ver en la captura de pantalla, indica que debes cambiar la vista de tu proyecto de <<Android a Project>>, te diriges a la carpeta app y pegas el json que recién descargaste.

paso2_firebase_consola

El paso 3 indica cómo integrar la clase path de google-services y el plugin del mismo:

paso3_firebase_consola

Finalizamos la creación del proyecto desde la consola de Firebase. Ahora pasemos con Android Studio:

Crea Tu Proyecto En Android Studio Con Firebase

Primero creamos nuestro proyecto en Android Studio:

crear_proyecto_androidstudio_firebase

Firebase Recomienda trabajar con la api 15:

api_androidstudio_firebase

De momento solo implementaremos Firebase en nuestro proyecto Android y luego seguiremos haciendo ejemplos más profundos y específicos, esa es la razón por la cual seleccionaremos un EmptyActivity para empezar:

actividad_firebase_androidstudio

nombre_activity_androidstudio_firebase

Abrimos nuestro archivo build.gradle del proyecto y escribimos esta dependencia:

gradle_project_androidstudio

Luego abrimos buil.gradle pero esta vez será de la carpeta app y colocamos el siguiente plugin:

gradle_app_plugin_firebase

Por último incluimos la dependencia core de Firebase, siempre en app.build.gradle:

dependencia_firebase_androidstudio

Si quieres saber más sobre las otras dependencias puedes echar un ojo a continuación:

otras_dependencias_firebase_completas

Por supuesto, como lo indique anteriormente debes incluir el json google-services.json dentro de la carpeta app:

google_services_tree

Cuando tengamos todo esto, procederemos a sincronizar el proyecto.

Primer Contacto Con Firebase

¡Excelente! Ya tienes implementado Firebase en tu proyecto Android y todo está genial. Puedes empezar a revisar las herramientas que puedes encontrar en la consola de Firebase:

herramientas_firebase_console

Cuando implementé Firebase por primera vez, fue ¡alucinante! No podía creer lo tan fácil y rápido que fue tener un base de datos tipo CRUD y obtener analiticas de la app. Fue increíble y cada vez lo siguen mejorando y agregando nuevas funciones. Pero como muchas cosas en esta vida tiene su lado bueno y malo, aquí te cuento 5 ventajas y desventajas de Firebase en 2017.

 

Notificaciones De Firebase

En el siguiente tutorial de Firebase con Android, te mostraré lo sencillo que es generar notificaciones tipo push con esta maravillosa tecnología de Google. No dudes en comentar y recuerda que utilizando firebase te ahorras tiempo y esfuerzo para el desarrollo de un monstruoso backend.

Actualidad, Android, Informática, Tecnología

5 Ventajas Y Desventajas De Firebase En 2017

Firebase es una de las compras más potenciales que ha tenido Google en los últimos 5 años, cuenta con una propuesta de valor súper interesante tanto para un equipo de marketing, como para un equipo de desarrollo. Entre la más famosas encontramos Firebase Analytics, Mensajería en la nube, Notificaciones tipo Push, base de datos en tiempo real, entre otras cosas. Pero no todo es color de rosa, tenemos claras ventajas y desventajas para el uso de esta revolucionaria plataforma de Google para este 2017.

introducing_firebase

Ventajas

 

  • Adios WebServices

Cuando desarrollamos una app móvil que deba conectarse a una base de datos en la nube, salen a presumir los programadores backend con sus habilidades en base de datos SQL y lenguajes como, php, java script o aún más, sus conocimientos en frameworks como Laravel y Node.js.

Sin embargo con Firebase, ya no tendrás que solicitar apoyo para la construcción de web services, api rest, configuración del servidor, etc.

realtime_database_firebase

Basta con tener la lógica de tu app móvil y tener un poco de conocimiento en base de datos (bueno, en realidad no necesitas saber prácticamente nada). Y tan fácil como implementar la librería y utilizar los ejemplos de la documentación de Firebase, será suficiente para realizar tu respectivo CRUD de usuarios.

multiplatform_firebase

Esto hará que tu equipo de desarrollo se enfoque en temas más trascendentales para el usuario, como la experiencia del mismo UX (User Experience).

Si te interesa, puedes ver: ¿Cómo funciona un api?

 

  • Multiplataforma

Esta ventaja le ha gustado a muchos desarrolladores. El hecho de tener una librería multiplataforma, se agradece demasiado. De esta manera podemos utilizar prácticamente la misma lógica del código para cada lenguaje de programación.

ios_android_firebase_together

Firebase está disponible para Android, iOS, C++ y Node.js <<Lastima por Windows Mobile>>.

Implementa Firebase ahora mismo en tu proyecto.

 

  • Push Notification

Facebook recién clausuró Parse, y con su cierre dejó huérfanas a miles de aplicaciones móviles que utilizaban este servicio. Parse ya estaba bien posicionado en el mercado pero por temas financieros el gigante de las redes sociales decidió dar fin al proyecto.

Así que Google vio una gran oportunidad para implementar Notificaciones tipo Push en la librería oficial de Firebase. De una manera intuitiva y genial, puedes implementar esta función con pocas líneas de código.

notification_firebase

  • Firebase Analytics

Esta probablemente sea de las funcionalidades más importantes de Firebase. Los análisis de datos hoy en día son indispensables, por lo que de alguna manera se deben medir los resultados de un producto en el mercado.

Para los marketers es necesario tener métricas al menos por semana, mes y año.

Firebase Analytics está enfocado a medir métricas específicas de una aplicación móvil. Muchas personas aún dudan si utilizar las analiticas de Google o Firebase. He utilizado las analiticas de Firebase y podría decir que tiene lo escencial para, medir mercados, conocer a tus usuarios, por cual canal se genera más tráfico e instalaciones, entre otras cosas, las puedes obtener fácilmente con Firebase.

El Dashboard es super sencillo de utilizar (a comparación de Google Analytics). Te puedo decir que Google Analytics esta enfocado más a sitios web, en cambio Firebase Analytics, está enfocado y optimizado para apps móviles y por supuesto para apps web.

firebase_analytics_reporting

 

  • Ganar Dinero con Firebase

Para retornar de manera sencilla la inversión en tiempo y desarrollo de tu proyecto, puedes implementar AdMob con Firebase. No quiero entrar en detalles de la publicidad para móviles, pero si te digo que es una manera muy fácil de obtener tu ROI (Retorno De Inversión).

firebase_admob

Desventajas

 

  • Límite de conexiones simultáneas

En la versión gratuita de Firebase solamente puedes tener como máximo, 100 conexiones simultáneas. Para conexiones simultáneas ilimitadas deberás pagar por una cuenta con más capacidad y funcionalidades.

Los precios los veremos en la desventaja #5.

 

  • Base de datos no tan complejas

 

Es cierto que con esta propuesta, probablemente abarcaremos el 90% de las situaciones para desarrollar nuestra app móvil. Pero y ¿el otro 10%?

Esta talvez será un situación difícil para los que tienen en mente construir un proyecto gigante, como hacer una red social compleja o una plataforma tipo Amazon, entonces sí deberás invertir en tu propio servidor y en desarrollo de backend para tu servicio web. De lo contrario será más que suficiente.

 

  • Algunas Funcionalidades no disponibles en las analiticas

Como es habitual de Google Analytics puedes echar un vistazo a tus usuarios activos en tiempo real y su localización. Esto no pase con las analiticas de Firebase. Pero como mencione anteriormente, Firebase está enfocado en apps móviles, no en la web. Por lo cual han decidido quitar esto y entre otras que si se encuentran en Analytics.

Pero Firebase traé otras analiticas que Google Analytics no provee.

 

  • Pruebas en la nube limitadas

El servicio de realizar testing de tu apk en la nube, es algo que nos ha gustado a todos. Pero tenemos restricciones en la versión gratuita. Solamente puedes hacer pruebas en 15 dispositivos por día, de los cuales, solo 5 dispositivos son físicos, los demás son virtualizados.

Cabe mencionar, que no son pruebas sencillas. Son pruebas donde Firebase utiliza un robot para hacer pruebas, como si un usuario tuviera tu app en su propio smartphone. <<Muchas de estas pruebas simulan a un usuario Dummy>>.

 

  • Precios

Aquí se pone interesante la cosa. En realidad tenemos muchas funciones (por no decir, casi todas) con la versión gratuita. Pero, no por tener todas las funcionalidades, significa que no hayan límites.

Mencioné varios situaciones donde habrá límites, como la conexiones de usuarios simultáneos. Para tener ilimitado deberemos pagar. Los planes que ofrece Firebase son los siguientes:

 

  • Spark (FREE).
  • Flame ($25 por mes).
  • Blaze (Pagas en medida a como lo requieras).

 

firebase_pricing

Talvez te preguntes, ¿Pagar en medida a como lo requiera? Bueno, significa que pagarías una cuota en base a tus resultados, es decir que puedes personalizar más tu plan y en base a lo que solicites así será tu mensualidad de pago.

Cuentame si continuarás invirtiendo tiempo y dinero en el desarrollo de tu backend o darás el salto hacia la plataforma por excelencia de Google para construir fácil y rápido tu propia api rest. Deja tu opinión en los comentarios o comparte tu experiencia con Firebase.

firebase_logo
Android, Informática, Tecnología

¿Qué es Firebase? Una Joya De Google

El 2016 fue un año espectacular para Google, en muchos sentidos. Pero fue Firebase quien en el mundo del desarrollo móvil sacó pecho y se colocoó como producto abanderado de Google. A continuación te explico ¿Qué es Firebase?.

Optimización para aplicaciones móviles

Firebase ya no solo es una librería, ahora es todo un entorno enfocado al desarrollo de aplicaciones móviles. Cuenta con distintas funciones como, analiticas, monetizacion, base de datos en tiempo real, notificaciones tipo push.

Como podrás notar cuenta para todo un equipo de desarrollo. Desde el equipo de marketing hasta el equipo de programadores. Lo genial de Firebase es que mantiene toda la información, configuración e implementación en un mismo lugar.

No necesitamos movernos de una plataforma a otra. Lo manejamos todo desde un dashboard intuitivo como lo puedes ver a continuación:

dashboard_firebase

Notificaciones Y Base De Datos En Tiempo Real

Seguramente esta sea de las características que más llama la atención del lado técnico. Las notificaciones tipo push en las apps cada vez se hace más popular, incluso hay apps que ponen push notifications para agradecer que hayas instalado la app. Prefiero de estas notificaciones, en vez de las que me molesta cada día para que ingrese a la app (es bastante incómodo, aunque si lo deseas puedes fastidiar de esa manera a tus usuarios).

La otra gran noticia es las bases de datos no relacionales en tiempo real que nos brinda Firebase. ¡Sí, señor! Puedes olvidarte de escribir backend para tus web services y de los benditos Json. Prácticamente se arma sola creando el modelo de la base de datos. En la documentación oficial de Firebase te explica cómo implementarlo en la plataforma que necesites.

Por cierto, Firebase está disponible para iOS, Android y Web (JavaScript, Node.js).

Firebase Abarcando Territorio

Si Google no ha apostado por la promoción de Go, definitivamente lo está haciendo por Firebase, es genial porque al final están brindando un fabuloso producto para los desarrolladores y marketers. Pueden sacarle mucho potencial por un lado tecnológico ya que no invierten tiempo en el desarrollo de una api rest o algo por el estilo.

Los marketers también agradecen el hecho de poder monetizar las apps con Admob (publicidad de Google) y con Firebase Analytics, que básicamente es similar a Google Analytics pero hasta cierto punto cada uno tiene lo suyo. Como por ejemplo:

Firebase Analytics se especializa en obtener datos estadísticos demográficos relacionados a los dispositivos móviles, en cambio Google Analytics se enfoca más del lado web.

Si quieres saber más de Firebase, descubrir cuales son sus pro y contras, te recomiendo este artículo de 5 Ventajas Y Desventajas De Firebase En 2017.

Entre las características más importantes encontramos:

caracteristicas_firebasecaracteristicas_firebasecaracteristicas_firebase

Ahora ya sabés que tienes alternativas para crear tu web service y obtener comunicación de una base de datos en la nube con un tu aplicativo móvil, sin importar la plataforma. (Excepto Windows Mobile, lo sentimos por Microsoft).