Я предполагаю, отслеживая, вы имеете в виду, что веб-сервис знает, что два разных запроса от одного пользователя?
Если это так, то вам просто нужно использовать стандартные веб-инструменты для этого: сеансы и куки.
Сделайте так, чтобы ваше приложение генерировало уникальный идентификатор при запуске, и отправляйте этот уникальный идентификатор в виде файла cookie или переменной при каждом обращении к веб-службе. Таким образом, вы действительно уникально идентифицируете их.
Также обратите внимание: Wifi может дать вам статический IP-адрес внутри сети, к которой подключено устройство, но не в Интернете. Внешний (публичный) ip, который вы можете получить, это ваш маршрутизатор. Большую часть времени и с большинством интернет-провайдеров, если по какой-то причине соединение не удается, маршрутизатор будет иметь новый IP-адрес. Кроме того, если два человека используют один и тот же маршрутизатор для подключения к вашему веб-сервису, у них будет один и тот же общедоступный IP-адрес.
EDIT : Обычный способ обеспечения большей безопасности - это тот, который используется большинством веб-сайтов: UID, используемый для аутентификации пользователя, генерируется веб-сервером (а не приложением) по первому запросу / аутентификация сеанса. Этот UID передается от веб-сервера в приложение, которое затем отправляет его при каждом запросе. Это ограничивает «кражу сеанса» продолжительностью сеанса.
Запрос, который не отправляет UID или UID, который не существует в базе данных, является незаконным.
РЕДАКТИРОВАТЬ 2 : ОП добавил в комментарии ниже, что он действительно хочет ограничить количество запросов, сделанных одним пользователем в определенное время. Практически это означает уникальную идентификацию устройства.
Один из способов сделать это - вычислить UID на устройстве при первом запуске и сохранить его на устройстве. Затем отправляйте этот UID в веб-сервис с каждым запросом. Веб-служба будет нести ответственность за ограничение числа обращений по определенному UID.
Примечание: Будьте внимательны при создании UID. Android как Android_ID , но известно, что он иногда равен нулю и со временем меняется. Этот парень, кажется, нашел не поддающийся легкому обману UID устройства :