21 de enero de 2016

iOS: Indentificando como único un dispositivo

La política de Apple para identificar dispositivos es a día de hoy muy restrictiva, no te dejan identificar un dispositivo por IMEI y por UDID, de hecho han bloqueado los accesos a estos datos desde hace unas cuantas versiones de iOS.

A día de hoy la única manera de identificar de manera única a un dispositivo facilitada por Apple es con el Identificador de Publicidad del dispositivo, pero este se puede resetear desde el móvil y además sólo está permitido usarlo si muestras publicidad en tu app, si no te la rechazarán cuando subas la aplicación a la tienda.

Nos toca por tanto recurrir a soluciones propias y rezar para que Apple no detecte en su proceso de revisión que estás identificando como único a ese dispositivo, tarea necesaria cuando no solicitas al usuario que tenga una cuenta en tu servidor.

En mi caso lo que hago es generar un identificador único y lo grabo como una preferencia de usuario, así nadie puede borrarlo salvo que desinstales la app.

Os pongo aquí el método:
- (NSString*)getGUIDString {
    CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    NSString *guid = (__bridge NSString *)newUniqueIDString;
    CFRelease(newUniqueIDString);
    CFRelease(newUniqueID);
    return([guid lowercaseString]);
}
Y aquí el código para guardar el dato como preferencia de usuario:
NSString *userGuid = [[NSUserDefaults standardUserDefaults] stringForKey:@"guid"];
if(!userGuid.length>0){
    NSString *guid = [self getGUIDString];
    [[NSUserDefaults standardUserDefaults] setValue:guid forKey:@"guid"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
Espero que os sea útil.

5 de enero de 2016

Como evitar que tu app sea una App Zombie

Las tiendas de aplicaciones de Apple y de Android están llenas de aplicaciones que nadie usa, aplicaciones sin descargas que pasan sin pena ni gloria al olvido. Estas aplicaciones son conocidas como Apps Zombies, hay millones de ellas, y su número crece cada día.

Obviamente no queremos que nuestras aplicaciones terminen así, ¿Cómo podemos evitarlo?

  1. ASO (App Store Optimization): Cuando publicas una app debes mimar al máximo los metadatos de la misma en las tiendas de Apple y de Google. Debes optimizar la elección del nombre de la app, su descripción, sus traducciones, las imágenes que pones y el vídeo de publicidad que te permiten ambas.
  2. Valoraciones de los usuarios: Consigue que los usuarios valoren tu app y dejen su opinión en la tienda, para ello es ideal el uso de recordatorios dentro de la aplicación con un acceso directo a valorar tu app.
  3. Blogs: Consigue que hablen de tu aplicación en la blogosfera, además de las descargas directas a través de los posts conseguirás en el caso de Google y Android subir en la tienda.
  4. Redes Sociales: Los usuarios tienen que hablar de tu app con sus conocidos, ponles fácil compartir contenidos interesantes que generen conversación. Asegúrate de tener presencia en Facebook, Twitter, Instagram, etc..., genera una conversación interesante alrededor de tu app.
  5. Publicidad: Sí, toca invertir dinero, tanto en publicidad en otras apps, como en publicidad en Google y redes sociales. También funciona bastante bien el intercambio de banners.
  6. FFF (Family, friends & fools): Familia, amigos y tontos, es decir, que todos los seres humanos que tengas a tu alcance sepan de tu app, la prueben, te den su opinión, evangelicen a los demás sobre ella y sobre todo... que no se la desinstalen, eso penaliza mucho.
  7. Feedback: Escucha a tu comunidad, deja el ego a un lado y escucha con atención para mejorar tu app.
  8. Actualizaciones: Actualiza tu app, aprende del feedback, de FFF y de las redes sociales, una app es un proyecto vivo, no vale con sacar una primera versión y echarte a dormir, hay que ir mejorándola.
  9. Planifica: El cementerio está lleno de proyectos de "genios" que tenían todo el plan en su cabeza. Contrasta los planes con gente de confianza abriendo bien los oídos y las orejas, los liderazgos de macho alfa de discoteca nunca llevan los proyectos a buen puerto.
Seguro que desde tu experiencia puedes aportar más puntos, desde mi experiencia estos son los consejos básicos que os puedo ofrecer :)