viernes, 7 de diciembre de 2012

Apps para seguir las ventas/descargas de tus apps

A todos nos gusta hacer un seguimiento de las ventas/descargas de nuestras apps, aunque en ocasiones, las páginas oficiales no ofrecen todos los datos que nos gustaría tener, o simplemente, nos parece "engorroso" tener que acceder a sus webs cada día para mirar esos datos.

A lo largo del tiempo, he ido descubriendo algunas apps muy útiles para tal fin, que me dispongo a compartir.


Appmonger (Google Play - 2,99€):

Appmonger es una aplicación Android que obtiene los datos de ventas de apps de nuestra cuenta de Google Checkout y nos muestra estos datos utilizando distintos tipos de gráficos, y con los filtros que nosotros le queramos aplicar, bien sean filtros por apps, por intervalos de fecha, etc. La app también nos permite añadir widgets al escritorio de nuestro móvil para poder ver los datos que queramos sin tener que abrir la aplicación, e incluye notificaciones.

La única "pega" de esta app es que al hacer ella misma el cambio de divisas, a final de mes puede que nos varíe un poco el importe total de ventas, pero nada exagerado.

Sin duda alguna, una app muy recomendable, y más por su reducido precio.


Andlytics (Google Play - Gratis):


Andlytics es una aplicación Android que nos extrae los datos de nuestra cuenta de desarrollador android, y nos permite ver todos los datos de nuestras apps, comentarios, descargas totales, descargas activas, puntaciones... Un detalle a destacar de esta app es que si usamos AdMob para monetizar alguna de nuestras apps, lo podemos especificar y podemos ver también el revenue que tenemos para esa app.

La aplicación también nos permite recibir una notificación en cuanto detecta un cambio en los datos de alguna de las apps, así como exportar e importar los datos.

Otra aplicación más que recomendable para los desarrolladores Android.


AppViz2 (MacOs - $49):

AppViz2 es una aplicación para MacOs que obtiene los datos de nuestra cuenta de desarrollador iOS, y nos las muestra con unos gráficos que nos permiten ver cómo evolucionan las descargas/ventas de nuestras apps de una manera muy rápida y visual. AppViz2 no tan sólo nos muestra las descargas/ventas de nuestras apps, sino que también nos muestra la posición que ocupan nuestras apps en los distingos ránquings de la AppStore. 

Desde la aplicación también podremos ver todos los comentarios que dejan en la AppStore los usuarios.

Pese a su precio, si tienes aplicaciones subidas al AppStore, la facilidad de uso y toda la información que nos muestra hacen que esta sea una aplicación más que recomendable.


App Annie (Web - Gratis/Pago):

App Annie es una web que engloba distintos servicios para desarrolladores, y entre ellos están el poder hacer un seguimiento de las descargas/ventas diarias en los distintos markets de las distintas plataformas, así como de su posición dentro de estos markets. Además ofrecen servicios de análisis de estos datos/estadísticas.

Sin duda alguna vale la pena registrarse en esta web, ya que además de poder recibir un mail diario con los datos de nuestras apps, tienen un seguimiento del posicionamiento de las apps en los distintos markets que vale mucho la pena.

miércoles, 24 de octubre de 2012

Mi propia classe "Log"

La mayoría de programadores Android utilizamos la classe Log. Para el que no la conozca, esta classe nos permite mandar "mensajes" que podemos ver con el LogCat, y esto resulta útil para poder ver el valor de una variable en un punto determinado, o si se ha llamado a un método en concreto, para verificar el ciclo de vida de un Activity, y así un largo etc.

El "problema" es que si no quitamos (o comentamos) estos "menajes", también serán visibles para los usuarios de nuestras apps si consultan el Log en su terminal, o si miran el LogCat conectando su terminal a un PC, y esto no siempre queremos que ocurra.

Para evitar esto, en su tiempo cree una classe propia que permite mostrar/ocultar todos estos Logs cambiando sólo un parámetro, y la comparto con vosotros por si os resulta útil...

La classe en cuestión es esta:


public class MyLog {

 private static final Boolean LOGS_ON = true;

 // Send a DEBUG log message.
 public static void d(String tag, String msg) {
  if (LOGS_ON) {
   Log.d(tag, msg);
  }
 }

 // Send a DEBUG log message and log the exception.
 public static void d(String tag, String msg, Throwable tr) {
  if (LOGS_ON) {
   Log.d(tag, msg, tr);
  }
 }

 // Send an INFO log message.
 public static void i(String tag, String msg) {
  if (LOGS_ON) {
   Log.i(tag, msg);
  }
 }

 // Send a INFO log message and log the exception.
 public static void i(String tag, String msg, Throwable tr) {
  if (LOGS_ON) {
   Log.i(tag, msg, tr);
  }
 }

 // Send an ERROR log message.
 public static void e(String tag, String msg) {
  if (LOGS_ON) {
   Log.e(tag, msg);
  }
 }

 // Send a ERROR log message and log the exception.
 public static void e(String tag, String msg, Throwable tr) {
  if (LOGS_ON) {
   Log.e(tag, msg, tr);
  }
 }

 // Handy function to get a loggable stack trace from a Throwable
 public static void getStackTraceString(Throwable tr) {
  if (LOGS_ON) {
   Log.getStackTraceString(tr);
  }
 }

 // Send a VERBOSE log message.
 public static void v(String tag, String msg) {
  if (LOGS_ON) {
   Log.v(tag, msg);
  }
 }

 // Send a VERBOSE log message and log the exception.
 public static void v(String tag, String msg, Throwable tr) {
  if (LOGS_ON) {
   Log.v(tag, msg, tr);
  }
 }

 // Send a WARN log message.
 public static void w(String tag, String msg) {
  if (LOGS_ON) {
   Log.w(tag, msg);
  }
 }
}


Y para usarla tan sólo tendremos que utilizar "MyLog.i(tag, msg)" en lugar de "Log.i(tag, msg)". Si queremos ocultar todos los logs, simplemente cambiamos el valor de la constante LOGS_ON a "false" y ya no se mostrará ningún Log.

domingo, 14 de octubre de 2012

Primer post...

A pesar de que nunca he sido muy bloguero, llevo tiempo con ganas de tener un sitio en el que poder compartir todo tipo de cosas relacionadas con el mundo de la programación Android, así que me he decidido a crear este blogger, a ver cómo va la cosa...