Следует ли использовать ANDROID_ID в качестве идентификатора устройства, учитывая отсутствие заводских настроек?
Я разрабатываю приложение для Android, в котором один пользователь может использовать приложение только на одном устройстве, используя ту же учетную запись Gmail (для входа в систему) . Если пользователь хочет войти в приложение на другом устройстве, он не сможет сделать это, используя ту же учетную запись Gmail. Я использую ANDROID_ID в своем приложении для идентификации уникального устройства с помощью следующей команды:
Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
Правильный ли это вариант в данном случае, поскольку я видел на веб-сайте разработчика, что
Avoid using hardware identifiers. In most use cases, you can avoid using hardware identifiers, such as
SSAID (Android ID), without limiting required functionality.
Android 10 (API level 29) adds restrictions for non-resettable dentifiers, which include both
IMEI and serial number. Your app must be a device or profile owner app, have
special carrier permissions, or have the READ_PRIVILEGED_PHONE_STATE privileged permission
in order to access these identifiers.
Ссылка на документ-
https://developer.android.com/training/articles/user-data-ids
Или есть другой способ сделать это? Заранее спасибо.
2 ответа
Если возможно, используйте FirebaseInstanceId в вашем случае использования. Идентификатор экземпляра Firebase предоставляет уникальный идентификатор для каждого экземпляра приложения и механизм аутентификации и авторизации действий.
Идентификатор экземпляра стабилен, кроме случаев:
Приложение удаляет идентификатор экземпляра
Приложение восстановлено на новом устройстве
Пользователь удаляет / переустанавливает приложение
Пользователь очищает данные приложения
В случае, если вы не хотите использовать FirebaseInstanceId, вы можете искать пользовательские глобально уникальные идентификаторы (GUID), чтобы однозначно идентифицировать экземпляр приложения.
String uniqueID = UUID.randomUUID().toString();
Вы можете использовать этот GUID для определения, подключено ли только одно устройство к идентификатору Gmail или нет.
Вы можете определить собственное правило для генерации уникального идентификатора , затем сохранить его на sp. каждый раз следует проверять получать и сравнивать с данными, которые предоставляет служба.
или вы также можете использовать идентификатор совета в качестве уникального идентификатора устройства.