Идентификация устройства Android / установка (без физического идентификатора) - PullRequest
3 голосов
/ 18 августа 2011

Проблема:

В одном из моих приложений для Android пользователям должно быть разрешено вносить изменения в текстовые данные на моем сервере (через HTTP-запрос) без необходимости входа или регистрации.

Чтобы предотвратить спам и злоупотребление этой функцией, я хотел бы указать одну установку моего приложения, чтобы я мог "запретить" эту установку. Конечно, пользователь, который злоупотребляет моим сервисом, может удалить приложение и загрузить его снова или что-то в этом роде. Но это действительно препятствие и делает злоупотребление приложением более сложным.

Поэтому мне нужно найти способ идентифицировать устройство Android или хотя бы одну установку.

Как можно прочитать здесь или здесь идентификатор физического устройства телефона Android не является хорошим решением. Так, что еще я мог сделать, чтобы достигнуть этого?

Моя идея:

Когда приложение запускается в первый раз, создайте (почти) уникальный хеш (возможно, SHA-512) текущей временной метки и огромное случайное число. Затем сохраните это значение во внутренней памяти и всегда используйте его для идентификации этого устройства или установки позже (по HTTP-запросам).

Что вы думаете об этом решении? Есть ли лучшие подходы?

Это почти то, что предлагает Блог разработчиков Android , верно? Но они действительно пишут во внутреннюю память? Они не используют openFileOutput (), как предложено здесь .

И, наконец, вопрос, который, возможно, немного глуп:

Как я могу использовать код, показанный в блоге разработчиков Android? Могу ли я добавить этот публичный класс в мой основной файл активности .java?

Большое спасибо заранее! :)

1 Ответ

1 голос
/ 18 августа 2011

В моем текущем проекте Android я использую идентификатор Mac mac Bluetooth в качестве идентификатора, потому что то, что я прочитал об идентификаторе физического устройства, не является надежным. Конечно, мое приложение очень специализированное и в любом случае ТРЕБУЕТ Bluetooth и Интернет, так что это работает.

В частности, у меня есть способ позвонить на мой веб-сервер с телефона, передав идентификатор Bluetooth mac. Я могу проверить состояние лицензии (для испытаний / истечения срока действия), где вы можете проверить метод запрета, чтобы узнать, запрещен ли этот идентификатор.

Поскольку моему приложению требуется Bluetooth, для меня это отлично работает, поскольку [в основном] все идентификаторы Bluetooth для Mac должны быть уникальными.

Просто идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...