У Android-устройств есть один статический IP-адрес, который сервер мог бы идентифицировать? Мне интересно, что такое simce, которое позволит моей игре сохранять данные без необходимости входа в систему.
У Android-устройств есть статический IP-адрес?
Ответ 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 также будет меняться при каждом повторном подключении.