Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 19/04/13, 12:28:17
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Guardar un valor unico por smartphone

Necesito guardar un valor unico e irrepetible por smartphone (ya sea de la marca X o Y, o sea el modelo A o B). Es para un top 10 de puntuaciones con lo cual solo quedarian registrados 10 valores en el servicio web.

Estoy pensando en coger el numero de serie pero no lo tengo muy claro. Que opinais por aqui??
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita


  #2  
Viejo 19/04/13, 12:43:42
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Eso no existe en Android, yo tengo un problema parecido y sólo lo he podido solucionar a medias.

Tienes varias alternativas:

1ª) Usar el IMEI del móvil, el problema es que hay muchos móviles (entre otros el mio), que por liberación a lo burro me he quedado sin IMEI y tengo uno genérico. Igual ocurre con muchos móviles Samsung. Además las tablets que no son 3G no tienen IMEI.

2ª) Usar el ANDROID_ID, esta a priori parece la mejor opción, consiste en una cadena hexadecimal de 64 bits que se genera automáticamente cada vez que haces un Hard Reset del móvil. Como digo, se produce cada vez que haces Hard Reset, así que un mismo móvil cada vez que lo devuelves a estado de fábrica se le genera un ANDROID_ID nuevo. Y además se genera al azar, así que podría llegar a ocurrir que 2 móviles (o tablets, o móvil y tablet) llegasen a tener en algún momento el mismo ANDROID_ID, aunque bien es cierto que las probabilidades son pequeñísimas, pero la posibilidad existe.

Esto en iOS es más fácil, usas el UUID del móvil y a correr, aunque Apple en su gran reto de joder al desarrollador ha prohibido (recientemente, hace pocas semanas) que las aplicaciones nuevas usen el UUID del móvil fuera del móvil, así que no puedes hacer una aplicación que lo envíe.
Responder Con Cita
  #3  
Viejo 19/04/13, 13:06:38
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Okk ya me hago una idea. Yo habia pensado en el numero de serie porque imagino que en la propia marca ese valor no creo que se repita. Y en las diferentes marcas supongo que tendran su propia nomenclatura.

Lo del IMEI si lo conocia y lo descarte por lo que comentas. Yo tampoco tengo el imei real y por pereza asi se queda, jejej, el dia de mañana ya se haria algo.

PD: No se porque pero no me sorprende lo de apple .
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita
  #4  
Viejo 24/04/13, 16:31:32
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Ya estoy con este tema y lo he solucionado de la siguiente manera:

IMEI + dd/mm/aaaa + hh/mm/ss (encriptado a MD5 para que no haya problemas y a chutar)

Asi me aseguro al 100% un identificador unico para cada smartphone
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita
  #5  
Viejo 24/04/13, 16:56:42
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Hombre, usando IMEI + día + hora no te aseguras 100% que no va a ser único, pero si te lo aseguras al 99.99999999999999999999%, vamos, que va a ser casi imposible.

Pero, al hacerlo MD5 es cuando lo "jodes", el MD5 es un algoritmo de hashing no de cifrado, y por definición los algoritmos de hashing pueden tener colisiones. Es decir, 2 cadenas distintas de IMEI + dia + hora pueden generar el mismo MD5.

Volvemos a lo mismo, va a ser jodidamente difícil que colisionen, pero no puedes decir alegremente que has encontrado una solución 100% perfecta, cuando aún nadie en Android lo ha conseguido.
Responder Con Cita
  #6  
Viejo 24/04/13, 20:24:59
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Okk, entonces mejor fuera el MD5, pero los tiros no van tal mal no??

Lo dejaremos en "dia + IMEI + hora" ya que va a ser la mejor forma. Existe muy poca probabilidad de que coincidan varios a la vez en la misma decima de la hora y si a eso le sumas el IMEI..

Yo creo que se queda buen identificador.

Lo del MD5 lo decia por si acaso pasara algo, el identificador no va a estar expuesto en ningun momento.
__________________
Visita mi blog: EL BAUL DE ANDROID

Última edición por rinxe Día 24/04/13 a las 20:27:31.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android

Herramientas


Hora actual: 10:26:34 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /