Проблема:
В одном из моих приложений для Android пользователям должно быть разрешено вносить изменения в текстовые данные на моем сервере (через HTTP-запрос) без необходимости входа или регистрации.
Чтобы предотвратить спам и злоупотребление этой функцией, я хотел бы указать одну установку моего приложения, чтобы я мог "запретить" эту установку. Конечно, пользователь, который злоупотребляет моим сервисом, может удалить приложение и загрузить его снова или что-то в этом роде. Но это действительно препятствие и делает злоупотребление приложением более сложным.
Поэтому мне нужно найти способ идентифицировать устройство Android или хотя бы одну установку.
Как можно прочитать здесь или здесь идентификатор физического устройства телефона Android не является хорошим решением. Так, что еще я мог сделать, чтобы достигнуть этого?
Моя идея:
Когда приложение запускается в первый раз, создайте (почти) уникальный хеш (возможно, SHA-512) текущей временной метки и огромное случайное число. Затем сохраните это значение во внутренней памяти и всегда используйте его для идентификации этого устройства или установки позже (по HTTP-запросам).
Что вы думаете об этом решении? Есть ли лучшие подходы?
Это почти то, что предлагает Блог разработчиков Android , верно? Но они действительно пишут во внутреннюю память? Они не используют openFileOutput (), как предложено здесь .
И, наконец, вопрос, который, возможно, немного глуп:
Как я могу использовать код, показанный в блоге разработчиков Android? Могу ли я добавить этот публичный класс в мой основной файл активности .java?
Большое спасибо заранее! :)