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


 
Herramientas
  #1  
Viejo 19/04/13, 12:28:17
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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??
Responder Con Cita


  #2  
Viejo 19/04/13, 12:43:42
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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 .
Responder Con Cita
  #4  
Viejo 24/04/13, 16:31:32
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Responder Con Cita
  #5  
Viejo 24/04/13, 16:56:42
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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.

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

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


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 18:39:07 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007