Usamos cookies. Tienes opciones. Las cookies nos ayudan a mantener el sitio funcionando sin problemas e informar sobre nuestra publicidad, pero si deseas realizar ajustes, puedes visitar nuestro Aviso de cookies para más información.
Uso de cookies en su dispositivo. Las cookies nos ayudan a mantener esta página web funcionando correctamente y a personalizar nuestra publicidad, pero el uso que hacemos de las cookies depende de usted. Acepte nuestra configuración o personalícela.
×

Debugging Firebase Apps con Charles

Todos sabemos la importancia que ha tomado Firebase en el desarrollo de las aplicaciones móviles en los últimos años y sus numerosas aplicaciones. Sin embargo, su importancia en el mundo de los datos está, ahora, en su culmen.

Sobre todo con el nuevo lanzamiento por parte de Google de las propiedades Web+app, donde cambia drásticamente la forma de medir y analizar nuestros datos, utilizando un modelo “User first” centrado en los eventos y en los datos cross-device. Esto, ha provocado que las implementaciones en Firebase hayan cobrado una mayor relevancia en estos últimos meses y, por tanto, es importante saber cómo realizar las validaciones de forma correcta.

La forma idílica de realizar validaciones siempre será la proporcionada por la propia herramienta, es decir, utilizando StreamView y/o DebugView que son las proporcionadas por parte de Firebase. Sin embargo, en muchas ocasiones necesitamos validar implementaciones donde sólo disponemos de la app instalable y no tenemos acceso a Firebase. Entonces, ¿cómo podemos depurar en estos casos?

La respuesta es simple: utilizando un proxy debugger como Charles. Tiene una configuración simple, y en él podemos encontrar las peticiones de red que salen del dispositivo hacia Firebase con facilidad.

La ventaja de utilizar Charles reside en que éste realiza una traducción básica del formato batch de las peticiones realizadas por nuestro dispositivo, para que podamos visualizar un “texto plano”. Esta traducción no es completa debido a que el formato utilizado para su codificación, utiliza ciertos parámetros variables en función de las claves de los pares clave/valor utilizados en el contenido del mensaje para llevarla a cabo.

Sin embargo, la gran pregunta es, ¿cómo identificamos las peticiones dirigidas a Firebase?

Para ello, simplemente tenemos que filtrar por el término “app-measurement” que corresponde con el dominio al que se dirigen todas las peticiones. Puede que, debido a cómo funcionan los sistemas operativos de los distintos dispositivos móviles, estas peticiones no aparezcan instantáneamente en el momento requerido y requieran la espera de algún minuto.

Medición de app

 

Una vez tengamos nuestras peticiones visibles, iremos a la pestaña de “Contents” y dentro de ésta, al apartado “Text”. Aquí podremos ver, finalmente, el contenido de las peticiones:

App Measuremente content

Aunque el contenido no es visible al 100% pero sí que podemos sacar en claro algunos términos como el “screen name”(_sn) es “Tab1” o la “screen class” es “MainViewController”. Estos datos se disponen repetidas veces a lo largo del texto, pero los datos más importantes son informados en el párrafo final:

App measurement final

En este, observamos el elemento clave de la medición de Firebase, los eventos (“home_impression” en nuestro caso). Este siempre irá al comienzo del párrafo y acompañado del resto de parámetros, tanto por defecto como los personalizados. La mayoría de ellos no son visibles por la codificación pero, algunos como el sistema operativo, el dispositivo o el idioma son decodificados por la herramienta y son, fácilmente, identificables.

Con estos pasos terminamos esta guía en la que podemos depurar cualquier aplicación que utilice Firebase de forma muy básica y en tan sólo unos minutos!

Unirse al debate
En nuestra compañía