У Android-устройств есть статический IP-адрес?

У Android-устройств есть один статический IP-адрес, который сервер мог бы идентифицировать? Мне интересно, что такое simce, которое позволит моей игре сохранять данные без необходимости входа в систему.

Ответ 1

Это полностью зависит от того, с чем они связаны. По умолчанию нет. Большинство Android-устройств настроены для DHCP для беспроводных сетей, и я не знаю ни одного оператора, который назначает статические IP-адреса для мобильных устройств в своих сетях передачи данных.

Ответ 2

Как уже говорили другие люди, нет, мобильные устройства обычно не имеют статического IP-адреса и вместо этого используют DHCP для получения динамического IP-адреса.

Однако, чтобы ответить на ваш базовый вопрос, вы можете создать уникальный токен для пользователя, используя класс java.util.UUID. Сохраните этот сгенерированный токен в своем приложении SharedPreferences, и вы можете использовать его для идентификации своих пользователей:

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

Ответ 3

Android-устройство может быть подключено через WiFi и 3G, что, очевидно, имеет разные IP-адреса.
IP-адрес 3G также будет меняться при каждом повторном подключении.