серийный номер sim против imsi

Я создаю приложение для Android, которое будет лицензироваться на SIM-карте пользователя. Есть 2 возможных значения, которые я могу проверить:

  1. СЕРИЙНЫЙ НОМЕР SIM-карты: TelephonyManager.getSimSerialNumber();
  2. ИМСИ: TelephonyManager.getSubscriberId();

Поскольку я не хочу использовать оба, я думаю, что на самом деле нет никакой разницы, полагаться на один или на другой. Я прав или есть что-то, чего мне здесь не хватает?

Спасибо!


person Tsiftis Karampouzouklis    schedule 30.05.2013    source источник


Ответы (2)


Это зависит от того, что вы хотите.

Если лицензия работает, проверив, что серийный номер соответствует вашей базе данных в качестве примера.

Если пользователь устанавливает ваше приложение, а серийный номер сим-карты хранится в вашей БД, если пользователь удалит сим-карту и вставит новую сим-карту, лицензия будет недействительна, так как ваша БД не хранит серийный номер для новой сим-карты.

Если вы получаете на основе номера IMSI, то лицензия будет с устройством, поэтому, даже если пользователь заменит SIM-карту, лицензия все равно будет передаваться как использование вами идентификатора устройства.

Обратите внимание, что я не знаю, будет ли работать серийный номер SIM-карты или как он будет работать с устройствами, у которых нет SIM-карты, такими как устройства CDMA в США.

person Boardy    schedule 30.05.2013
comment
IMSI номер привязан не к устройству, а к SIM-карте. Если пользователь заменит SIM-карту на новую, новая SIM-карта будет иметь новый IMSI. - person Tsiftis Karampouzouklis; 30.05.2013

ICCID (серийный номер SIM-карты) — это серийный номер SIM-карты. Он уникален для каждой SIM-карты. IMSI — это SubsID. На самом деле это идентификатор сети.

Дополнительная ссылка: https://m.blog.naver.com/framkang/220363349346

person fturriaf    schedule 24.07.2020