Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Android > Получить "реквизиты" устройства


Автор: JoeUser 10.11.17, 10:12
Буэнос диас, амигос!

Подскажите, пожалуйста, какие существуют способы/методы идентификации устройства (смартфона, планшета) на котором запускается приложение?
Речь идет об Андроиде и iOS, по возможности.

Автор: lastlogic 11.11.17, 03:29
Android:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    TelephonyManager cTM = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
     
    String IMEI = cTM.getDeviceId();


В манифесте должно быть прописано:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Если у планшета нет IMEI или он не доступен - только искусственным идентификатором.


------

Встречный вопрос к знатокам:
При скачивании приложения из PlayMarket можно ли определить какой-либо идентификатор этого скачивания, типа серийный номер приложения или номер скачивания, чтобы уникальным был для каждой скачки?

Автор: Nikolaiko 14.05.18, 12:28
На обоих платформах есть такое понятие как advertising identifier.

На iOS это класс ASIdentifierManager. Идентифицирует устройство однозначно, но пользователь может ограничить доступ к этому свойству. Поэтому нужно проверять : isAdvertisingTrackingEnabled у этого же класса. Ну и плюс Apple при публикации приложения, наверняка, спросит а зачем вы это используете?
Еще на iOS есть такой параметр : identifierForVendor у класса UIDevice. Но он уникален для только в рамках одного производителя. Плюс, нужно учитывать нюансы, которые указаны в документации свойства (поведение свойства при отладке и удалении приложения)

На Android обычно используют - getAdvertisingIdInfo класса AdvertisingIdClient если не ошибаюсь

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)