10
votes

Les appareils Android ont-ils une adresse IP statique?

Les appareils Android ont-ils une seule adresse IP statique qu'un serveur pourrait les identifier? Je me demandais simce qui permettrait à mon jeu de sauvegarder des données sans avoir besoin d'une connexion.


2 commentaires

Je ne connais pas la propriété intellectuelle, mais ils devraient avoir une adresse MAC unique.


Considérez ce qui se passe lorsque l'utilisateur remplace / mette à niveau le périphérique et restaure les données d'une carte de sauvegarde ou de SD. Si ce nouvel appareil est-il considéré comme étant du même utilisateur? Si tel est le cas, vous ne voulez probablement pas être attaché à aucun attribut de la configuration matérielle ou réseau.


3 Réponses :


14
votes

Cela dépend entièrement de ce qu'ils sont connectés. Par défaut, non. La plupart des appareils Android sont configurés pour DHCP pour les réseaux sans fil et je ne connais aucun transporteur qui attribue des adresses IP statiques aux périphériques mobiles sur leurs réseaux de données.


1 commentaires

Je cherchais un moyen de réparer mon Android Mobile IP, via une sorte de spoofer proxy ou IP ou quelque chose, mais à rien aussi loin. J'essaie de sécuriser l'accès à distance à mon routeur à partir d'une seule adresse IP et je ne peux pas le faire de manière fiable si mon IP change tout le temps. Il ne semble pas y avoir rien d'utile sur le magasin de jeu au moins. Si je trouve quelque chose, je posterai de retour.



6
votes

Un appareil Android peut être connecté via WiFi et 3G, ce qui a évidemment différents IPS.
L'adresse IP sur 3G changera également chaque fois qu'elle se reconnecte.


0 commentaires

9
votes

Au fur et à mesure que les autres personnes ont déjà répondu, aucun appareil mobile n'a généralement pas d'adresse IP statique et utilisez plutôt DHCP pour obtenir une adresse IP dynamique.

Cependant, pour répondre à votre question de base, vous pouvez générer un unique jeton pour l'utilisateur à l'aide du classe Java.Util.uuid . Sauvegardez ce jeton généré sur les préférences partagées de votre application et vous pouvez l'utiliser pour identifier vos utilisateurs: P>

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;
}


2 commentaires

Qu'en est-il d'un changement d'appareil? Cela ne changerait pas le jeton


Oui, cela modifierait le jeton. En outre, si elles désinstallent l'application, puis réinstallez-la, ils obtiendraient un nouveau jeton. Si vous souhaitez les identifier à travers ces modifications, vous devrez finalement associer le jeton avec un compte d'utilisateur (une adresse électronique ou un nom d'utilisateur). De cette façon, ils peuvent se connecter au compte lors de la réinstallation de votre application ou de modifier des périphériques.