Подтвердить что ты не робот

Уникальность мобильного устройства для iOS и Android

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

Важно, чтобы это было достигнуто без какой-либо зависимости от номера телефона IMEI. Apple уже давно запретила его для iOS, и Google может сделать то же самое завтра для Android.

Для Android, по крайней мере, есть ANDROID_ID. Как насчет iOS? Нет ничего вообще?

Должен быть стандартный, надежный способ сделать это как для Android, так и для iOS. Меня интересуют любые/все/платные/бесплатные/родные/сторонние решения для того же самого. Что другие компании сделали для решения этой проблемы?

Я уже читал следующие сообщения:

1. Идентификация установок приложений.

2. Есть ли уникальный идентификатор устройства Android?

3. Получение уникальной сигнатуры идентификатора для каждого устройства Android.

4. Постоянный, перекрестный идентификатор устройства на iOS: использование брелка.

5. UIDevice uniqueIdentifier Устаревший - Что делать теперь?

6. Всегда получать уникальный идентификатор устройства в iOS 7.

7. iOS7 - уникальный идентификатор устройства.

8. Внедрение уникального идентификатора в качестве UUID и сохранение его в брелках.

Я хотел бы выйти за рамки этого. Что еще можно сделать? Существует ли всеобъемлющее, раз и навсегда, пуленепробиваемое решение?

4b9b3361

Ответ 1

Из сообщений, которые вы указали выше, на ваш вопрос уже есть ответы: на iOS сохраните сгенерированный UUID в цепочке ключей, чтобы он сохранялся даже после повторной установки. Тем не менее, factory reset очистит этот UUID, вы должны знать об этом ограничении. Это не надежное решение, поскольку оно ограничено платформой Apple, но все же оно достаточно хорошо и используется многими приложениями.

Ответ 2

Год назад я написал статью о решении, которое имеет тенденцию быть "пуленепробиваемым" для iOS: https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/.

В моем решении используется Apple IFA или IFV, а затем возвращается к случайному UUID, если эти идентификаторы недоступны. Уникальный идентификатор, который выбран, локально хранится на вашем NSUserDefaults, а также на Keychain (конечно, не синхронизирован с iCloud).

Таким образом вы можете удалить и переустановить приложение, а идентификатор устройства останется прежним. Я использую этот подход в миллионах устройств без каких-либо проблем;)

Cheers, Miguel