2012-02-20 14 views
10

¿Los dispositivos Android tienen una sola dirección IP estática que un servidor podría identificarlos? Me estoy preguntando que eso permitiría a mi juego guardar datos sin necesidad de iniciar sesión.¿Los dispositivos Android tienen una dirección IP estática?

+0

No sé sobre IP, pero deben tener una dirección mac única. –

+0

Considere lo que sucede cuando el usuario reemplaza/actualiza el dispositivo y restaura los datos de una copia de seguridad o tarjeta SD. ¿Debería considerarse ese nuevo dispositivo del mismo usuario? Si es así, entonces probablemente no desee estar vinculado a ningún atributo del hardware o la configuración de red. –

Respuesta

13

Esto depende completamente de a qué están conectados. Por defecto, no. La mayoría de los dispositivos Android están configurados para DHCP para redes inalámbricas y no conozco ningún operador que asigne direcciones IP estáticas a dispositivos móviles en sus redes de datos.

6

Un dispositivo Android se puede conectar a través de WiFi y 3G, que obviamente tiene direcciones IP diferentes.
La dirección IP en 3G también cambiará cada vez que se vuelva a conectar.

8

Como otras personas ya han respondido, no, los dispositivos móviles generalmente no tienen una dirección IP estática y en su lugar usan DHCP para obtener una dirección IP dinámica.

Sin embargo, para responder a su pregunta base, puede generar un token único para el usuario que utiliza el java.util.UUID class. Guarde este token generado en las Preferencias Compartidas de su aplicación y puede usarlo para identificar a sus usuarios:

public static String getDeviceUuid(Context context) { 
    final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); 

    // Attempt to get an existing device uuid 
    String uuid = preferences.getString("device_uuid_key", ""); 
    if (TextUtils.isEmpty(uuid)) { 
     // We don't have a device id, generate one! 
     uuid = UUID.randomUUID().toString(); 

     // Persist the new id to shared preferences 
     final Editor editor = preferences.edit(); 
     editor.putString("device_uuid_key", uuid); 
     editor.commit(); 
    } 
    return uuid; 
} 
+0

¿Qué tal un cambio de dispositivo? ¿No alteraría esto el token? – simonmorley

+0

Sí, eso alteraría el token. Además, si desinstalan la aplicación, luego la reinstalan, obtendrían un nuevo token. Si desea identificarlos en todos estos cambios, deberá asociar el token con una cuenta de usuario (una dirección de correo electrónico o un nombre de usuario). De esta forma, pueden iniciar sesión en la cuenta cuando reinstalan su aplicación o cambian de dispositivo. – twaddington

Cuestiones relacionadas